Skip to content
  1. Sep 22, 2010
    • Chris Lattner's avatar
      reimplement support for GS and FS relative address space matching · d58d7c19
      Chris Lattner authored
      by having X86DAGToDAGISel::SelectAddr get passed in the parent node
      of the operand match (the load/store/atomic op) and having it get
      the address space from that, instead of having special FS/GS addr
      mode operations that require duplicating the entire instruction set
      to support.
      
      This makes FS and GS relative accesses *far* more predictable and
      work much better.  It also simplifies the X86 backend a bit, more
      to come.
      
      There is still a pending issue with nodes like ISD::PREFETCH and
      X86ISD::FLD, which really should be MemSDNode's but aren't.
      
      llvm-svn: 114491
      d58d7c19
  2. Sep 21, 2010
  3. Sep 20, 2010
    • Jim Grosbach's avatar
      Simplify ARM callee-saved register handling by removing the distinction · 94dfd6fc
      Jim Grosbach authored
      between the high and low registers for prologue/epilogue code. This was
      a Darwin-only thing that wasn't providing a realistic benefit anymore.
      Combining the save areas simplifies the compiler code and results in better
      ARM/Thumb2 codegen.
      
      For example, previously we would generate code like:
              push    {r4, r5, r6, r7, lr}
              add     r7, sp, #12
              stmdb   sp!, {r8, r10, r11}
      With this change, we combine the register saves and generate:
              push    {r4, r5, r6, r7, r8, r10, r11, lr}
              add     r7, sp, #12
      
      rdar://8445635
      
      llvm-svn: 114340
      94dfd6fc
  4. Sep 19, 2010
  5. Sep 18, 2010
  6. Sep 17, 2010
Loading