Displaying 1 result from an estimated 1 matches for "l00471".
Did you mean:
200471
2015 Jul 17
2
[LLVMdev] Suspicious behavior of mem2reg (promoteSingleBlockAlloca)
...other words, a load is replaced by a read from
a register corresponding to the nearest preceding store. The logic I
cannot understand is: "If there is no store before this load, the load
takes the undef value." (
http://llvm.org/docs/doxygen/html/PromoteMemoryToRegister_8cpp_source.html#l00471).
If the block is inside a loop, just writing the undef value is unsound, I
think.
Here is an example C code that I think Clang mis-compiles:
=====
void foo(unsigned char a, unsigned char b) {
if (b != 2) printf("%d ", (int) a);
}
int main() {
unsigned char a, b;
for (unsigned cha...