Skip to content
  1. Jun 24, 2004
  2. Jun 23, 2004
  3. Jun 22, 2004
  4. Jun 21, 2004
  5. Jun 20, 2004
  6. Jun 19, 2004
  7. Jun 18, 2004
  8. Jun 17, 2004
  9. Jun 16, 2004
  10. Jun 15, 2004
  11. Jun 14, 2004
  12. Jun 13, 2004
  13. Jun 11, 2004
  14. Jun 10, 2004
    • Chris Lattner's avatar
      Fix a bug in my checkin from last night that caused miscompilations of · ee59d4bf
      Chris Lattner authored
      186.crafty, fhourstones and 132.ijpeg.
      
      Bugpoint makes really nasty miscompilations embarassingly easy to find.  It
      narrowed it down to the instcombiner and this testcase (from fhourstones):
      
      bool %l7153_l4706_htstat_loopentry_2E_4_no_exit_2E_4(int* %i, [32 x int]* %works, int* %tmp.98.out) {
      newFuncRoot:
              %tmp.96 = load int* %i          ; <int> [#uses=1]
              %tmp.97 = getelementptr [32 x int]* %works, long 0, int %tmp.96         ; <int*> [#uses=1]
              %tmp.98 = load int* %tmp.97             ; <int> [#uses=2]
              %tmp.99 = load int* %i          ; <int> [#uses=1]
              %tmp.100 = and int %tmp.99, 7           ; <int> [#uses=1]
              %tmp.101 = seteq int %tmp.100, 7                ; <bool> [#uses=2]
              %tmp.102 = cast bool %tmp.101 to int            ; <int> [#uses=0]
              br bool %tmp.101, label %codeRepl4.exitStub, label %codeRepl3.exitStub
      
      codeRepl4.exitStub:             ; preds = %newFuncRoot
              store int %tmp.98, int* %tmp.98.out
              ret bool true
      
      codeRepl3.exitStub:             ; preds = %newFuncRoot
              store int %tmp.98, int* %tmp.98.out
              ret bool false
      }
      
      ... which only has one combination performed on it:
      
      $ llvm-as < t.ll | opt -instcombine -debug | llvm-dis
      IC: Old =       %tmp.101 = seteq int %tmp.100, 7                ; <bool> [#uses=1]
          New =       setne int %tmp.100, 0           ; <bool>:<badref> [#uses=0]
      IC: MOD =       br bool %tmp.101, label %codeRepl3.exitStub, label %codeRepl4.exitStub
      IC: MOD =       %tmp.97 = getelementptr [32 x int]* %works, uint 0, int %tmp.96         ; <int*> [#uses=1]
      
      It doesn't get much better than this.  :)
      
      llvm-svn: 14109
      ee59d4bf
    • Chris Lattner's avatar
      More minor cleanups · c8e7e298
      Chris Lattner authored
      llvm-svn: 14108
      c8e7e298
    • Chris Lattner's avatar
      Eliminate many occurrances of Instruction:: · df20a4d5
      Chris Lattner authored
      llvm-svn: 14107
      df20a4d5
  15. Jun 09, 2004
  16. Jun 03, 2004
  17. Jun 01, 2004
  18. May 28, 2004
  19. May 27, 2004
Loading