Commit Graph

29351 Commits

Author SHA1 Message Date
Nate Begeman e3b09fbbb0 We'd still like to register allocate r2 on darwin before the callee-save
regs.

llvm-svn: 33635
2007-01-29 22:57:48 +00:00
Jim Laskey 52726f5837 rename flag
llvm-svn: 33634
2007-01-29 22:40:03 +00:00
Evan Cheng 8953edc8a5 Comment.
llvm-svn: 33633
2007-01-29 22:23:02 +00:00
Evan Cheng 43e8518d8b Remember if LR register has been spilled in this function.
llvm-svn: 33632
2007-01-29 22:22:24 +00:00
Anton Korobeynikov b8d8b82950 Save all registers by default, as they can be used to pass parameters
for "inreg" calls

llvm-svn: 33631
2007-01-29 21:28:01 +00:00
Nate Begeman 17f250005a Update some of the llvm in the readme
llvm-svn: 33630
2007-01-29 21:21:22 +00:00
Nate Begeman 2a562ba47b Properly support cstrings
llvm-svn: 33629
2007-01-29 21:20:42 +00:00
Jim Laskey d1154860a4 Flag to control exception handling.
llvm-svn: 33628
2007-01-29 20:48:32 +00:00
Devang Patel 5a4a315aed Measure timings.
llvm-svn: 33627
2007-01-29 20:08:03 +00:00
Devang Patel 55bcb50840 Move TimingInfo into PassManagers.h so that other libs can use it.
llvm-svn: 33626
2007-01-29 20:06:26 +00:00
Jim Laskey 18c3b5267d Disable zero landing pads for now.
llvm-svn: 33625
2007-01-29 20:01:41 +00:00
Reid Spencer bae85637c7 Regenerate.
llvm-svn: 33624
2007-01-29 19:08:46 +00:00
Reid Spencer e87c917a69 For PR1142:
When an unresolved definition is found, check to see if it is only unresolved
because the csretcc was upgraded to the sret param attribute. Such changes
change the function type and lead to unresolved definitions. In such cases, just
cast the function to the type expected by the CallInst. That is, cast to the
version of the function that has the sret param attribute.

llvm-svn: 33623
2007-01-29 19:07:18 +00:00
Jim Laskey b4a2f05d1c Landing pad-less eh for PPC.
llvm-svn: 33622
2007-01-29 18:51:14 +00:00
Jim Laskey c8397b9214 Update project
llvm-svn: 33621
2007-01-29 18:45:08 +00:00
Reid Spencer 42b2c08e3a Remove tabs.
llvm-svn: 33620
2007-01-29 17:55:50 +00:00
Reid Spencer 1e960cd4fd Implement use of new IntrinsicLowering interface.
llvm-svn: 33619
2007-01-29 17:51:02 +00:00
Reid Spencer d7035b654b Use TargetData to obtain the correct size of the "size_t" argument for
functions like memcpy, memmove and memset. Ensure only one prototype is
used for these functions and that it matches the system definition by
using the appropriate type for the size argument.

llvm-svn: 33618
2007-01-29 17:42:06 +00:00
Reid Spencer 34dbbca483 IntrinsicLowering now requires TargetData.
llvm-svn: 33617
2007-01-29 17:39:50 +00:00
Jim Laskey d33e5a822b Update project.
llvm-svn: 33616
2007-01-29 15:09:35 +00:00
Reid Spencer c3eba3fc93 Regenerate.
llvm-svn: 33615
2007-01-29 05:41:34 +00:00
Reid Spencer 8714f0025c Upgrade old csret calling convention into sret parameter attribute.
llvm-svn: 33614
2007-01-29 05:41:09 +00:00
Reid Spencer ccef5a35bf Update this test case to look for sret parameter attribute not csret cc.
llvm-svn: 33613
2007-01-29 05:40:02 +00:00
Nick Lewycky 56639800c9 Simplify names of lattice values. SGTUNE becomes SGT, for example.
Fix initializeConstant, now initializeInt. Fixes major performance
bottleneck.

X == Y || X->DominatedBy(Y) is redundant. Remove the X == Y part.

Fix crasher in makeEqual where getOrInsertNode would add a new constant,
producing an NE relationship between the two members we're trying to make
equal. This now allows us to mark more BBs as unreachable.

llvm-svn: 33612
2007-01-29 02:56:54 +00:00
Chris Lattner 78bddc388c Read from the right place.
llvm-svn: 33611
2007-01-29 02:18:13 +00:00
Chris Lattner 7f3bd82ab9 Fix PR1139
llvm-svn: 33610
2007-01-29 00:21:34 +00:00
Anton Korobeynikov 6843149863 Make doxygen happy
llvm-svn: 33609
2007-01-29 00:09:00 +00:00
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