Commit Graph

31724 Commits

Author SHA1 Message Date
Reid Spencer
c7765617d2 For PR1138:
Force memcpy to be the 32-bit variant. Since this is only used with
CBE and lli which both target 32-bit machines, this should be okay.

llvm-svn: 33608
2007-01-28 22:28:00 +00:00
Reid Spencer
326bf785a2 Adjust a comment to reflect reality.
llvm-svn: 33607
2007-01-28 22:26:42 +00:00
Anton Korobeynikov
06f7d4bec7 Arguments are counting from 1. not from 0. Maybe we should change
numbering somehow? E.g. make return argument the last?

llvm-svn: 33606
2007-01-28 18:01:49 +00:00
Anton Korobeynikov
9fa3839d29 More cleanup
llvm-svn: 33605
2007-01-28 16:04:40 +00:00
Nick Lewycky
eba26e463a Drop CSRET from here too.
llvm-svn: 33604
2007-01-28 15:51:15 +00:00
Nick Lewycky
0c49722b36 Fix compile error "jump to case label crosses initialization".
What compiler are people using that accepts this code?

llvm-svn: 33603
2007-01-28 15:39:16 +00:00
Anton Korobeynikov
e93c6e8dca Grammar fix
llvm-svn: 33602
2007-01-28 15:27:21 +00:00
Anton Korobeynikov
15f3028ba1 Merge error at my side. Fixed.
llvm-svn: 33601
2007-01-28 15:25:24 +00:00
Anton Korobeynikov
e816685bd5 Document 'inreg' & 'sret'
llvm-svn: 33600
2007-01-28 14:30:45 +00:00
Anton Korobeynikov
75e8a144d4 Regenerate
llvm-svn: 33599
2007-01-28 13:37:39 +00:00
Anton Korobeynikov
4bca4d157f Drop CSRET CC
llvm-svn: 33598
2007-01-28 13:36:18 +00:00
Anton Korobeynikov
037c867b54 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
262068d2da This file has been dead for a long time. Remove it.
llvm-svn: 33596
2007-01-28 08:04:14 +00:00
Reid Spencer
07af391927 Regenerate.
llvm-svn: 33595
2007-01-28 00:52:05 +00:00
Reid Spencer
dfa78fba8e 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
4be2853bfb 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
c56fd7fe0f provide a definition for uintptr_t
llvm-svn: 33592
2007-01-27 23:52:33 +00:00
Chris Lattner
c8fb6de78c 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
d50698107e Testcase for an instcombine miscompilation reduced by Anton.
llvm-svn: 33590
2007-01-27 23:07:12 +00:00
Reid Spencer
f422607990 Use -f option so test is repeatable.
llvm-svn: 33589
2007-01-27 21:10:35 +00:00
Reid Spencer
5dd5d4b09e Add a test case for PR411.
llvm-svn: 33588
2007-01-27 21:09:03 +00:00
Reid Spencer
e1e8a58cd3 Make this really do nothing.
llvm-svn: 33587
2007-01-27 21:08:29 +00:00
Owen Anderson
8ce4b1b9cd Describe the recent changes to the bytecode format for PR761.
llvm-svn: 33586
2007-01-27 19:23:25 +00:00
Bill Wendling
fa663eec17 Make d'tor out-of-line.
llvm-svn: 33585
2007-01-27 11:40:32 +00:00
Chris Lattner
107cba6102 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
c4f9d11c32 add some missing API
llvm-svn: 33583
2007-01-27 08:19:03 +00:00
Chris Lattner
084a169d49 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
39ab70cf80 implement SmallPtrSet::erase
llvm-svn: 33581
2007-01-27 07:59:10 +00:00
Chris Lattner
030a2dcc1e 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
498f00a26a add some comments on the algorithm
llvm-svn: 33579
2007-01-27 07:24:51 +00:00
Chris Lattner
ab5d0ba168 add a note
llvm-svn: 33578
2007-01-27 07:18:32 +00:00
Chris Lattner
74102df857 Add a new SmallSet ADT specialized for pointers.
llvm-svn: 33577
2007-01-27 07:10:46 +00:00
Reid Spencer
679004e719 Add some comments, fix an 80 cols violation.
llvm-svn: 33576
2007-01-27 04:42:50 +00:00
Bill Wendling
c1f1035518 Return an X86ELFWriterInfo object.
llvm-svn: 33574
2007-01-27 02:56:16 +00:00
Bill Wendling
3814e72ed1 Use TargetELFWriterInfo class.
llvm-svn: 33573
2007-01-27 02:55:44 +00:00
Bill Wendling
a9167da9bb Accessor for the TargetELFWriterInfo class object.
llvm-svn: 33572
2007-01-27 02:55:04 +00:00
Bill Wendling
2bab162501 X86 implementation of the TargetELFWriterInfo class.
llvm-svn: 33571
2007-01-27 02:54:30 +00:00
Bill Wendling
2ee13a0881 The TargetELFWriterInfo class holds target-specific information for the ELF writer.
llvm-svn: 33570
2007-01-27 02:53:50 +00:00
Evan Cheng
0cd49bc8a2 New entry.
llvm-svn: 33569
2007-01-27 02:33:22 +00:00
Evan Cheng
0701c5a074 Thumb jumptable support.
llvm-svn: 33568
2007-01-27 02:29:45 +00:00
Chris Lattner
672a31c835 simplify insert interface
llvm-svn: 33567
2007-01-27 02:13:58 +00:00
Chris Lattner
33aba834e5 clean up comment
llvm-svn: 33566
2007-01-27 01:14:20 +00:00
Chris Lattner
a8026568b5 add an explanatory comment.
llvm-svn: 33565
2007-01-27 00:23:45 +00:00
Reid Spencer
514399daf1 Apparently the last commit is wrong. Reverted.
llvm-svn: 33564
2007-01-27 00:21:01 +00:00
Reid Spencer
5274612e1a Remove a double negative.
llvm-svn: 33563
2007-01-27 00:16:07 +00:00
Evan Cheng
f40b9006a8 Thumb add / sub with carry.
llvm-svn: 33562
2007-01-27 00:07:15 +00:00
Evan Cheng
9f82ccb01f Thumb tests.
llvm-svn: 33561
2007-01-27 00:05:14 +00:00
Evan Cheng
df446c6f72 Merge tests.
llvm-svn: 33560
2007-01-27 00:04:57 +00:00
Lauro Ramos Venancio
7d47719af0 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
73e79b5a43 Make the constant honest.
llvm-svn: 33557
2007-01-26 23:00:54 +00:00