Skip to content
  1. Jan 26, 2010
    • 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
  2. Jan 19, 2010
  3. Jan 16, 2010
  4. Jan 05, 2010
    • David Greene's avatar
      · 6671011c
      David Greene authored
      Change errs() to dbgs().
      
      llvm-svn: 92544
      6671011c
  5. Dec 03, 2009
  6. Nov 30, 2009
  7. Nov 14, 2009
  8. Nov 12, 2009
    • David Greene's avatar
      · 1fbe0544
      David Greene authored
      Add a bool flag to StackObjects telling whether they reference spill
      slots.  The AsmPrinter will use this information to determine whether to
      print a spill/reload comment.
      
      Remove default argument values.  It's too easy to pass a wrong argument
      value when multiple arguments have default values.  Make everything
      explicit to trap bugs early.
      
      Update all targets to adhere to the new interfaces..
      
      llvm-svn: 87022
      1fbe0544
  9. Oct 31, 2009
    • Dan Gohman's avatar
      Make -print-machineinstrs more readable. · 34341e69
      Dan Gohman authored
       - Be consistent when referring to MachineBasicBlocks: BB#0.
       - Be consistent when referring to virtual registers: %reg1024.
       - Be consistent when referring to unknown physical registers: %physreg10.
       - Be consistent when referring to known physical registers: %RAX
       - Be consistent when referring to register 0: %reg0
       - Be consistent when printing alignments: align=16
       - Print jump table contents.
       - Don't print host addresses, in general.
       - and various other cleanups.
      
      llvm-svn: 85682
      34341e69
    • Dan Gohman's avatar
      Fix 80-column violation. · 97abba5b
      Dan Gohman authored
      llvm-svn: 85653
      97abba5b
  10. Oct 28, 2009
  11. Oct 25, 2009
  12. Oct 09, 2009
  13. Oct 01, 2009
  14. Sep 25, 2009
    • Dan Gohman's avatar
      Improve MachineMemOperand handling. · 48b185d6
      Dan Gohman authored
       - Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions.
         This eliminates MachineInstr's std::list member and allows the data to be
         created by isel and live for the remainder of codegen, avoiding a lot of
         copying and unnecessary translation. This also shrinks MemSDNode.
       - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated
         fields for MachineMemOperands.
       - Change MemSDNode to have a MachineMemOperand member instead of its own
         fields with the same information. This introduces some redundancy, but
         it's more consistent with what MachineInstr will eventually want.
       - Ignore alignment when searching for redundant loads for CSE, but remember
         the greatest alignment.
      
      Target-specific code which previously used MemOperandSDNodes with generic
      SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range
      so that the SelectionDAG framework knows that MachineMemOperand information
      is available.
      
      llvm-svn: 82794
      48b185d6
  15. Sep 16, 2009
  16. Aug 29, 2009
  17. Aug 26, 2009
  18. Aug 25, 2009
    • Devang Patel's avatar
      Update DebugInfo interface to use metadata, instead of special named... · 02aac922
      Devang Patel authored
      Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.
      
      This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)
      
      llvm-svn: 79977
      02aac922
  19. Aug 23, 2009
  20. Aug 20, 2009
    • David Greene's avatar
      · 8230a93a
      David Greene authored
      Add missing includes.
      
      llvm-svn: 79480
      8230a93a
  21. Aug 17, 2009
  22. Aug 13, 2009
  23. Aug 11, 2009
    • Jim Grosbach's avatar
      SjLj based exception handling unwinding support. This patch is nasty, brutish · 693e36a3
      Jim Grosbach authored
      and short. Well, it's kinda short. Definitely nasty and brutish.
      
      The front-end generates the register/unregister calls into the SjLj runtime,
      call-site indices and landing pad dispatch. The back end fills in the LSDA
      with the call-site information provided by the front end. Catch blocks are
      not yet implemented.
      
      Built on Darwin and verified no llvm-core "make check" regressions.
      
      llvm-svn: 78625
      693e36a3
  24. Aug 03, 2009
  25. Jul 31, 2009
    • Dan Gohman's avatar
      MachineFunction no longer needs Annotation. · 7baae4b3
      Dan Gohman authored
      llvm-svn: 77704
      7baae4b3
    • Dan Gohman's avatar
      Reapply r77654 with a fix: MachineFunctionPass's getAnalysisUsage · 5ea74d55
      Dan Gohman authored
      shouldn't do AU.setPreservesCFG(), because even though CodeGen passes
      don't modify the LLVM IR CFG, they may modify the MachineFunction CFG,
      and passes like MachineLoop are registered with isCFGOnly set to true.
      
      llvm-svn: 77691
      5ea74d55
    • Daniel Dunbar's avatar
      Revert r77654, it appears to be causing llvm-gcc bootstrap failures, and many · 54347565
      Daniel Dunbar authored
      failures when building assorted projects with clang.
      
      --- Reverse-merging r77654 into '.':
      U    include/llvm/CodeGen/Passes.h
      U    include/llvm/CodeGen/MachineFunctionPass.h
      U    include/llvm/CodeGen/MachineFunction.h
      U    include/llvm/CodeGen/LazyLiveness.h
      U    include/llvm/CodeGen/SelectionDAGISel.h
      D    include/llvm/CodeGen/MachineFunctionAnalysis.h
      U    include/llvm/Function.h
      U    lib/Target/CellSPU/SPUISelDAGToDAG.cpp
      U    lib/Target/PowerPC/PPCISelDAGToDAG.cpp
      U    lib/CodeGen/LLVMTargetMachine.cpp
      U    lib/CodeGen/MachineVerifier.cpp
      U    lib/CodeGen/MachineFunction.cpp
      U    lib/CodeGen/PrologEpilogInserter.cpp
      U    lib/CodeGen/MachineLoopInfo.cpp
      U    lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
      D    lib/CodeGen/MachineFunctionAnalysis.cpp
      D    lib/CodeGen/MachineFunctionPass.cpp
      U    lib/CodeGen/LiveVariables.cpp
      
      llvm-svn: 77661
      54347565
    • Dan Gohman's avatar
      Manage MachineFunctions with an analysis Pass instead of the Annotable · bcb44baa
      Dan Gohman authored
      mechanism. To support this, make MachineFunctionPass a little more
      complete.
      
      llvm-svn: 77654
      bcb44baa
Loading