Anton Korobeynikov
95f3449d4d
Drop CSRET CC
...
llvm-svn: 33598
2007-01-28 13:36:18 +00:00
Anton Korobeynikov
611d5e2eda
Propagate changes from my local tree. This patch includes:
...
1. New parameter attribute called 'inreg'. It has meaning "place this
parameter in registers, if possible". This is some generalization of
gcc's regparm(n) attribute. It's currently used only in X86-32 backend.
2. Completely rewritten CC handling/lowering code inside X86 backend.
Merged stdcall + c CCs and fastcall + fast CC.
3. Dropped CSRET CC. We cannot add struct return variant for each
target-specific CC (e.g. stdcall + csretcc and so on).
4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in
on first attribute has meaning 'This is hidden pointer to structure
return. Handle it gently'.
5. Fixed small bug in llvm-extract + add new feature to
FunctionExtraction pass, which relinks all internal-linkaged callees
from deleted function to external linkage. This will allow further
linking everything together.
NOTEs: 1. Documentation will be updated soon.
2. llvm-upgrade should be improved to translate csret => sret.
Before this, there will be some unexpected test fails.
llvm-svn: 33597
2007-01-28 13:31:35 +00:00
Reid Spencer
5cda62fa8a
This file has been dead for a long time. Remove it.
...
llvm-svn: 33596
2007-01-28 08:04:14 +00:00
Reid Spencer
e9a20b92a6
Regenerate.
...
llvm-svn: 33595
2007-01-28 00:52:05 +00:00
Reid Spencer
2041d78a6f
For PR1137:
...
When a value is found to have the same name as another, try harder to
disambiguate when its a type plane collapse issue and when it isn't. We
traverse the type to see if it contains an integer. If it does not then
we issue the error because it can't be resulting from integer type planes
collapsing. Otherwise we just rename it, even if that's a bit of overkill.
llvm-svn: 33594
2007-01-28 00:51:40 +00:00
Reid Spencer
1fb87aef6d
Test case for PR1137. This makes sure that we don't get erroneous
...
"redefinition" errors that cause the upgrade to fail.
llvm-svn: 33593
2007-01-28 00:45:28 +00:00
Chris Lattner
302032e482
provide a definition for uintptr_t
...
llvm-svn: 33592
2007-01-27 23:52:33 +00:00
Chris Lattner
f068e202fd
Fix test/Transforms/InstCombine/2007-01-27-AndICmp.ll, a miscompilation of
...
Mozilla that Anton tracked down.
llvm-svn: 33591
2007-01-27 23:08:34 +00:00
Chris Lattner
1c1eaa542d
Testcase for an instcombine miscompilation reduced by Anton.
...
llvm-svn: 33590
2007-01-27 23:07:12 +00:00
Reid Spencer
1d622f85b8
Use -f option so test is repeatable.
...
llvm-svn: 33589
2007-01-27 21:10:35 +00:00
Reid Spencer
db3c0b3978
Add a test case for PR411.
...
llvm-svn: 33588
2007-01-27 21:09:03 +00:00
Reid Spencer
5750f413d4
Make this really do nothing.
...
llvm-svn: 33587
2007-01-27 21:08:29 +00:00
Owen Anderson
b544804caf
Describe the recent changes to the bytecode format for PR761.
...
llvm-svn: 33586
2007-01-27 19:23:25 +00:00
Bill Wendling
5b83c819ec
Make d'tor out-of-line.
...
llvm-svn: 33585
2007-01-27 11:40:32 +00:00
Chris Lattner
38f873d682
Make SmallSet<whatever*, N> faster by transparently implementing it with
...
SmallPtrSet. Some clients will need to use SmallPtrSet directly though if
they need to iterate over the set.
llvm-svn: 33584
2007-01-27 08:20:15 +00:00
Chris Lattner
4307892029
add some missing API
...
llvm-svn: 33583
2007-01-27 08:19:03 +00:00
Chris Lattner
8360d61860
Give SmallSet a reasonable fallback if it gets large: use an std::set.
...
llvm-svn: 33582
2007-01-27 08:14:53 +00:00
Chris Lattner
2ca5edd29e
implement SmallPtrSet::erase
...
llvm-svn: 33581
2007-01-27 07:59:10 +00:00
Chris Lattner
cc42c6a00d
Fix a limitation of SmallPtrSet. Before it would assert if the smallsize
...
was not a power of two. Now it rounds up to the next power of two internally.
llvm-svn: 33580
2007-01-27 07:52:27 +00:00
Chris Lattner
6e11e4fb50
add some comments on the algorithm
...
llvm-svn: 33579
2007-01-27 07:24:51 +00:00
Chris Lattner
a7fec4020b
add a note
...
llvm-svn: 33578
2007-01-27 07:18:32 +00:00
Chris Lattner
22513a4828
Add a new SmallSet ADT specialized for pointers.
...
llvm-svn: 33577
2007-01-27 07:10:46 +00:00
Reid Spencer
a31a19d76c
Add some comments, fix an 80 cols violation.
...
llvm-svn: 33576
2007-01-27 04:42:50 +00:00
Bill Wendling
9c7b0a19eb
Return an X86ELFWriterInfo object.
...
llvm-svn: 33574
2007-01-27 02:56:16 +00:00
Bill Wendling
cf51d8e9d0
Use TargetELFWriterInfo class.
...
llvm-svn: 33573
2007-01-27 02:55:44 +00:00
Bill Wendling
671eb167eb
Accessor for the TargetELFWriterInfo class object.
...
llvm-svn: 33572
2007-01-27 02:55:04 +00:00
Bill Wendling
f5cec978ec
X86 implementation of the TargetELFWriterInfo class.
...
llvm-svn: 33571
2007-01-27 02:54:30 +00:00
Bill Wendling
94f0477a62
The TargetELFWriterInfo class holds target-specific information for the ELF writer.
...
llvm-svn: 33570
2007-01-27 02:53:50 +00:00
Evan Cheng
e0dc07a83f
New entry.
...
llvm-svn: 33569
2007-01-27 02:33:22 +00:00
Evan Cheng
4618d3131c
Thumb jumptable support.
...
llvm-svn: 33568
2007-01-27 02:29:45 +00:00
Chris Lattner
a0210a8d2b
simplify insert interface
...
llvm-svn: 33567
2007-01-27 02:13:58 +00:00
Chris Lattner
8e8ec41bea
clean up comment
...
llvm-svn: 33566
2007-01-27 01:14:20 +00:00
Chris Lattner
afae6b52c2
add an explanatory comment.
...
llvm-svn: 33565
2007-01-27 00:23:45 +00:00
Reid Spencer
7f0c1cc237
Apparently the last commit is wrong. Reverted.
...
llvm-svn: 33564
2007-01-27 00:21:01 +00:00
Reid Spencer
7574237166
Remove a double negative.
...
llvm-svn: 33563
2007-01-27 00:16:07 +00:00
Evan Cheng
9805b66063
Thumb add / sub with carry.
...
llvm-svn: 33562
2007-01-27 00:07:15 +00:00
Evan Cheng
bd325bdcd2
Thumb tests.
...
llvm-svn: 33561
2007-01-27 00:05:14 +00:00
Evan Cheng
ffed2abf43
Merge tests.
...
llvm-svn: 33560
2007-01-27 00:04:57 +00:00
Lauro Ramos Venancio
f1f9f05230
Some asm directives fixes for ELF.
...
Now we can compile llvm-gcc on arm-linux-gnueabi!
llvm-svn: 33558
2007-01-26 23:24:43 +00:00
Jim Laskey
9d10e4e1fe
Make the constant honest.
...
llvm-svn: 33557
2007-01-26 23:00:54 +00:00
Nate Begeman
80d913651d
Fix a spelling error
...
llvm-svn: 33556
2007-01-26 22:40:50 +00:00
Nate Begeman
481b84a66b
Handle multiple functions, properly mangle symbols, and fix support for
...
scattered relocations.
llvm-svn: 33555
2007-01-26 22:39:48 +00:00
Chris Lattner
c7e278045f
fit in 80 cols
...
llvm-svn: 33553
2007-01-26 21:48:40 +00:00
Jim Laskey
fdc04d1ea7
rename files
...
llvm-svn: 33552
2007-01-26 21:38:26 +00:00
Evan Cheng
55455f0532
Represent tADDspi and tSUBspi as two-address instructions.
...
llvm-svn: 33551
2007-01-26 21:33:19 +00:00
Jim Laskey
64f4242072
Change the MachineDebugInfo to MachineModuleInfo to better reflect usage
...
for debugging and exception handling.
llvm-svn: 33550
2007-01-26 21:22:28 +00:00
Lauro Ramos Venancio
762787bed7
Fix Data16bitsDirective for ELF.
...
llvm-svn: 33549
2007-01-26 21:20:45 +00:00
Evan Cheng
2b4f267d57
Conditional branch being fixed up is not the last MI in the BB, there is a
...
unconditional branch following it. Simply invert the condition and swap
destinations if the conditional branch can reach the destination of the
unconditional branch:
beq L1
b L2
=>
bne L2
b L1
llvm-svn: 33548
2007-01-26 20:38:26 +00:00
Reid Spencer
1db79d3e23
Regenerate.
...
llvm-svn: 33547
2007-01-26 20:31:18 +00:00
Reid Spencer
e603c7d836
Make sure that an upgraded index is also inserted into the VIndices
...
otherwise it gets ignored.
This fixes test/CodeGen/X86/2006-05-11-InstrSched.ll
Thanks to Evan Cheng for noticing this.
llvm-svn: 33546
2007-01-26 20:29:52 +00:00