Skip to content
  1. Aug 25, 2009
  2. Aug 20, 2009
  3. Jul 12, 2009
    • Chris Lattner's avatar
      fix x86-64 static codegen to materialize the address of a global with movl instead · 38df005e
      Chris Lattner authored
      of lea.  It is better for code size (and presumably efficiency) to use:
      
        movl $foo, %eax
      
      rather than:
      
        leal foo, eax
      
      Both give a nice zero extending "move immediate" instruction, the former is just
      smaller.  Note that global addresses should be handled different by the x86
      backend, but I chose to follow the style already in place and add more fixme's.
      
      llvm-svn: 75403
      38df005e
  4. Jul 11, 2009
    • Chris Lattner's avatar
      Fix PR4533, which is about buggy codegen in x86-64 -static mode. · e9190009
      Chris Lattner authored
      Basically, using:
        lea symbol(%rip), %rax
      
      is not valid in -static mode, because the current RIP may not be
      within 32-bits of "symbol" when an app is built partially pic and
      partially static.  The fix for this is to compile it to:
      
        lea symbol, %rax
      
      It would be better to codegen this as:
      
        movq $symbol, %rax
      
      but that will come next.
      
      
      The hard part of fixing this bug was fixing abi-isel, which was actively
      testing for the wrong behavior.  Also, the RUN lines are completely impossible
      to understand what they are testing.  To help with this, convert the -static 
      x86-64 codegen tests to use filecheck.  This is much more stable and makes it
      more clear what the codegen is expected to be.
      
      llvm-svn: 75382
      e9190009
  5. Jun 03, 2009
  6. Jun 02, 2009
  7. Apr 13, 2009
  8. Mar 14, 2009
Loading