Chris Lattner
4978a4f2f4
New note, Nate, please check to see if I'm full of it :)
...
llvm-svn: 28118
2006-05-05 05:36:15 +00:00
Chris Lattner
cec07adf4d
add a note, move an altivec todo to the altivec list.
...
llvm-svn: 27654
2006-04-13 16:48:00 +00:00
Chris Lattner
fa82c33ae7
add a note
...
llvm-svn: 27360
2006-04-02 07:20:00 +00:00
Chris Lattner
f1d6a9483f
Split out altivec notes into their own README
...
llvm-svn: 27168
2006-03-27 07:04:16 +00:00
Chris Lattner
e199d55073
#include Intrinsics.h into all dag isels
...
llvm-svn: 27109
2006-03-25 06:47:10 +00:00
Chris Lattner
8840036091
add another note
...
llvm-svn: 27077
2006-03-24 20:04:27 +00:00
Chris Lattner
2e5162fa6e
add a note
...
llvm-svn: 27000
2006-03-23 21:28:44 +00:00
Chris Lattner
5141ebb2c4
This has been implemented. Tweak it into another note
...
llvm-svn: 26944
2006-03-22 05:33:23 +00:00
Nate Begeman
4bd73df4bd
Update readme
...
llvm-svn: 26924
2006-03-21 18:58:20 +00:00
Chris Lattner
9e611a25c7
minor note
...
llvm-svn: 26912
2006-03-21 00:47:09 +00:00
Chris Lattner
ada41aad4d
Add a note about the MUL -> FMADD vector bug.
...
llvm-svn: 26874
2006-03-19 22:08:08 +00:00
Chris Lattner
d3910ca755
notes
...
llvm-svn: 26856
2006-03-19 05:33:30 +00:00
Nate Begeman
42736d46b2
Remove BRTWOWAY*
...
Make the PPC backend not dependent on BRTWOWAY_CC and make the branch
selector smarter about the code it generates, fixing a case in the
readme.
llvm-svn: 26814
2006-03-17 01:40:33 +00:00
Nate Begeman
63c4456867
Notes on how to kill the eeevil brtwoway, and make ppc branch selector
...
more target independant, generate better code, and be less conservative.
llvm-svn: 26809
2006-03-16 22:37:48 +00:00
Chris Lattner
8a756c5171
add a note
...
llvm-svn: 26807
2006-03-16 22:25:55 +00:00
Nate Begeman
cbca1b3d14
Another case we could do better on.
...
llvm-svn: 26795
2006-03-16 18:50:44 +00:00
Chris Lattner
24aa564456
add a note
...
llvm-svn: 26605
2006-03-08 00:25:47 +00:00
Chris Lattner
ae34bbf56b
add a note
...
llvm-svn: 26585
2006-03-07 04:42:59 +00:00
Chris Lattner
caec0d887c
add a note
...
llvm-svn: 26448
2006-03-01 06:36:20 +00:00
Chris Lattner
137c02aa60
Compile this:
...
void foo(float a, int *b) { *b = a; }
to this:
_foo:
fctiwz f0, f1
stfiwx f0, 0, r4
blr
instead of this:
_foo:
fctiwz f0, f1
stfd f0, -8(r1)
lwz r2, -4(r1)
stw r2, 0(r4)
blr
This implements CodeGen/PowerPC/stfiwx.ll, and also incidentally does the
right thing for GCC bugzilla 26505.
llvm-svn: 26447
2006-03-01 05:50:56 +00:00
Chris Lattner
6ba976b557
Use a target-specific dag-combine to implement CodeGen/PowerPC/fp-int-fp.ll.
...
llvm-svn: 26445
2006-03-01 04:57:39 +00:00
Chris Lattner
866634d77f
remove implemented item
...
llvm-svn: 26418
2006-02-28 06:36:04 +00:00
Nate Begeman
56a4dafd8d
readme updates
...
llvm-svn: 26405
2006-02-27 22:08:36 +00:00
Chris Lattner
881c8c12ff
Move emails from nate into public places
...
llvm-svn: 26051
2006-02-08 06:43:51 +00:00
Chris Lattner
59378e7675
add a note
...
llvm-svn: 25984
2006-02-05 05:27:35 +00:00
Nate Begeman
ba19f3f93c
Remove some stuff that now works
...
llvm-svn: 25963
2006-02-04 07:29:35 +00:00
Chris Lattner
393e9d10dd
add a note
...
llvm-svn: 25944
2006-02-03 22:06:45 +00:00
Chris Lattner
172cf85d48
remove some target-indep and implemented notes
...
llvm-svn: 25930
2006-02-03 06:22:11 +00:00
Nate Begeman
85f3c9f566
Flesh out a couple of the items in the README
...
llvm-svn: 25928
2006-02-03 05:17:06 +00:00
Chris Lattner
06f54e7cb3
Add a note
...
llvm-svn: 25921
2006-02-03 01:49:49 +00:00
Chris Lattner
66d0341e73
update a note
...
llvm-svn: 25918
2006-02-02 23:50:22 +00:00
Chris Lattner
c434ee61a3
new example
...
llvm-svn: 25903
2006-02-02 07:37:11 +00:00
Nate Begeman
dd4acf9710
Update the README
...
llvm-svn: 25902
2006-02-02 07:27:56 +00:00
Chris Lattner
821f93a659
add a note
...
llvm-svn: 25876
2006-02-01 17:54:23 +00:00
Nate Begeman
0be60963bd
Fix some of the stuff in the PPC README file, and clean up legalization
...
of the SELECT_CC, BR_CC, and BRTWOWAY_CC nodes.
llvm-svn: 25875
2006-02-01 07:19:44 +00:00
Chris Lattner
c270dd87a9
another testcase.
...
llvm-svn: 25862
2006-02-01 00:28:12 +00:00
Chris Lattner
186b5f0887
example nate pointed out
...
llvm-svn: 25841
2006-01-31 07:16:34 +00:00
Chris Lattner
830b1ad8cf
add the 'lucas' optimization
...
llvm-svn: 25830
2006-01-31 02:55:28 +00:00
Chris Lattner
170727421b
add a note about how we should implement this FIXME from the legalizer:
...
// FIXME: revisit this when we have some kind of mechanism by which targets
// can decided legality of vector constants, of which there may be very
// many.
llvm-svn: 25733
2006-01-28 05:40:47 +00:00
Nate Begeman
a46156da35
Add a couple more things to the readme.
...
llvm-svn: 25724
2006-01-28 01:22:10 +00:00
Chris Lattner
60bc56e930
add a note
...
llvm-svn: 25439
2006-01-19 02:09:38 +00:00
Chris Lattner
88572bb5c4
add notes from my *other* email acct.
...
llvm-svn: 25362
2006-01-16 17:58:54 +00:00
Chris Lattner
62ab456f6b
transfer some notes from my email to somewhere useful.
...
llvm-svn: 25361
2006-01-16 17:53:00 +00:00
Nate Begeman
10813e4f97
Remove some redundant stuff out of the readme.
...
llvm-svn: 25308
2006-01-14 01:24:22 +00:00
Nate Begeman
96c7e22231
Fix one of the things in the todo file, and get a bit closer to folding
...
constant offsets from statics into the address arithmetic.
llvm-svn: 24999
2005-12-24 01:00:15 +00:00
Chris Lattner
f7ed832fcf
move some random notes out of my email into someplace useful
...
llvm-svn: 24956
2005-12-22 17:19:28 +00:00
Chris Lattner
9d9313e3c1
Add another important case we miss
...
llvm-svn: 24639
2005-12-08 07:13:28 +00:00
Chris Lattner
4581404290
Enable global address legalization, fixing a todo and allowing the removal
...
of some code. This exposes the implicit load from the stubs to the DAG, allowing
them to be optimized by the dag combiner. It also moves darwin specific stuff
out of the isel into the legalizer, and allows more to be moved to the .td file.
llvm-svn: 24397
2005-11-17 18:26:56 +00:00
Chris Lattner
dc19995e25
add a case Nate sent me
...
llvm-svn: 24195
2005-11-05 08:57:56 +00:00
Chris Lattner
802e8d3a7e
This is implemented
...
llvm-svn: 24107
2005-10-30 06:42:12 +00:00
Nate Begeman
da6888930d
New case to handle someday
...
llvm-svn: 24075
2005-10-28 23:26:57 +00:00
Chris Lattner
002ce4f1f8
a bad case for bitfield insert
...
llvm-svn: 24051
2005-10-28 00:20:45 +00:00
Nate Begeman
a63b42ad1e
Add a note about some bitfield stuff we could be doing better.
...
llvm-svn: 23994
2005-10-25 23:50:02 +00:00
Chris Lattner
394413e59c
add a case
...
llvm-svn: 23785
2005-10-18 06:30:51 +00:00
Nate Begeman
723637974b
More PPC32 -> PPC changes, as well as merging some classes that were
...
redundant after the change.
llvm-svn: 23759
2005-10-16 05:39:50 +00:00
Nate Begeman
a94912c555
Add note about future optimization noted in the ppc compiler writer's guide
...
llvm-svn: 23245
2005-09-06 15:30:48 +00:00
Chris Lattner
8d151627a8
add an idea
...
llvm-svn: 23020
2005-08-24 18:15:24 +00:00
Chris Lattner
86a4a4745c
add a note
...
llvm-svn: 22982
2005-08-23 06:27:59 +00:00
Nate Begeman
2426bb6589
Make FP_TO_UINT Illegal. This allows us to generate significantly better
...
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
2005-08-14 01:17:16 +00:00
Chris Lattner
5ad0216bd6
add a optimization note
...
llvm-svn: 22732
2005-08-09 22:30:57 +00:00
Chris Lattner
d82395fc04
add a note
...
llvm-svn: 22681
2005-08-05 19:18:32 +00:00
Nate Begeman
54792213a7
Implement the optimization for the Red Zone on Darwin. This removes the
...
unnecessary SP manipulation in leaf routines that don't need it.
llvm-svn: 22522
2005-07-27 06:06:29 +00:00
Chris Lattner
9c98c4366a
add a note about the red zone
...
llvm-svn: 22518
2005-07-26 19:07:51 +00:00
Nate Begeman
cd48821a69
Update the PPC readme
...
llvm-svn: 22516
2005-07-26 18:59:06 +00:00
Nate Begeman
f31b58f145
Update PPC readme. Remove things that are done or aren't ppc specific
...
llvm-svn: 21232
2005-04-11 20:48:57 +00:00
Nate Begeman
a0c15f3ffd
Put int the getReg cast optimization from x86 so that we generate fewer
...
move instructions for the register allocator to coalesce.
llvm-svn: 17608
2004-11-08 02:25:40 +00:00
Nate Begeman
ae98298003
Update to-do list
...
llvm-svn: 17235
2004-10-26 04:10:53 +00:00
Nate Begeman
e816600b3e
All PPC instructions are now auto-printed
...
32 and 64 bit AsmWriters unified
Darwin and AIX specific features of AsmWriter split out
llvm-svn: 16163
2004-09-04 05:00:00 +00:00
Nate Begeman
68e2dd66af
Improvements to int->float cast code for PPC-64
...
llvm-svn: 16105
2004-08-29 22:02:43 +00:00
Nate Begeman
923af3763d
Implement the following missing functionality in the PPC backend:
...
cast fp->bool
cast ulong->fp
algebraic right shift long by non-constant value
These changes tested across most of the test suite. Fixes Regression/casts
llvm-svn: 16081
2004-08-29 08:19:32 +00:00
Nate Begeman
6c4bd28dc1
remove some things from the todo list.
...
llvm-svn: 15956
2004-08-20 18:46:54 +00:00
Nate Begeman
fcb98faaad
Update the current state of the world
...
llvm-svn: 15809
2004-08-16 05:06:43 +00:00
Nate Begeman
e24434f765
Add future optimization opportunity
...
llvm-svn: 15760
2004-08-15 06:43:10 +00:00
Nate Begeman
224deaa061
Replace PowerPCPEI.cpp with target independant PrologEpilogInserter
...
llvm-svn: 15746
2004-08-14 22:16:36 +00:00
Nate Begeman
b74ee41754
Fix casts of float to unsigned long
...
Replace STDX (store 64 bit int indexed) with STFDX (store double indexed)
Fix latent bug in indexed load generation
Generate indexed loads and stores in many more cases
llvm-svn: 15626
2004-08-10 20:42:36 +00:00
Chris Lattner
bbf11b1e1d
Changes commited for Nate Begeman:
...
Use a PowerPC specific prolog epilog inserter to control where spilled
callee save regs are placed on the stack.
Get rid of implicit return address stack slot, save return address reg
(LR) in appropriate slot
Improve code generated for functions that don't have calls or access
globals
Note from Chris: PowerPCPEI will eventually be eliminated, once the
functionality is merged into CodeGen/PrologEpilogInserter.cpp
llvm-svn: 15536
2004-08-06 06:58:50 +00:00
Misha Brukman
8209358fca
* Conditional save/restore of LR disabled as it's not quite correct
...
* sumarray2d fixed: large fixed-size alloca
* make is now compileable
* Re-organized tests to fit them under proper headings
Patch by Nate Begeman.
llvm-svn: 15347
2004-07-30 15:53:09 +00:00
Misha Brukman
8e19054114
Add notes on bug involving casting ulong -> double, thanks to Nate Begeman.
...
llvm-svn: 15307
2004-07-28 19:16:10 +00:00
Misha Brukman
ac63bc04f8
Reorganize tests to place them in proper directories.
...
llvm-svn: 15298
2004-07-28 00:55:12 +00:00
Misha Brukman
8fc18d7d1c
UnitTests 2003-05-26-Shorts and 2003-07-09-LoadShorts have been fixed;
...
2003-05-22-VarSizeArray is broken.
llvm-svn: 15297
2004-07-28 00:01:41 +00:00
Misha Brukman
b779843f6b
Branch selection support implemented by Nate Begeman for long branches.
...
llvm-svn: 15288
2004-07-27 18:43:04 +00:00
Misha Brukman
c22bbdd36d
Fixed saving/restoring LR unconditionally, only done as necessary.
...
llvm-svn: 15275
2004-07-27 17:17:48 +00:00
Misha Brukman
796cc48f99
More notes on bugs, unimplemented features, and suggested code improvements.
...
Written by Nate Begeman.
llvm-svn: 15235
2004-07-26 16:23:55 +00:00
Misha Brukman
c1e23e1939
Running list of bugs, unimplemented features, currently broken tests, until we
...
have a nightly tester set up for PowerPC.
llvm-svn: 15147
2004-07-23 22:37:22 +00:00
Misha Brukman
4424ef9dd1
This file is no longer applicable.
...
llvm-svn: 14294
2004-06-21 20:17:41 +00:00
Misha Brukman
269034c151
Initial revision
...
llvm-svn: 14283
2004-06-21 16:55:25 +00:00