Skip to content
  1. Jan 17, 2008
    • Evan Cheng's avatar
      Fixes a nasty dag combiner bug that causes a bunch of tests to fail at -O0. · 7be15280
      Evan Cheng authored
      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.
      
      llvm-svn: 46099
      7be15280
  2. Jan 16, 2008
  3. Jan 15, 2008
  4. Jan 14, 2008
Loading