Skip to content
  1. Mar 05, 2011
  2. Jan 10, 2011
  3. Jan 09, 2011
  4. Jan 08, 2011
    • Evan Cheng's avatar
      Do not model all INLINEASM instructions as having unmodelled side effects. · 6eb516db
      Evan Cheng authored
      Instead encode llvm IR level property "HasSideEffects" in an operand (shared
      with IsAlignStack). Added MachineInstrs::hasUnmodeledSideEffects() to check
      the operand when the instruction is an INLINEASM.
      
      This allows memory instructions to be moved around INLINEASM instructions.
      
      llvm-svn: 123044
      6eb516db
  5. Jan 07, 2011
  6. Oct 22, 2010
  7. Oct 20, 2010
  8. 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
  9. Sep 21, 2010
  10. Aug 02, 2010
  11. Jul 28, 2010
  12. Jul 05, 2010
  13. 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
  14. Jun 29, 2010
  15. Jun 19, 2010
  16. 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
  17. Jun 02, 2010
  18. May 28, 2010
  19. May 25, 2010
  20. May 21, 2010
  21. May 19, 2010
  22. May 13, 2010
  23. Apr 28, 2010
  24. Apr 09, 2010
  25. Apr 08, 2010
  26. Apr 07, 2010
  27. 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
  28. Mar 13, 2010
  29. Mar 08, 2010
Loading