- Nov 18, 2006
-
-
Chris Lattner authored
llvm-svn: 31838
-
Chris Lattner authored
The algorithm it used before wasn't 100% correct, we now use an iterative expansion model. This fixes assembler errors when compiling 403.gcc with tail merging enabled. Change the way the branch selector works overall: Now, the isel generates PPC::BCC instructions (as it used to) directly, and these BCC instructions are emitted to the output or jitted directly if branches don't need expansion. Only if branches need expansion are instructions rewritten and created. This should make branch select faster, and eliminates the Bxx instructions from the .td file. llvm-svn: 31837
-
Chris Lattner authored
issues to the ground. llvm-svn: 31836
-
- Nov 17, 2006
-
-
Chris Lattner authored
value and CR reg #. This requires swapping the order of these everywhere that touches BCC and requires us to write custom matching logic for PPCcondbranch :( llvm-svn: 31835
-
Chris Lattner authored
llvm-svn: 31834
-
Chris Lattner authored
llvm-svn: 31833
-
Evan Cheng authored
clearing the upper 8-bits instead of issuing two instructions. This also eliminates the need to target the AH register which can be problematic on x86-64. llvm-svn: 31832
-
Jim Laskey authored
llvm-svn: 31830
-
Jim Laskey authored
llvm-svn: 31828
-
Jim Laskey authored
2. Offsets on 64-bit stores are still in bytes. llvm-svn: 31824
-
Jim Laskey authored
llvm-svn: 31823
-
Bill Wendling authored
llvm-svn: 31813
-
Chris Lattner authored
llvm-svn: 31805
-
Chris Lattner authored
llvm-svn: 31799
-
Chris Lattner authored
llvm-svn: 31797
-
Evan Cheng authored
Correct instructions for moving data between GR64 and SSE registers; also correct load i64 / store i64 from v2i64. llvm-svn: 31795
-
Evan Cheng authored
llvm-svn: 31794
-
- Nov 16, 2006
-
-
Jim Laskey authored
This is a general clean up of the PowerPC ABI. Address several problems and bugs including making sure that the TOS links back to the previous frame, that the maximum call frame size is not included twice when using frame pointers, no longer growing the frame on calls, double storing of SP and a cleaner/faster dynamic alloca. llvm-svn: 31792
-
Chris Lattner authored
before printing it. llvm-svn: 31791
-
Evan Cheng authored
llvm-svn: 31790
-
Chris Lattner authored
llvm-svn: 31785
-
Chris Lattner authored
llvm-svn: 31778
-
Chris Lattner authored
llvm-svn: 31776
-
Chris Lattner authored
llvm-svn: 31775
-
Chris Lattner authored
llvm-svn: 31774
-
Chris Lattner authored
llvm-svn: 31771
-
Chris Lattner authored
Tell the codegen emitter that specific operands are not to be encoded, fixing JIT regressions w.r.t. pre-inc loads and stores (e.g. lwzu, which we generate even when general preinc loads are not enabled). llvm-svn: 31770
-
- Nov 15, 2006
-
-
Chris Lattner authored
llvm-svn: 31768
-
Evan Cheng authored
llvm-svn: 31765
-
Evan Cheng authored
llvm-svn: 31764
-
Evan Cheng authored
llvm-svn: 31763
-
Chris Lattner authored
addrmodes. llvm-svn: 31757
-
Chris Lattner authored
CBE and interpreter. llvm-svn: 31755
-
Chris Lattner authored
llvm-svn: 31754
-
Chris Lattner authored
llvm-svn: 31752
-
Chris Lattner authored
pair for cleanliness. Add instructions for PPC32 preinc-stores with commented out patterns. More improvement is needed to enable the patterns, but we're getting close. llvm-svn: 31749
-
- Nov 14, 2006
-
-
Evan Cheng authored
llvm-svn: 31737
-
Chris Lattner authored
llvm-svn: 31736
-
Chris Lattner authored
stores. llvm-svn: 31735
-
Chris Lattner authored
clobber. This allows LR8 to be save/restored correctly as a 64-bit quantity, instead of handling it as a 32-bit quantity. This unbreaks ppc64 codegen when the code is actually located above the 4G boundary. llvm-svn: 31734
-