Skip to content
  1. Sep 02, 2005
  2. Sep 01, 2005
    • Chris Lattner's avatar
      Local labels on darwin apparently start with just 'L', not .L like other · e40a3ccd
      Chris Lattner authored
      platforms.  This reduces executable size and makes shark realize the actual
      bounds of functions instead of showing each MBB as a function :)
      
      llvm-svn: 23193
      e40a3ccd
    • Jim Laskey's avatar
      · 19058c39
      Jim Laskey authored
      1. Use SubtargetFeatures in llc/lli.
      
      2. Propagate feature "string" to all targets.
      
      3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget.
      
      llvm-svn: 23192
      19058c39
    • Jim Laskey's avatar
      This new class provides support for platform specific "features". The intent · 3fee6a51
      Jim Laskey authored
      is to manage processor specific attributes from the command line.  See examples
      of use in llc/lli and PowerPCTargetSubtarget.
      
      llvm-svn: 23191
      3fee6a51
    • Chris Lattner's avatar
      Implement dynamic allocas correctly. In particular, because we were copying · a305d28c
      Chris Lattner authored
      directly out of R1 (without using a CopyFromReg, which uses a chain), multiple
      allocas were getting CSE'd together, producing bogus code.  For this:
      
      int %foo(bool %X, int %A, int %B) {
              br bool %X, label %T, label %F
      F:
              %G = alloca int
              %H = alloca int
              store int %A, int* %G
              store int %B, int* %H
              %R = load int* %G
              ret int %R
      T:
              ret int 0
      }
      
      We were generating:
      
      _foo:
              stwu r1, -16(r1)
              stw r31, 4(r1)
              or r31, r1, r1
              stw r1, 12(r31)
              cmpwi cr0, r3, 0
              bne cr0, .LBB_foo_2     ; T
      .LBB_foo_1:     ; F
              li r2, 16
              subf r2, r2, r1   ;; One alloca
              or r1, r2, r2
              or r3, r1, r1
              or r1, r2, r2
              or r2, r1, r1
              stw r4, 0(r3)
              stw r5, 0(r2)
              lwz r3, 0(r3)
              lwz r1, 12(r31)
              lwz r31, 4(r31)
              lwz r1, 0(r1)
              blr
      .LBB_foo_2:     ; T
              li r3, 0
              lwz r1, 12(r31)
              lwz r31, 4(r31)
              lwz r1, 0(r1)
              blr
      
      Now we generate:
      
      _foo:
              stwu r1, -16(r1)
              stw r31, 4(r1)
              or r31, r1, r1
              stw r1, 12(r31)
              cmpwi cr0, r3, 0
              bne cr0, .LBB_foo_2     ; T
      .LBB_foo_1:     ; F
              or r2, r1, r1
              li r3, 16
              subf r2, r3, r2  ;; Alloca 1
              or r1, r2, r2
              or r2, r1, r1
              or r6, r1, r1
              subf r3, r3, r6  ;; Alloca 2
              or r1, r3, r3
              or r3, r1, r1
              stw r4, 0(r2)
              stw r5, 0(r3)
              lwz r3, 0(r2)
              lwz r1, 12(r31)
              lwz r31, 4(r31)
              lwz r1, 0(r1)
              blr
      .LBB_foo_2:     ; T
              li r3, 0
              lwz r1, 12(r31)
              lwz r31, 4(r31)
              lwz r1, 0(r1)
              blr
      
      This fixes Povray and SPASS with the dag isel, the last two failing cases.
      Tommorow we will hopefully turn it on by default! :)
      
      llvm-svn: 23190
      a305d28c
    • Chris Lattner's avatar
      Fix a bug where we were useing HA to get the high part, which seems like it · 293b3a68
      Chris Lattner authored
      could cause a miscompile.  Fixing this didn't fix the two programs that fail
      though.  :(
      
      This also changes the implementation to follow the pattern selector more
      closely, causing us to select 0 to li instead of lis.
      
      llvm-svn: 23189
      293b3a68
    • Chris Lattner's avatar
      Do not select the operands being passed into SelectCC. IT does this itself · 34182aff
      Chris Lattner authored
      and selecting early prevents folding immediates into the cmpw* instructions
      
      llvm-svn: 23188
      34182aff
  3. Aug 31, 2005
  4. Aug 30, 2005
  5. Aug 29, 2005
Loading