| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 32333
|
|
|
|
| |
llvm-svn: 32331
|
|
|
|
| |
llvm-svn: 32277
|
|
|
|
| |
llvm-svn: 32034
|
|
|
|
|
|
| |
of opcode and number of operands.
llvm-svn: 31947
|
|
|
|
| |
llvm-svn: 31882
|
|
|
|
| |
llvm-svn: 31828
|
|
|
|
|
|
| |
2. Offsets on 64-bit stores are still in bytes.
llvm-svn: 31824
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 31771
|
|
|
|
| |
llvm-svn: 31765
|
|
|
|
| |
llvm-svn: 31752
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 31712
|
|
|
|
| |
llvm-svn: 31690
|
|
|
|
| |
llvm-svn: 31684
|
|
|
|
|
|
|
|
| |
potentially some system calls/exception handling from working. TOS must always
link to previous frame. This is a short term workaround until alloca scheme is
reworked.
llvm-svn: 31677
|
|
|
|
|
|
|
|
|
|
| |
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380
|
|
|
|
|
|
| |
def operand or a use operand.
llvm-svn: 30109
|
|
|
|
|
|
| |
handling.)
llvm-svn: 29954
|
|
|
|
| |
llvm-svn: 29880
|
|
|
|
| |
llvm-svn: 29114
|
|
|
|
| |
llvm-svn: 29096
|
|
|
|
|
|
| |
the offset two bits to the left.
llvm-svn: 28933
|
|
|
|
| |
llvm-svn: 28889
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
allocated, thus live across the save/reload. This fixes
llc-beta /MultiSource/Applications/spiff/spiff
llc-beta /MultiSource/Benchmarks/sim/sim:
llc-beta /MultiSource/Benchmarks/Ptrdist/bc/bc
llc-beta /MultiSource/Benchmarks/McCat/12-IOtest/iotest:
llc-beta /MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow
llc-beta /MultiSource/Benchmarks/Fhourstones-3.1/fhourstones3.1
llc-beta /MultiSource/Benchmarks/mediabench/adpcm/rawdaudio/rawdaudio
llc-beta /MultiSource/Benchmarks/mediabench/adpcm/rawcaudio/rawcaudio
llc-beta /MultiSource/Benchmarks/mediabench/g721/g721encode/encode
llc-beta /MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg
and probably others, with -regalloc=local.
llvm-svn: 28761
|
|
|
|
|
|
| |
Olden/power (and probably others) with -regalloc=local.
llvm-svn: 28760
|
|
|
|
| |
llvm-svn: 28378
|
|
|
|
|
|
|
| |
really a bad codegen bug that LLC happens to get lucky with. I must chat with
Nate for the proper fix.
llvm-svn: 28213
|
|
|
|
| |
llvm-svn: 28102
|
|
|
|
| |
llvm-svn: 28099
|
|
|
|
|
|
|
|
|
| |
fhourstones).
Loading and storing off R0 isn't what we wanted. Also, taking some CR's out of
CRRC seems to cause failures as well. Further investigation is required.
llvm-svn: 28097
|
|
|
|
|
|
| |
don't step on R11 in the middle of a function when saving and restoring CRs
llvm-svn: 28058
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
allows us to codegen functions as:
_test_rol:
vspltisw v2, -12
vrlw v2, v2, v2
blr
instead of:
_test_rol:
mfvrsave r2, 256
mr r3, r2
mtvrsave r3
vspltisw v2, -12
vrlw v2, v2, v2
mtvrsave r2
blr
Testcase here: CodeGen/PowerPC/vec_vrsave.ll
llvm-svn: 27777
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the vrsave register for the caller. This allows us to codegen a function as:
_test_rol:
mfspr r2, 256
mr r3, r2
mtspr 256, r3
vspltisw v2, -12
vrlw v2, v2, v2
mtspr 256, r2
blr
instead of:
_test_rol:
mfspr r2, 256
oris r3, r2, 40960
mtspr 256, r3
vspltisw v0, -12
vrlw v2, v0, v0
mtspr 256, r2
blr
llvm-svn: 27772
|
|
|
|
|
|
| |
register info.
llvm-svn: 27770
|
|
|
|
| |
llvm-svn: 27769
|
|
|
|
| |
llvm-svn: 27594
|
|
|
|
| |
llvm-svn: 27593
|
|
|
|
| |
llvm-svn: 27588
|
|
|
|
| |
llvm-svn: 27491
|
|
|
|
|
|
| |
more than the OS keeps the stack aligned.
llvm-svn: 27381
|
|
|
|
| |
llvm-svn: 27225
|
|
|
|
| |
llvm-svn: 27180
|
|
|
|
| |
llvm-svn: 26994
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_foo2:
extsw r2, r3
std r2, -8(r1)
lfd f0, -8(r1)
fcfid f0, f0
frsp f1, f0
blr
instead of this:
_foo2:
lis r2, ha16(LCPI2_0)
lis r4, 17200
xoris r3, r3, 32768
stw r3, -4(r1)
stw r4, -8(r1)
lfs f0, lo16(LCPI2_0)(r2)
lfd f1, -8(r1)
fsub f0, f1, f0
frsp f1, f0
blr
This speeds up Misc/pi from 2.44s->2.09s with LLC and from 3.01->2.18s
with llcbeta (16.7% and 38.1% respectively).
llvm-svn: 26943
|
|
|
|
| |
llvm-svn: 26813
|
|
|
|
| |
llvm-svn: 26806
|
|
|
|
|
|
| |
5 instructions away.
llvm-svn: 26801
|
|
|
|
| |
llvm-svn: 26800
|