Skip to content
  1. Dec 12, 2014
  2. Dec 11, 2014
    • Hal Finkel's avatar
      [PowerPC] Better lowering for add/or of a FrameIndex · b5e9b042
      Hal Finkel authored
      If we have an add (or an or that is really an add), where one operand is a
      FrameIndex and the other operand is a small constant, we can combine the
      lowering of the FrameIndex (which is lowered as an add of the FI and a zero
      offset) with the constant operand.
      
      Amusingly, this is an old potential improvement entry from
      lib/Target/PowerPC/README.txt which had never been resolved. In short, we used
      to lower:
      
              %X = alloca { i32, i32 }
              %Y = getelementptr {i32,i32}* %X, i32 0, i32 1
              ret i32* %Y
      
      as:
      
              addi 3, 1, -8
              ori 3, 3, 4
              blr
      
      and now we produce:
      
              addi 3, 1, -4
              blr
      
      which is much more sensible.
      
      llvm-svn: 224071
      b5e9b042
Loading