Reproducer: https://godbolt.org/z/jKrGW5jEh ``` #include <stdint.h> struct S1 { signed f0 : 9; unsigned f1 : 2; int8_t f2; }; struct S1 g; struct S1 func(struct S1* x) { x->f2 = 3; *x = g; return *x; } ``` `x->f2 = 3` is incorrectly eliminated by `DSEPass`. This miscompilation is caused by recent commit https://github.com/llvm/llvm-project/pull/81313.