ConstantFold: Don't optimize comparisons with weak linkage objects
authorDavid Majnemer <david.majnemer@gmail.com>
Sat, 6 Dec 2014 11:58:33 +0000 (11:58 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Sat, 6 Dec 2014 11:58:33 +0000 (11:58 +0000)
commit278bbacd274e5aa9e4a65641071c99b37583b25b
tree58ec505965c47ba2930ca9bf87d68831804e316d
parentd34c5a921fb97fb8bacfd5fc801c322c928e203c
ConstantFold: Don't optimize comparisons with weak linkage objects

Consider:
void f() {}
void __attribute__((weak)) g() {}
bool b = &f != &g;

It's possble for g to resolve to f if --defsym=g=f is passed on to the
linker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223585 91177308-0d34-0410-b5e6-96231b3b80d8
lib/IR/ConstantFold.cpp
test/Assembler/ConstantExprNoFold.ll