Skip to content
  1. Jul 23, 2007
  2. Jul 20, 2007
  3. Jul 14, 2007
    • Anton Korobeynikov's avatar
      Long live the exception handling! · 383a3247
      Anton Korobeynikov authored
      This patch fills the last necessary bits to enable exceptions
      handling in LLVM. Currently only on x86-32/linux.
      
      In fact, this patch adds necessary intrinsics (and their lowering) which
      represent really weird target-specific gcc builtins used inside unwinder.
      
      After corresponding llvm-gcc patch will land (easy) exceptions should be
      more or less workable. However, exceptions handling support should not be 
      thought as 'finished': I expect many small and not so small glitches
      everywhere.
      
      llvm-svn: 39855
      383a3247
  4. Jul 10, 2007
  5. Jul 05, 2007
  6. Jul 04, 2007
  7. Jul 03, 2007
  8. Jun 29, 2007
  9. Jun 25, 2007
    • Dan Gohman's avatar
      Generalize MVT::ValueType and associated functions to be able to represent · a8665145
      Dan Gohman authored
      extended vector types. Remove the special SDNode opcodes used for pre-legalize
      vector operations, and the special MVT::Vector type used with them. Adjust
      lowering and legalize to work with the normal SDNode kinds instead, and to
      use the normal MVT functions to work with vector types instead of using the
      two special operands that the pre-legalize nodes held.
      
      This allows pre-legalize and post-legalize DAGs, and the code that operates
      on them, to be more consistent. Pre-legalize vector operators can be handled
      more consistently with scalar operators. And, -view-dag-combine1-dags and
      -view-legalize-dags now look prettier for vector code.
      
      llvm-svn: 37719
      a8665145
  10. Jun 22, 2007
  11. Jun 19, 2007
  12. Jun 17, 2007
    • Bill Wendling's avatar
      Revert patch. It regresses: · 094a4e81
      Bill Wendling authored
      define double @test2(i64 %A) {
         %B = bitcast i64 %A to double
         ret double %B
      }
      
      $ llvm-as < t.ll | llc -march=x86-64
      
      before:
      
               .align  4
               .globl  _test2
      _test2:
               movd %rdi, %xmm0
               ret
      
      after:
      
      _test2:
               subq $8, %rsp
               movq %rdi, (%rsp)
               movsd (%rsp), %xmm0
               addq $8, %rsp
               ret
      
      llvm-svn: 37617
      094a4e81
  13. Jun 16, 2007
  14. Jun 15, 2007
  15. Jun 09, 2007
  16. May 24, 2007
  17. May 18, 2007
  18. May 17, 2007
  19. May 15, 2007
  20. May 03, 2007
    • Chris Lattner's avatar
      Fix two classes of bugs: · 83df45a9
      Chris Lattner authored
        1. x86 backend rejected (&gv+c) for the 'i' constraint when in static mode.
        2. the matcher didn't correctly reject and accept some global addresses.
           the right predicate is GVRequiresExtraLoad, not "relomodel = pic".
      
      llvm-svn: 36670
      83df45a9
  21. May 02, 2007
  22. Apr 24, 2007
  23. Apr 23, 2007
  24. Apr 21, 2007
  25. Apr 20, 2007
  26. Apr 17, 2007
  27. Apr 16, 2007
  28. Apr 12, 2007
  29. Apr 10, 2007
  30. Apr 09, 2007
    • Chris Lattner's avatar
      move a bunch of register constraints from being handled by · 7451e4d6
      Chris Lattner authored
      getRegClassForInlineAsmConstraint to being handled by
      getRegForInlineAsmConstraint.  This allows us to let the llvm register allocator
      allocate, which gives us better code.  For example, X86/2007-01-29-InlineAsm-ir.ll
      used to compile to:
      
      _run_init_process:
              subl $4, %esp
              movl %ebx, (%esp)
              xorl %ebx, %ebx
              movl $11, %eax
              movl %ebx, %ecx
              movl %ebx, %edx
              # InlineAsm Start
              push %ebx ; movl %ebx,%ebx ; int $0x80 ; pop %ebx
              # InlineAsm End
      
      Now we get:
      _run_init_process:
              xorl %ecx, %ecx
              movl $11, %eax
              movl %ecx, %edx
              # InlineAsm Start
              push %ebx ; movl %ecx,%ebx ; int $0x80 ; pop %ebx
              # InlineAsm End
      
      llvm-svn: 35804
      7451e4d6
    • Chris Lattner's avatar
      implement support for CodeGen/X86/inline-asm-x-scalar.ll:test3 - i32/i64 values · 2b6b4eb4
      Chris Lattner authored
      used with x constraints.
      
      llvm-svn: 35803
      2b6b4eb4
Loading