Fix redundant load of bit-fields on assignment (to get the updated
value).
- Use extra argument to EmitStoreThroughLValue to provide place to
write update bit-field value if caller requires it.
- This fixes several FIXMEs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59615 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/volatile.c b/test/CodeGen/volatile.c
index 4db4a5d..ed0a33e 100644
--- a/test/CodeGen/volatile.c
+++ b/test/CodeGen/volatile.c
@@ -1,4 +1,4 @@
-// RUN: clang -emit-llvm < %s | grep volatile | count 26
+// RUN: clang -emit-llvm < %s | grep volatile | count 25
// The number 26 comes from the current codegen for volatile loads;
// if this number changes, it's not necessarily something wrong, but
@@ -76,7 +76,7 @@
vpF2->x=i;
vF3.x.y=i;
BF.x=i;
- vBF.x=i; // FIXME: This generates an extra volatile load
+ vBF.x=i;
V[3]=i;
vV[3]=i;