Arnold Schwaighofer
6bcd9e7ec2
Corrected many typing errors. And removed 'nest' parameter handling
...
for fastcc from X86CallingConv.td. This means that nested functions
are not supported for calling convention 'fastcc'.
llvm-svn: 42934
2007-10-12 21:30:57 +00:00
Evan Cheng
c36fdf163a
Update.
...
llvm-svn: 42922
2007-10-12 18:22:55 +00:00
Arnold Schwaighofer
d47210011e
Added tail call optimization to the x86 back end. It can be
...
enabled by passing -tailcallopt to llc. The optimization is
performed if the following conditions are satisfied:
* caller/callee are fastcc
* elf/pic is disabled OR
elf/pic enabled + callee is in module + callee has
visibility protected or hidden
llvm-svn: 42870
2007-10-11 19:40:01 +00:00
Dan Gohman
9546d48e97
This is done.
...
llvm-svn: 42785
2007-10-09 15:42:21 +00:00
Evan Cheng
e0e36e4a0e
This is done.
...
llvm-svn: 42656
2007-10-05 22:34:59 +00:00
Chris Lattner
4224151a44
add a note.
...
llvm-svn: 42607
2007-10-04 15:47:27 +00:00
Chris Lattner
a31fa80185
add a note
...
llvm-svn: 42579
2007-10-03 17:10:03 +00:00
Chris Lattner
dfcb750656
Bill's example is still not enough to repro this, but it has other issues that
...
seem significant as well.
llvm-svn: 42564
2007-10-03 03:40:24 +00:00
Bill Wendling
c5fbf331ff
Another micro-opt.
...
llvm-svn: 42554
2007-10-02 21:49:31 +00:00
Bill Wendling
c4a53b617f
Another missed optimization with LICM.
...
llvm-svn: 42552
2007-10-02 21:43:06 +00:00
Bill Wendling
0159f0c5ba
Now with LL code!
...
llvm-svn: 42547
2007-10-02 20:54:32 +00:00
Bill Wendling
48c27bf598
Another missed optimization.
...
llvm-svn: 42546
2007-10-02 20:42:59 +00:00
Chris Lattner
86e73ac224
move PR1160 here.
...
llvm-svn: 42347
2007-09-26 06:29:31 +00:00
Evan Cheng
b639648fc5
New entry.
...
llvm-svn: 41810
2007-09-10 22:16:37 +00:00
Chris Lattner
d4602cc0e7
Add some notes about better flag handling.
...
llvm-svn: 41808
2007-09-10 21:43:18 +00:00
Chris Lattner
9b22d7527c
add some notes on really poor codegen.
...
llvm-svn: 41319
2007-08-23 15:22:07 +00:00
Chris Lattner
fdb4d38108
add a note
...
llvm-svn: 41178
2007-08-20 02:14:33 +00:00
Chris Lattner
fedbfd5f47
expand a note
...
llvm-svn: 41021
2007-08-11 18:19:07 +00:00
Chris Lattner
5f098dbbe5
With evan's explicit flag representation, hopefully we will finally be
...
able to 3-addressify away stuff like this:
movl %ecx, %eax
decl %eax
llvm-svn: 41020
2007-08-11 18:16:46 +00:00
Christopher Lamb
7e52a97df5
Use subregs to improve any_extend code generation when feasible.
...
llvm-svn: 41013
2007-08-10 22:22:41 +00:00
Christopher Lamb
450f6815b9
Increase efficiency of sign_extend_inreg by using subregisters for truncation. As the README suggests sign_extend_subreg is selected to (sext(trunc)).
...
llvm-svn: 41010
2007-08-10 21:48:46 +00:00
Christopher Lamb
4e6cae3eae
Edit README in light of previous LEA16 commit.
...
llvm-svn: 41009
2007-08-10 21:29:05 +00:00
Chris Lattner
a9026e5f12
add an observation
...
llvm-svn: 40772
2007-08-03 00:17:42 +00:00
Evan Cheng
30e121adf6
Only adjust esp around calls in presence of alloca.
...
llvm-svn: 40028
2007-07-19 00:42:05 +00:00
Evan Cheng
cee32b53a4
New entry.
...
llvm-svn: 39998
2007-07-18 08:21:49 +00:00
Evan Cheng
70b79bfa0e
Update.
...
llvm-svn: 39977
2007-07-17 18:39:45 +00:00
Chris Lattner
a7834d79a0
add a note
...
llvm-svn: 37239
2007-05-18 20:18:14 +00:00
Chris Lattner
96e9e88590
add some notes
...
llvm-svn: 36965
2007-05-10 00:08:04 +00:00
Chris Lattner
9f8e81f9d3
move CodeGen/X86/overlap-add.ll here.
...
llvm-svn: 36799
2007-05-05 22:10:24 +00:00
Chris Lattner
be225f5300
SSE4 is apparently public now.
...
llvm-svn: 36185
2007-04-17 00:02:37 +00:00
Chris Lattner
6fbfbf6622
add a note
...
llvm-svn: 36028
2007-04-14 23:06:09 +00:00
Chris Lattner
b7448f6187
done
...
llvm-svn: 35884
2007-04-11 05:34:00 +00:00
Chris Lattner
60f3ece40f
new micro optzn
...
llvm-svn: 35867
2007-04-10 21:14:01 +00:00
Chris Lattner
78271f0596
make a new missing features section
...
llvm-svn: 35637
2007-04-03 23:41:34 +00:00
Bill Wendling
ff2c460267
Updated
...
llvm-svn: 35634
2007-04-03 23:37:20 +00:00
Chris Lattner
a710f7442c
add a note
...
llvm-svn: 35435
2007-03-28 18:17:19 +00:00
Dale Johannesen
fb7b59f5dd
add generation of unnecessary push/pop around calls
...
llvm-svn: 35241
2007-03-21 21:16:39 +00:00
Evan Cheng
fc80b5b712
Notes about codegen issues.
...
llvm-svn: 35107
2007-03-14 21:03:53 +00:00
Chris Lattner
e29ef5d9cb
add a note
...
llvm-svn: 34837
2007-03-02 05:04:52 +00:00
Chris Lattner
97739dcbca
more notes
...
llvm-svn: 34204
2007-02-12 21:20:26 +00:00
Chris Lattner
216d889852
add a note
...
llvm-svn: 34202
2007-02-12 20:26:34 +00:00
Evan Cheng
400120abe5
This is done.
...
llvm-svn: 34072
2007-02-08 23:53:38 +00:00
Chris Lattner
601692407e
add a note
...
llvm-svn: 33423
2007-01-21 07:03:37 +00:00
Chris Lattner
851b9e93a2
add some notes
...
llvm-svn: 33228
2007-01-15 06:25:39 +00:00
Anton Korobeynikov
548b9af9c2
* PIC codegen for X86/Linux has been implemented
...
* PIC-aware internal structures in X86 Codegen have been refactored
* Visibility (default/weak) has been added
* Docs fixes (external weak linkage, visibility, formatting)
llvm-svn: 33136
2007-01-12 19:20:47 +00:00
Chris Lattner
aed0e0292b
new note
...
llvm-svn: 32945
2007-01-06 01:30:45 +00:00
Chris Lattner
aaafc3d16b
fix testcase. It's not safe to strictly evaluate a load that should be lazy.
...
llvm-svn: 32842
2007-01-03 19:12:31 +00:00
Chris Lattner
f04c00f475
add a note
...
llvm-svn: 32741
2006-12-22 01:03:22 +00:00
Chris Lattner
8f2a26ac12
Update note, with the SROA change, we now produce:
...
_pairtest:
movl 8(%esp), %eax
movl 4(%esp), %ecx
movd %eax, %xmm0
movd %ecx, %xmm1
addss %xmm0, %xmm1
movl 12(%esp), %eax
movss %xmm1, (%eax)
ret
instead of:
_pairtest:
subl $12, %esp
movl 20(%esp), %eax
movl %eax, 4(%esp)
movl 16(%esp), %eax
movl %eax, (%esp)
movss (%esp), %xmm0
addss 4(%esp), %xmm0
movl 24(%esp), %eax
movss %xmm0, (%eax)
addl $12, %esp
ret
llvm-svn: 32427
2006-12-11 01:20:25 +00:00
Evan Cheng
27408161df
New entries.
...
llvm-svn: 31976
2006-11-28 19:59:25 +00:00
Chris Lattner
da103686a6
it would be nice of ctlz were lowered to bsf etc.
...
llvm-svn: 31730
2006-11-14 08:08:46 +00:00
Evan Cheng
8c372dc9b3
These are done.
...
llvm-svn: 31649
2006-11-10 22:03:35 +00:00
Chris Lattner
3826e15c8d
this part implemented.
...
llvm-svn: 31122
2006-10-22 21:40:12 +00:00
Chris Lattner
9777da8fb7
add a note
...
llvm-svn: 30921
2006-10-12 22:01:26 +00:00
Chris Lattner
399106d8f8
ugly codegen
...
llvm-svn: 30769
2006-10-06 17:39:34 +00:00
Evan Cheng
6fc0ae2136
Do away with CPU feature list. Just use CPUID to detect MMX, SSE, SSE2, SSE3, and 64-bit support.
...
llvm-svn: 30763
2006-10-06 08:21:07 +00:00
Chris Lattner
ba7013ca78
implemented
...
llvm-svn: 30559
2006-09-21 06:14:54 +00:00
Chris Lattner
437703d4c9
Fit in 80-cols
...
llvm-svn: 30556
2006-09-21 05:46:00 +00:00
Chris Lattner
f9c4e07bf7
add a note
...
llvm-svn: 30515
2006-09-20 06:32:10 +00:00
Chris Lattner
68009a61c5
add a note. Our 64-bit shifts are ~30% slower than gcc's
...
llvm-svn: 30457
2006-09-18 05:36:54 +00:00
Anton Korobeynikov
7c2118575c
Added some eye-candy for Subtarget type checking
...
Added X86 StdCall & FastCall calling conventions. Codegen will follow.
llvm-svn: 30446
2006-09-17 20:25:45 +00:00
Chris Lattner
22b3d6fba9
add a note
...
llvm-svn: 30406
2006-09-16 03:30:19 +00:00
Chris Lattner
0e9985d635
add note about switch lowering
...
llvm-svn: 30308
2006-09-13 23:37:16 +00:00
Chris Lattner
fb0e19072c
new note
...
llvm-svn: 30286
2006-09-13 04:19:50 +00:00
Chris Lattner
56e461c7d2
new note
...
llvm-svn: 30285
2006-09-13 03:54:54 +00:00
Chris Lattner
806ef17e5b
Compile X > -1 -> text X,X; js dest
...
This implements CodeGen/X86/jump_sign.ll.
llvm-svn: 30283
2006-09-13 03:22:10 +00:00
Chris Lattner
67fe605123
add a note
...
llvm-svn: 30271
2006-09-12 06:36:01 +00:00
Chris Lattner
525974551b
Testcase noticed from PR906
...
llvm-svn: 30269
2006-09-11 23:00:56 +00:00
Chris Lattner
e7cd7508ed
add compilable testcase
...
llvm-svn: 30268
2006-09-11 22:57:51 +00:00
Evan Cheng
78f5fae07f
Updates.
...
llvm-svn: 30245
2006-09-11 05:35:17 +00:00
Evan Cheng
64720acdb9
Update README file.
...
llvm-svn: 30244
2006-09-11 05:25:15 +00:00
Chris Lattner
7476a6c710
add a note
...
llvm-svn: 29722
2006-08-16 02:47:44 +00:00
Nate Begeman
7d4b0d0b9b
Update the readme to remove duplicate information and clarify the loop
...
problem.
llvm-svn: 29468
2006-08-02 05:31:20 +00:00
Evan Cheng
27c53dc36e
New entry.
...
llvm-svn: 29310
2006-07-26 21:49:52 +00:00
Evan Cheng
56e0c65937
Done.
...
llvm-svn: 29262
2006-07-21 23:07:23 +00:00
Evan Cheng
6e440c39da
New entry.
...
llvm-svn: 29215
2006-07-19 21:29:30 +00:00
Evan Cheng
793f3d97ff
Misc. new entry.
...
llvm-svn: 29202
2006-07-19 06:06:24 +00:00
Evan Cheng
e3b8db6dda
A new entry.
...
llvm-svn: 28848
2006-06-17 00:45:49 +00:00
Chris Lattner
4c7ba81f59
Add a note that Nate noticed.
...
llvm-svn: 28808
2006-06-15 21:33:31 +00:00
Evan Cheng
8d9b7650f1
A few new entries.
...
llvm-svn: 28683
2006-06-04 09:08:00 +00:00
Evan Cheng
ced05ab1b4
Add a note about integer multiplication by constants.
...
llvm-svn: 28551
2006-05-30 07:37:37 +00:00
Evan Cheng
1891844780
Some new entries about truncate / anyext
...
llvm-svn: 28548
2006-05-30 06:23:50 +00:00
Evan Cheng
c25e986c9f
A isel deficiency.
...
llvm-svn: 28427
2006-05-22 05:54:49 +00:00
Evan Cheng
bb6733743e
A new entry
...
llvm-svn: 28419
2006-05-20 07:44:53 +00:00
Chris Lattner
6ab04ce0cd
Add a note
...
llvm-svn: 28401
2006-05-19 20:55:31 +00:00
Chris Lattner
49a93a0ec9
Split the SSE readme items out into their own README.
...
llvm-svn: 28400
2006-05-19 20:51:43 +00:00
Chris Lattner
95b6519d62
Split FP-stack notes out of the main readme. Next up: splitting out SSE.
...
llvm-svn: 28399
2006-05-19 20:45:52 +00:00
Chris Lattner
c29ff5f8b1
Particularly ugly code.
...
llvm-svn: 28397
2006-05-19 19:41:33 +00:00
Chris Lattner
c0653d237a
add a note
...
llvm-svn: 28383
2006-05-18 17:38:16 +00:00
Evan Cheng
3034b633f6
Another entry
...
llvm-svn: 28370
2006-05-17 21:20:51 +00:00
Evan Cheng
b84a79a336
Another entry
...
llvm-svn: 28356
2006-05-17 19:05:31 +00:00
Evan Cheng
1f5c530d04
Remove a completed entry.
...
llvm-svn: 28199
2006-05-09 06:54:05 +00:00
Chris Lattner
5609ba71a5
Another bad case I noticed
...
llvm-svn: 28177
2006-05-08 21:39:45 +00:00
Chris Lattner
4f3345f1f1
add a note
...
llvm-svn: 28176
2006-05-08 21:24:21 +00:00
Nate Begeman
d9438bedaa
Remove some stuff from the README
...
llvm-svn: 28063
2006-05-02 22:43:31 +00:00
Chris Lattner
53275cb616
Add a note
...
llvm-svn: 27998
2006-04-27 21:40:57 +00:00
Evan Cheng
efbc112b7c
A couple of new entries.
...
llvm-svn: 27993
2006-04-27 08:31:33 +00:00
Evan Cheng
b7a2ab21a5
Add a new entry.
...
llvm-svn: 27963
2006-04-24 23:30:10 +00:00
Evan Cheng
f74b046b06
Remove a completed entry.
...
llvm-svn: 27958
2006-04-24 17:38:16 +00:00
Chris Lattner
86f1e02800
Add a note
...
llvm-svn: 27954
2006-04-23 19:47:09 +00:00
Chris Lattner
d81dcf9da4
fix thinko
...
llvm-svn: 27935
2006-04-21 21:05:22 +00:00
Chris Lattner
84a811d57e
add some low-prio notes
...
llvm-svn: 27934
2006-04-21 21:03:21 +00:00
Chris Lattner
99c7c3ad2f
Add a note.
...
llvm-svn: 27827
2006-04-19 05:53:27 +00:00
Evan Cheng
6be2e4b419
Correct comments
...
llvm-svn: 27790
2006-04-18 03:45:01 +00:00
Evan Cheng
13a5022494
Another entry
...
llvm-svn: 27786
2006-04-18 01:22:57 +00:00
Evan Cheng
2f9011cd87
Another entry.
...
llvm-svn: 27784
2006-04-18 00:21:01 +00:00
Evan Cheng
32e5d4f6bc
Silly bug
...
llvm-svn: 27719
2006-04-15 05:37:34 +00:00
Evan Cheng
cc83472e2d
New entry
...
llvm-svn: 27697
2006-04-14 07:24:04 +00:00
Evan Cheng
d6cad69ef4
Update
...
llvm-svn: 27643
2006-04-13 05:09:45 +00:00
Evan Cheng
2c2d734efd
All "integer" logical ops (pand, por, pxor) are now promoted to v2i64.
...
Clean up and fix various logical ops issues.
llvm-svn: 27633
2006-04-12 21:21:57 +00:00
Chris Lattner
2879e2222e
add a note
...
llvm-svn: 27567
2006-04-10 21:51:03 +00:00
Evan Cheng
34dd1c80dd
Remove an entry that is now done.
...
llvm-svn: 27565
2006-04-10 21:42:57 +00:00
Evan Cheng
255a990223
Correct an entry
...
llvm-svn: 27563
2006-04-10 21:41:39 +00:00
Evan Cheng
5326565791
New entries
...
llvm-svn: 27555
2006-04-10 07:22:03 +00:00
Evan Cheng
0dd7987d36
Keep track of an Mac OS X / x86 ABI bug.
...
llvm-svn: 27496
2006-04-07 21:19:53 +00:00
Evan Cheng
e248d318a8
New entries.
...
llvm-svn: 27473
2006-04-06 23:21:24 +00:00
Evan Cheng
dcf423ad74
An entry about comi / ucomi intrinsics.
...
llvm-svn: 27445
2006-04-05 23:46:04 +00:00
Evan Cheng
6e8b924416
Another entry about shuffles.
...
llvm-svn: 27245
2006-03-29 03:03:46 +00:00
Evan Cheng
a96380ba3f
Update
...
llvm-svn: 27220
2006-03-28 06:55:45 +00:00
Evan Cheng
ca067debe3
Added a couple of entries about movhps and movlhps.
...
llvm-svn: 27212
2006-03-28 02:49:12 +00:00
Evan Cheng
9accac09cd
All unpack cases are now being handled.
...
llvm-svn: 27211
2006-03-28 02:44:05 +00:00
Nate Begeman
507e293848
Readme note
...
llvm-svn: 27152
2006-03-26 19:19:27 +00:00
Chris Lattner
ace2d0d227
Gabor points out that we can't spell. :)
...
llvm-svn: 27049
2006-03-24 07:12:19 +00:00
Evan Cheng
8507228441
All v2f64 shuffle cases can be handled.
...
llvm-svn: 27044
2006-03-24 06:40:32 +00:00
Evan Cheng
184c4b937e
A new entry
...
llvm-svn: 27039
2006-03-24 02:57:03 +00:00
Evan Cheng
a56ed39464
Combine 2 entries
...
llvm-svn: 26921
2006-03-21 07:18:26 +00:00
Evan Cheng
f8d8d45ff8
Add a note about x86 register coallescing
...
llvm-svn: 26920
2006-03-21 07:12:57 +00:00
Chris Lattner
9a87d3e90d
add a note with a testcase
...
llvm-svn: 26877
2006-03-19 22:27:41 +00:00
Evan Cheng
98b79bf7ec
Remember which tests are hurt by LSR.
...
llvm-svn: 26860
2006-03-19 06:08:11 +00:00
Evan Cheng
33055a8aba
A new entry.
...
llvm-svn: 26810
2006-03-16 22:44:22 +00:00
Chris Lattner
57acce1443
a couple of miscellaneous things.
...
llvm-svn: 26625
2006-03-09 01:39:46 +00:00
Chris Lattner
55fbd49ca9
add a note for something evan noticed
...
llvm-svn: 26539
2006-03-05 01:15:18 +00:00
Evan Cheng
65b5c2c680
Add an entry
...
llvm-svn: 26520
2006-03-04 07:49:50 +00:00
Evan Cheng
e5ae39621b
Another entry.
...
llvm-svn: 26430
2006-02-28 23:38:49 +00:00
Evan Cheng
8a6f03bb0e
Updates.
...
llvm-svn: 26375
2006-02-25 10:04:07 +00:00
Chris Lattner
23b302ce83
add a small and simple case.
...
llvm-svn: 26326
2006-02-23 05:17:43 +00:00
Evan Cheng
a85c267431
A couple of new entries.
...
llvm-svn: 26325
2006-02-23 02:50:21 +00:00
Evan Cheng
a0f9da472a
Some updates
...
llvm-svn: 26292
2006-02-20 19:58:27 +00:00
Chris Lattner
13dd179299
add note about div by power of 2
...
llvm-svn: 26253
2006-02-17 04:20:13 +00:00
Evan Cheng
c7b32ddecc
Remind ourselves to revisit the "pxor vs. xorps/xorpd to clear XMM registers"
...
issue. Need to do more experiments.
llvm-svn: 26247
2006-02-17 00:04:28 +00:00
Evan Cheng
3d0135afdc
Remove the entry about using movapd for SSE reg-reg moves.
...
llvm-svn: 26245
2006-02-17 00:00:58 +00:00
Evan Cheng
53c574c6fa
Remove an entry.
...
llvm-svn: 26197
2006-02-15 01:56:48 +00:00
Chris Lattner
17226f6adc
new note
...
llvm-svn: 26186
2006-02-14 22:19:54 +00:00
Evan Cheng
030631350f
Add a entry.
...
llvm-svn: 26173
2006-02-14 08:25:32 +00:00
Evan Cheng
53c409e694
Remove a completed entry; add a new entry about fisttp op
...
llvm-svn: 26105
2006-02-10 05:48:15 +00:00
Chris Lattner
9cc9988279
add a simple optimization
...
llvm-svn: 26062
2006-02-08 17:47:22 +00:00
Chris Lattner
560429667e
more email -> README moving
...
llvm-svn: 26054
2006-02-08 07:12:07 +00:00
Chris Lattner
a4b6082b7a
Add some random notes, not high-prio
...
llvm-svn: 26052
2006-02-08 06:52:06 +00:00
Evan Cheng
a7d31e53e8
Remind myself to add PIC and static asm printer support.
...
llvm-svn: 26037
2006-02-07 08:35:44 +00:00
Chris Lattner
172cf85d48
remove some target-indep and implemented notes
...
llvm-svn: 25930
2006-02-03 06:22:11 +00:00