Skip to content
  1. Oct 31, 2010
  2. Oct 30, 2010
  3. Oct 26, 2010
  4. Oct 20, 2010
  5. Sep 21, 2010
  6. Jul 27, 2010
  7. Jul 24, 2010
  8. Jul 07, 2010
  9. Jul 04, 2010
  10. Jul 03, 2010
  11. Jun 30, 2010
  12. Jun 29, 2010
    • Bill Wendling's avatar
      Introducing the "linker_weak" linkage type. This will be used for Objective-C · 1767723d
      Bill Wendling authored
      metadata types which should be marked as "weak", but which the linker will
      remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
      defined like this:
      
             .globl l_objc_msgSend_fixup_alloc
             .weak_definition l_objc_msgSend_fixup_alloc
             .section __DATA, __objc_msgrefs, coalesced
             .align 3
      l_objc_msgSend_fixup_alloc:
              .quad   _objc_msgSend_fixup
              .quad   L_OBJC_METH_VAR_NAME_1
      
      This is different from the "linker_private" linkage type, because it can't have
      the metadata defined with ".weak_definition".
      
      llvm-svn: 107205
      1767723d
  13. May 24, 2010
  14. Apr 15, 2010
  15. Apr 05, 2010
  16. Apr 03, 2010
    • David Greene's avatar
      · 9b063df4
      David Greene authored
      Ok, third time's the charm.  No changes from last time except the CMake
      source addition.  Apparently the buildbots were wrong about failures.
      
      ---
      
      Add some switches helpful for debugging:
      
      -print-before=<Pass Name>
      
      Dump IR before running pass <Pass Name>.
      
      -print-before-all
      
      Dump IR before running each pass.
      
      -print-after-all
      
      Dump IR after running each pass.
      
      These are helpful when tracking down a miscompilation.  It is easy to
      get IR dumps and do diffs on them, etc.
      
      To make this work well, add a new getPrinterPass API to Pass so that
      each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
      suitable for dumping out the kind of object the Pass works on.
      
      llvm-svn: 100249
      9b063df4
  17. Apr 02, 2010
    • Chris Lattner's avatar
      Switch the code generator (except the JIT) onto the new DebugLoc · 915c5f98
      Chris Lattner authored
      representation.  This eliminates the 'DILocation' MDNodes for 
      file/line/col tuples from -O0 -g codegen.
      
      This remove the old DebugLoc class, making it a typedef for DebugLoc,
      I'll rename NewDebugLoc next.
      
      I didn't update the JIT to use the new apis, so it will continue to
      work, but be as slow as before.  Someone should eventually do this
      or, better yet, rip out the JIT debug info stuff and build the JIT
      on top of MC.
      
      llvm-svn: 100209
      915c5f98
    • Evan Cheng's avatar
    • David Greene's avatar
      · 8f32cb9f
      David Greene authored
      Let's try this again.  Re-apply 100143 including an apparent missing
      <string> include.  For some reason the buildbot choked on this while my
      builds did not.  It's probably due to a difference in system headers.
      
      ---
      
      Add some switches helpful for debugging:
      
      -print-before=<Pass Name>
      
      Dump IR before running pass <Pass Name>.
      
      -print-before-all
      
      Dump IR before running each pass.
      
      -print-after-all
      
      Dump IR after running each pass.
      
      These are helpful when tracking down a miscompilation.  It is easy to
      get IR dumps and do diffs on them, etc.
      
      To make this work well, add a new getPrinterPass API to Pass so that
      each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
      suitable for dumping out the kind of object the Pass works on.
      
      llvm-svn: 100204
      8f32cb9f
    • Eric Christopher's avatar
      Revert r100143. · 5342ddaa
      Eric Christopher authored
      llvm-svn: 100146
      5342ddaa
    • David Greene's avatar
      · 6789e210
      David Greene authored
      Add some switches helpful for debugging:
      
      -print-before=<Pass Name>
      
      Dump IR before running pass <Pass Name>.
      
      -print-before-all
      
      Dump IR before running each pass.
      
      -print-after-all
      
      Dump IR after running each pass.
      
      These are helpful when tracking down a miscompilation.  It is easy to
      get IR dumps and do diffs on them, etc.
      
      To make this work well, add a new getPrinterPass API to Pass so that
      each kind of pass (ModulePass, FunctionPass, etc.) can create a Pass
      suitable for dumping out the kind of object the Pass works on.
      
      llvm-svn: 100143
      6789e210
  18. Mar 30, 2010
  19. Mar 19, 2010
    • Bob Wilson's avatar
      Stop trying to merge identical jump tables. This had been inadvertently · bc5af98f
      Bob Wilson authored
      disabled for several months (since svn r88806) and no one noticed.  My fix
      for pr6543 yesterday reenabled it, but broke the ARM port's code for using
      TBB/TBH.  Rather than adding a target hook to disable merging for Thumb2 only,
      I'm just taking this out.  It is not common to have identical jump tables,
      the code we used to merge them was O(N^2), and it only helps code size, not
      performance.
      
      llvm-svn: 98977
      bc5af98f
  20. Mar 18, 2010
    • Dan Gohman's avatar
      Define placement new wrappers for BumpPtrAllocator and · 01c65a26
      Dan Gohman authored
      RecyclingAllocator to allow client code to be simpler, and
      simplify several clients.
      
      llvm-svn: 98847
      01c65a26
    • Bob Wilson's avatar
      Fix pr6543: svn r88806 changed MachineJumpTableInfo::getJumpTableIndex() to · 3c7cde46
      Bob Wilson authored
      always create a new jump table.  The intention was to avoid merging jump
      tables in SelectionDAGBuilder, and to wait for the branch folding pass to
      merge tables.  Unfortunately, the same getJumpTableIndex() method is also
      used to merge tables in branch folding, so as a result of this change
      branch tables are never merged.  Worse, the branch folding code is expecting
      getJumpTableIndex to always return the index of an existing table, but with
      this change, it never does so.  In at least some cases, e.g., pr6543, this
      creates references to non-existent tables.
      
      I've fixed the problem by adding a new createJumpTableIndex function, which
      will always create a new table, and I've changed getJumpTableIndex to only
      look at existing tables.
      
      llvm-svn: 98845
      3c7cde46
  21. Mar 13, 2010
    • Chris Lattner's avatar
      rearrange MCContext ownership. Before LLVMTargetMachine created it · e468f88b
      Chris Lattner authored
      and passing off ownership to AsmPrinter.  Now MachineModuleInfo
      creates it and owns it by value.  This allows us to use MCSymbols
      more consistently throughout the rest of the code generator, and
      simplifies a bit of code.  This also allows MachineFunction to 
      keep an MCContext reference handy, and cleans up the TargetRegistry
      interfaces for AsmPrinters.
      
      llvm-svn: 98450
      e468f88b
  22. Mar 11, 2010
  23. Mar 10, 2010
  24. Feb 19, 2010
  25. Feb 10, 2010
  26. Jan 27, 2010
  27. Jan 26, 2010
    • Chris Lattner's avatar
      Move getJTISymbol from MachineJumpTableInfo to MachineFunction, · 8a785d7a
      Chris Lattner authored
      which is more convenient, and change getPICJumpTableRelocBaseExpr
      to take a MachineFunction to match.
      
      Next, move the X86 code that create a PICBase symbol to
      X86TargetLowering::getPICBaseSymbol from 
      X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific 
      library.  This eliminates a 'gross hack', and allows us to
      implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now
      calls it.
      
      This in turn allows us to eliminate the 
      X86AsmPrinter::printPICJumpTableSetLabel method, which was the
      only overload of printPICJumpTableSetLabel.
      
      llvm-svn: 94526
      8a785d7a
    • Chris Lattner's avatar
      add a new MachineJumpTableInfo::getJTISymbol method, · 273735bc
      Chris Lattner authored
      use it to implement the default TargetLowering::getPICJumpTableRelocBaseExpr
      
      llvm-svn: 94523
      273735bc
    • Chris Lattner's avatar
      make MachineFunction keep track of its ID and make · 6715952c
      Chris Lattner authored
      MachineFunctionAnalysis dole them out, instead of having
      AsmPrinter do both.  Have the AsmPrinter::SetupMachineFunction
      method set the 'AsmPrinter::MF' variable.
      
      llvm-svn: 94509
      6715952c
    • Chris Lattner's avatar
      Add support for target-specific 32-bit custom-lowered · 5fc4160e
      Chris Lattner authored
      jump table entries.
      
      llvm-svn: 94505
      5fc4160e
    • Chris Lattner's avatar
      Rearrange handling of jump tables. Highlights: · b6db2c6b
      Chris Lattner authored
      1. MachineJumpTableInfo is now created lazily for a function the first time
         it actually makes a jump table instead of for every function.
      2. The encoding of jump table entries is now described by the
         MachineJumpTableInfo::JTEntryKind enum.  This enum is determined by the
         TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
         throughout the compiler that "knows" that jump table entries are always
         32-bits in pic mode (for example).
      3. The size and alignment of jump table entries is now calculated based on
         their kind, instead of at machinefunction creation time.
      
      Future work includes using the EntryKind in more places in the compiler,
      eliminating other logic that "knows" the layout of jump tables in various
      situations.
      
      llvm-svn: 94470
      b6db2c6b
  28. Jan 19, 2010
  29. Jan 16, 2010
Loading