Skip to content
  1. Sep 04, 2007
    • David Greene's avatar
      · c656cbb8
      David Greene authored
      Update GEP constructors to use an iterator interface to fix
      GLIBCXX_DEBUG issues.
      
      llvm-svn: 41697
      c656cbb8
  2. Aug 30, 2007
    • Dale Johannesen's avatar
      Change LegalFPImmediates to use APFloat. · d246b2ca
      Dale Johannesen authored
      Add APFloat interfaces to ConstantFP, SelectionDAG.
      Fix integer bit in double->APFloat conversion.
      Convert LegalizeDAG to use APFloat interface in
      ConstantFPSDNode uses.
      
      llvm-svn: 41587
      d246b2ca
  3. Aug 27, 2007
    • David Greene's avatar
      · 703623d5
      David Greene authored
      Update InvokeInst to work like CallInst
      
      llvm-svn: 41506
      703623d5
  4. Aug 25, 2007
  5. Aug 24, 2007
  6. Aug 21, 2007
  7. Aug 20, 2007
  8. Aug 18, 2007
  9. Aug 17, 2007
  10. Aug 16, 2007
  11. Aug 14, 2007
  12. Aug 13, 2007
    • Chris Lattner's avatar
      Constant fold: getelementptr (i8* inttoptr (i64 1 to i8*), i32 -1) · aadc7787
      Chris Lattner authored
      Into: inttoptr (i64 0 to i8*)  -> null
      
      This occurs in the example in PR1602.  With this fixed, we now compile
      the example in PR1602 into fully "devirtualized" code:
      
      define void @_Z1g1S(%struct.S* noalias  %s) {
      entry:        %tmp131415 = getelementptr %struct.S* %s, i32 0, i32 0          ; <i32 (...)***> [#uses=1]        %tmp16 = load i32 (...)*** %tmp131415, align 4          ; <i32 (...)**> [#uses=1]
              %tmp26277 = load i32 (...)** %tmp16             ; <i32 (...)*> [#uses=1]
              %tmp2829 = bitcast i32 (...)* %tmp26277 to void (%struct.S*)*           ; <void (%struct.S*)*> [#uses=1]
              tail call void %tmp2829( %struct.S* %s )
              ret void
      }
      
      This still has the vtable dispatch (as required) but does not have any pointer
      to method cruft left.
      
      llvm-svn: 41046
      aadc7787
  13. Aug 10, 2007
  14. Aug 08, 2007
    • Chris Lattner's avatar
      Speed up updateDFSNumbers with two observations: · 415750e1
      Chris Lattner authored
      1. domtree is a tree, not a graph.  There is no need to avoid revisiting nodes with a set.
      2. the worklist can contain the child iterator pointers so we don't get N^2 rescanning of children.
      
      This speeds up updateDFSNumbers significantly, making it basically free.  On the testcase in PR1432,
      this speeds up loopsimplify by another 3x, dropping it from the 12th most expensive pass to the to
      the 30th. :)  It used to be #1.
      
      llvm-svn: 40923
      415750e1
    • Chris Lattner's avatar
      reimplement dfs number computation to be significantly faster. This speeds up · c63d4c2e
      Chris Lattner authored
      natural loop canonicalization (which does many cfg xforms) by 4.3x, for 
      example.  This also fixes a bug in postdom dfnumber computation.
      
      llvm-svn: 40920
      c63d4c2e
  15. Aug 06, 2007
    • Chris Lattner's avatar
      1. Random tidiness cleanups · 67f1c333
      Chris Lattner authored
      2. Make domtree printing print dfin/dfout #'s
      3. Fix the Transforms/LoopSimplify/2004-04-13-LoopSimplifyUpdateDomFrontier.ll failure from last night (in DominanceFrontier::splitBlock).
      
      w.r.t. #3, my patches last night happened to expose the bug, but this 
      has been broken since Owen's r35839 patch to LoopSimplify.  The code
      was subsequently moved over from LoopSimplify into Dominators, carrying
      the latent bug.  Fun stuff.
      
      llvm-svn: 40858
      67f1c333
  16. Aug 05, 2007
  17. Aug 04, 2007
    • Chandler Carruth's avatar
      This is the patch to provide clean intrinsic function overloading support in... · 7132e00d
      Chandler Carruth authored
      This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
      
      This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
      
      llvm-svn: 40807
      7132e00d
  18. Aug 03, 2007
  19. Aug 02, 2007
Loading