Skip to content
  1. Aug 18, 2005
  2. Aug 17, 2005
  3. Aug 16, 2005
  4. Aug 15, 2005
    • Jim Laskey's avatar
      Broke 80 column rule. · 24b84072
      Jim Laskey authored
      llvm-svn: 22792
      24b84072
    • Jim Laskey's avatar
      · 42623a95
      Jim Laskey authored
      Changed code gen for int to f32 to use rounding.  This makes FP results
      consistent with gcc.
      
      llvm-svn: 22791
      42623a95
  5. Aug 14, 2005
    • Nate Begeman's avatar
      Fix last night's PPC32 regressions by · d5e739dc
      Nate Begeman authored
      1. Not selecting the false value of a select_cc in the false arm, which
         isn't legal for nested selects.
      2. Actually returning the node we created and Legalized in the FP_TO_UINT
         Expander.
      
      llvm-svn: 22789
      d5e739dc
    • Nate Begeman's avatar
      Make FP_TO_UINT Illegal. This allows us to generate significantly better · 83f6b98c
      Nate Begeman authored
      codegen for FP_TO_UINT by using the legalizer's SELECT variant.
      
      Implement a codegen improvement for SELECT_CC, selecting the false node in
      the MBB that feeds the phi node.  This allows us to codegen:
      void foo(int *a, int b, int c) { int d = (a < b) ? 5 : 9; *a = d; }
      as:
      _foo:
              li r2, 5
              cmpw cr0, r4, r3
              bgt .LBB_foo_2  ; entry
      .LBB_foo_1:     ; entry
              li r2, 9
      .LBB_foo_2:     ; entry
              stw r2, 0(r3)
              blr
      
      insted of:
      _foo:
              li r2, 5
              li r5, 9
              cmpw cr0, r4, r3
              bgt .LBB_foo_2  ; entry
      .LBB_foo_1:     ; entry
              or r2, r5, r5
      .LBB_foo_2:     ; entry
              stw r2, 0(r3)
              blr
      
      llvm-svn: 22784
      83f6b98c
  6. Aug 13, 2005
  7. Aug 11, 2005
  8. Aug 10, 2005
    • Nate Begeman's avatar
      Make SELECT illegal on PPC32, switch to using SELECT_CC, which more closely · 5646b181
      Nate Begeman authored
      reflects what the hardware is capable of.  This significantly simplifies
      the CC handling logic throughout the ISel.
      
      llvm-svn: 22756
      5646b181
    • Chris Lattner's avatar
      Changes for PPC32ISelPattern.cpp · 3428b956
      Chris Lattner authored
      1. Clean up how SelectIntImmediateExpr handles use counts.
      2. "Subtract from" was not clearing hi 16 bits.
      
      Patch by Jim Laskey
      
      llvm-svn: 22754
      3428b956
    • Chris Lattner's avatar
      Changed the XOR case to use the isOprNot predicate. · aeedcc7f
      Chris Lattner authored
      Patch by Jim Laskey!
      
      llvm-svn: 22750
      aeedcc7f
    • Chris Lattner's avatar
      1. Refactored handling of integer immediate values for add, or, xor and sub. · 67d07537
      Chris Lattner authored
        New routine: ISel::SelectIntImmediateExpr
        2. Now checking use counts of large constants.  If use count is > 2 then drop
        thru so that the constant gets loaded into a register.
        Source:
      
      int %test1(int %a) {
      entry:
             %tmp.1 = add int %a,      123456789      ; <int> [#uses=1]
             %tmp.2 = or  int %tmp.1,  123456789      ; <int> [#uses=1]
             %tmp.3 = xor int %tmp.2,  123456789      ; <int> [#uses=1]
             %tmp.4 = sub int %tmp.3, -123456789      ; <int> [#uses=1]
             ret int %tmp.4
      }
      
      Did Emit:
      
             .machine ppc970
      
      
             .text
             .align  2
             .globl  _test1
      _test1:
      .LBB_test1_0:   ; entry
             addi r2, r3, -13035
             addis r2, r2, 1884
             ori r2, r2, 52501
             oris r2, r2, 1883
             xori r2, r2, 52501
             xoris r2, r2, 1883
             addi r2, r2, 52501
             addis r3, r2, 1883
             blr
      
      
      Now Emits:
      
             .machine ppc970
      
      
             .text
             .align  2
             .globl  _test1
      _test1:
      .LBB_test1_0:   ; entry
             lis r2, 1883
             ori r2, r2, 52501
             add r3, r3, r2
             or r3, r3, r2
             xor r3, r3, r2
             add r3, r3, r2
             blr
      
      Patch by Jim Laskey!
      
      llvm-svn: 22749
      67d07537
    • Chris Lattner's avatar
      Fix a bug compiling: select (i32 < i32), f32, f32 · 5f56d71c
      Chris Lattner authored
      llvm-svn: 22747
      5f56d71c
Loading