Skip to content
  1. Sep 29, 2006
  2. Sep 28, 2006
  3. Sep 27, 2006
  4. Sep 26, 2006
    • Chris Lattner's avatar
      Compile: · ad4e7eb5
      Chris Lattner authored
      int x __attribute__((used));
      
      to:
      
              .data
      .comm _x,4              ; 'x'
              .no_dead_strip  _x
      
      on both x86 and ppc darwin targets.
      
      llvm-svn: 30605
      ad4e7eb5
  5. Sep 22, 2006
  6. Sep 20, 2006
  7. Sep 19, 2006
    • Chris Lattner's avatar
      Fold the PPCISD shifts when presented with 0 inputs. This occurs for code · 3c48ea54
      Chris Lattner authored
      like:
      long long test(long long X, int Y) {
        return 1ULL << Y;
      }
      long long test2(long long X, int Y) {
        return -1LL << Y;
      }
      
      which we used to compile to:
      
      _test:
              li r2, 1
              subfic r3, r5, 32
              li r4, 0
              addi r6, r5, -32
              srw r3, r2, r3
              slw r4, r4, r5
              slw r6, r2, r6
              or r3, r4, r3
              slw r4, r2, r5
              or r3, r3, r6
              blr
      _test2:
              li r2, -1
              subfic r3, r5, 32
              addi r6, r5, -32
              srw r3, r2, r3
              slw r4, r2, r5
              slw r2, r2, r6
              or r3, r4, r3
              or r3, r3, r2
              blr
      
      Now we produce:
      
      _test:
              li r2, 1
              addi r3, r5, -32
              subfic r4, r5, 32
              slw r3, r2, r3
              srw r4, r2, r4
              or r3, r4, r3
              slw r4, r2, r5
              blr
      _test2:
              li r2, -1
              subfic r3, r5, 32
              addi r6, r5, -32
              srw r3, r2, r3
              slw r4, r2, r5
              slw r2, r2, r6
              or r3, r4, r3
              or r3, r3, r2
              blr
      
      llvm-svn: 30479
      3c48ea54
  8. Sep 14, 2006
  9. Sep 12, 2006
  10. Sep 11, 2006
  11. Sep 09, 2006
  12. Sep 08, 2006
  13. Sep 06, 2006
  14. Sep 05, 2006
  15. Sep 04, 2006
    • Chris Lattner's avatar
      Completely rearchitect the interface between targets and the pass manager. · 12e97307
      Chris Lattner authored
      This pass:
      
      1. Splits TargetMachine into TargetMachine (generic targets, can be implemented
      any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by
      things using libcodegen and other support).
      2. Instead of having each target fully populate the passmgr for file or JIT
         output, move all this to common code, and give targets hooks they can
         implement.
      3. Commonalize the target population stuff between file emission and JIT
         emission.
      4. All (native code) codegen stuff now happens in a FunctionPassManager, which
         paves the way for "fast -O0" stuff in the CFE later, and now LLC could
         lazily stream .bc files from disk to use less memory.
      5. There are now many fewer #includes and the targets don't depend on the
         scalar xforms or libanalysis anymore (but codegen does).
      6. Changing common code generator pass ordering stuff no longer requires
         touching all targets.
      7. The JIT now has the option of "-fast" codegen or normal optimized codegen,
         which is now orthogonal to the fact that JIT'ing is being done.
      
      llvm-svn: 30081
      12e97307
  16. Sep 03, 2006
  17. Aug 29, 2006
  18. Aug 28, 2006
    • Reid Spencer's avatar
      For PR387: · e7141c8b
      Reid Spencer authored
      Close out this long standing bug by removing the remaining overloaded
      virtual functions in LLVM. The -Woverloaded-virtual option is now turned on.
      
      llvm-svn: 29934
      e7141c8b
  19. Aug 27, 2006
  20. Aug 26, 2006
  21. Aug 25, 2006
  22. Aug 23, 2006
  23. Aug 18, 2006
Loading