Skip to content
  1. Jul 18, 2009
  2. Jul 15, 2009
  3. Jul 14, 2009
  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
    • Torok Edwin's avatar
      assert(0) -> LLVM_UNREACHABLE. · 56d06597
      Torok Edwin authored
      Make llvm_unreachable take an optional string, thus moving the cerr<< out of
      line.
      LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
      NDEBUG builds.
      
      llvm-svn: 75379
      56d06597
  5. Jul 10, 2009
  6. Jul 09, 2009
  7. Jul 08, 2009
  8. Jul 07, 2009
  9. Jul 03, 2009
    • Tilmann Scheller's avatar
      Add NumFixedArgs attribute to CallSDNode which indicates the number of fixed... · aea6059e
      Tilmann Scheller authored
      Add NumFixedArgs attribute to CallSDNode which indicates the number of fixed arguments in a vararg call.
      
      With the SVR4 ABI on PowerPC, vector arguments for vararg calls are passed differently depending on whether they are a fixed or a variable argument. Variable vector arguments always go into memory, fixed vector arguments are put 
      into vector registers. If there are no free vector registers available, fixed vector arguments are put on the stack.
      
      The NumFixedArgs attribute allows to decide for an argument in a vararg call whether it belongs to the fixed or variable portion of the parameter list.
      
      llvm-svn: 74764
      aea6059e
  10. Jul 01, 2009
  11. Jun 30, 2009
    • David Greene's avatar
      · 8adf1fdc
      David Greene authored
      Add a 256-bit register class and YMM registers.
      
      llvm-svn: 74469
      8adf1fdc
  12. Jun 29, 2009
    • Owen Anderson's avatar
      Add a target-specific DAG combine on X86 to fold the common pattern of · 45c299ef
      Owen Anderson authored
      fence-atomic-fence down to just the atomic op.  This is possible thanks to
      X86's relatively strong memory model, which guarantees that locked instructions
      (which are used to implement atomics) are implicit fences.
      
      llvm-svn: 74435
      45c299ef
    • David Greene's avatar
      · f92ba97c
      David Greene authored
      Add more vector ValueTypes for AVX and other extended vector instruction
      sets.
      
      llvm-svn: 74427
      f92ba97c
  13. Jun 27, 2009
Loading