llvm-6502/lib
Evan Cheng 02c4285643 Fixes a nasty dag combiner bug that causes a bunch of tests to fail at -O0.
It's not safe to use the two value CombineTo variant to combine away a dead load.
e.g. 
v1, chain2 = load chain1, loc
v2, chain3 = load chain2, loc
v3         = add v2, c 
Now we replace use of v1 with undef, use of chain2 with chain1.
ReplaceAllUsesWith() will iterate through uses of the first load and update operands:
v1, chain2 = load chain1, loc
v2, chain3 = load chain1, loc
v3         = add v2, c 
Now the second load is the same as the first load, SelectionDAG cse will ensure
the use of second load is replaced with the first load.
v1, chain2 = load chain1, loc
v3         = add v1, c
Then v1 is replaced with undef and bad things happen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46099 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-16 23:11:54 +00:00
..
Analysis Don't be rude, emit debugging info where asked to. 2008-01-02 02:49:20 +00:00
Archive
AsmParser If there are attributes on the varargs part of a 2008-01-11 21:23:39 +00:00
Bitcode
CodeGen Fixes a nasty dag combiner bug that causes a bunch of tests to fail at -O0. 2008-01-16 23:11:54 +00:00
Debugger
ExecutionEngine I doubt the address of the Error string was intended 2008-01-07 19:14:42 +00:00
Linker
Support
System Fix compile failures with g++-4.3. 2008-01-09 19:42:09 +00:00
Target Trampoline support for x86-64. This looks like 2008-01-16 22:55:25 +00:00
Transforms Handle attribute(used) global variables that are i8. 2008-01-16 21:35:43 +00:00
VMCore improve compatibility with mingw, patch by Alain Frisch 2008-01-15 22:50:50 +00:00
Makefile