Skip to content
  1. Oct 22, 2010
  2. Oct 20, 2010
  3. Oct 19, 2010
    • Jakob Stoklund Olesen's avatar
      Shrink MachineOperand from 40 to 32 bytes on 64-bit hosts. · a4941690
      Jakob Stoklund Olesen authored
      Pull an unsigned out of the Contents union such that it has the same size as two
      pointers and no padding.
      
      Arrange members such that the Contents union and all pointers can be 8-byte
      aligned without padding.
      
      This speeds up code generation by 0.8% on a 64-bit host. 32-bit hosts should be
      unaffected.
      
      llvm-svn: 116857
      a4941690
  4. Sep 21, 2010
  5. Aug 02, 2010
  6. Jul 28, 2010
  7. Jul 05, 2010
  8. Jul 02, 2010
    • Dale Johannesen's avatar
      Propagate the AlignStack bit in InlineAsm's to the · 4d887f7c
      Dale Johannesen authored
      PrologEpilog code, and use it to determine whether
      the asm forces stack alignment or not.  gcc consistently
      does not do this for GCC-style asms; Apple gcc inconsistently
      sometimes does it for asm blocks.  There is no
      convenient place to put a bit in either the SDNode or
      the MachineInstr form, so I've added an extra operand
      to each; unlovely, but it does allow for expansion for
      more bits, should we need it.  PR 5125.  Some
      existing testcases are affected.
      The operand lists of the SDNode and MachineInstr forms
      are indexed with awesome mnemonics, like "2"; I may
      fix this someday, but not now.  I'm not making it any
      worse.  If anyone is inspired I think you can find all
      the right places from this patch.
      
      llvm-svn: 107506
      4d887f7c
  9. Jun 29, 2010
  10. Jun 19, 2010
  11. Jun 03, 2010
    • Jakob Stoklund Olesen's avatar
      Slightly change the meaning of the reMaterialize target hook when the original · a8ad9774
      Jakob Stoklund Olesen authored
      instruction defines subregisters.
      
      Any existing subreg indices on the original instruction are preserved or
      composed with the new subreg index.
      
      Also substitute multiple operands mentioning the original register by using the
      new MachineInstr::substituteRegister() function. This is necessary because there
      will soon be <imp-def> operands added to non read-modify-write partial
      definitions. This instruction:
      
        %reg1234:foo = FLAP %reg1234<imp-def>
      
      will reMaterialize(%reg3333, bar) like this:
      
        %reg3333:bar-foo = FLAP %reg333:bar<imp-def>
      
      Finally, replace the TargetRegisterInfo pointer argument with a reference to
      indicate that it cannot be NULL.
      
      llvm-svn: 105358
      a8ad9774
  12. Jun 02, 2010
  13. May 28, 2010
  14. May 25, 2010
  15. May 21, 2010
  16. May 19, 2010
  17. May 13, 2010
  18. Apr 28, 2010
  19. Apr 09, 2010
  20. Apr 08, 2010
  21. Apr 07, 2010
  22. Apr 02, 2010
    • Chris Lattner's avatar
      stop using DebugLoc::getUnknownLoc() · bd009d6d
      Chris Lattner authored
      llvm-svn: 100215
      bd009d6d
    • 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
  23. Mar 13, 2010
  24. Mar 08, 2010
  25. Mar 04, 2010
  26. Mar 03, 2010
    • Evan Cheng's avatar
      Fix funky indentation and add comments. · 0f260e17
      Evan Cheng authored
      llvm-svn: 97670
      0f260e17
    • Evan Cheng's avatar
      - Change MachineInstr::isIdenticalTo to take a new option that determines... · e9c46c25
      Evan Cheng authored
      - Change MachineInstr::isIdenticalTo to take a new option that determines whether it should skip checking defs or at least virtual register defs. This subsumes part of the TargetInstrInfo::isIdentical functionality.
      - Eliminate TargetInstrInfo::isIdentical and replace it with produceSameValue. In the default case, produceSameValue just checks whether two machine instructions are identical (except for virtual register defs). But targets may override it to check for unusual cases (e.g. ARM pic loads from constant pools).
      
      llvm-svn: 97628
      e9c46c25
Loading