Chris Lattner [Sat, 28 Jan 2006 07:39:30 +0000 (07:39 +0000)]
Several major changes:
1. Pull out the expand cases for BSWAP and CT* into a separate function,
reducing the size of LegalizeOp.
2. Fix a bug where expand(bswap i64) was wrong when i64 is legal.
3. Changed LegalizeOp/PromoteOp so that the legalizer never needs to be
iterative. It now operates in a single pass over the nodes.
4. Simplify a LOT of code, with a net reduction of ~280 lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25736
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 07:33:03 +0000 (07:33 +0000)]
Fix a bug in my elimination of ISD::CALL this morning. PPC now has to
provide the expansion for i64 calls itself
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25735
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 06:05:41 +0000 (06:05 +0000)]
make this work on non-native hosts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25734
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 05:40:47 +0000 (05:40 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25733
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 05:07:51 +0000 (05:07 +0000)]
Eliminate the need for ExpandOp to set 'needsanotheriteration', as it already
relegalizes the stuff it returns.
Add the ability to custom expand ADD/SUB, so that targets don't need to deal
with ADD_PARTS/SUB_PARTS if they don't want.
Fix some obscure potential bugs and simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25732
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 04:28:26 +0000 (04:28 +0000)]
Instead of making callers of ExpandLibCall legalize the result, make
ExpandLibCall do it itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25731
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 04:23:12 +0000 (04:23 +0000)]
Eliminate the need to do another iteration of the legalizer after inserting
a libcall.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25730
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 03:43:33 +0000 (03:43 +0000)]
remove this method I just added, now is not the time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25729
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 03:43:09 +0000 (03:43 +0000)]
remove method I just added
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25728
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 03:37:03 +0000 (03:37 +0000)]
add a new callback
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25727
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 28 Jan 2006 03:14:31 +0000 (03:14 +0000)]
Implement Promote for VAARG, and allow it to be custom promoted for people
who don't want the default behavior (Alpha).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25726
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 28 Jan 2006 01:22:10 +0000 (01:22 +0000)]
Add a couple more things to the readme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25724
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 28 Jan 2006 01:06:30 +0000 (01:06 +0000)]
Add a missing case to the dag combiner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25723
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 00:18:58 +0000 (00:18 +0000)]
Remove the ISD::CALL and ISD::TAILCALL nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25721
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 00:18:27 +0000 (00:18 +0000)]
The 'target-independent' ISD::CALL isn't. Nuke it, making way for Nate's
future work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25720
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 28 Jan 2006 00:02:51 +0000 (00:02 +0000)]
Remove some dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25719
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 23:39:00 +0000 (23:39 +0000)]
Switch to AlphaISD::CALL instead of ISD::CALL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25718
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 23:34:02 +0000 (23:34 +0000)]
Use PPCISD::CALL instead of ISD::CALL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25717
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 23:30:03 +0000 (23:30 +0000)]
Use V8ISD::CALL instead of ISD::CALL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25716
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 22:54:32 +0000 (22:54 +0000)]
A bit of wisdom from Chris on the last entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25715
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 22:53:29 +0000 (22:53 +0000)]
AT&T assembly convention: registers are in lower case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25714
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 22:51:51 +0000 (22:51 +0000)]
Use Intel assembly syntax to look for ST
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 22:38:36 +0000 (22:38 +0000)]
initialize member vars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25712
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 22:37:09 +0000 (22:37 +0000)]
initialize all instance vars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 22:25:06 +0000 (22:25 +0000)]
Make llvm.frame/returnaddr not crash on ppc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25710
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 27 Jan 2006 22:22:28 +0000 (22:22 +0000)]
Teach tablegen to generate code that is VC++ warning-free.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25709
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 22:13:45 +0000 (22:13 +0000)]
(store (op (load ...)), ...)
If store's chain operand is load, then use load's chain operand instead. If
it isn't (likely a TokenFactor), then do not allow the folding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25708
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 22:13:12 +0000 (22:13 +0000)]
* Eliminate FAKE_SOURCES
* Make runtimes and projects build with the new front-end by not relying on
'llvm-gcc -c' to build a .bc file. Instead, use llvm-gcc -S -emit-llvm,
then an explicit invocation of gccas. Also, don't use llvm-gcc to link
.bc files together, use gccld directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25707
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 22:11:01 +0000 (22:11 +0000)]
Added notes about a x86 isel deficiency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25706
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 22:06:50 +0000 (22:06 +0000)]
Remove out of date comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25705
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 22:06:23 +0000 (22:06 +0000)]
Remove the only use of FAKE_SOURCES
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25704
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 22:06:01 +0000 (22:06 +0000)]
Remove FAKE_SOURCES
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25703
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 21:49:34 +0000 (21:49 +0000)]
Added a temporary option -enable-x86-sse to enable sse support. It is used by
llc-beta.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25701
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 21:26:54 +0000 (21:26 +0000)]
Bye bye Pattern ISel, hello DAG ISel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25700
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 21:15:22 +0000 (21:15 +0000)]
X86 dag isel is now (soon) the default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25699
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 21:14:23 +0000 (21:14 +0000)]
These are fp stack test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25698
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 21:13:27 +0000 (21:13 +0000)]
XFAIL tailcall test cases until it's implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25697
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Fri, 27 Jan 2006 21:09:22 +0000 (21:09 +0000)]
Remove TLI.LowerReturnTo, and just let targets custom lower ISD::RET for
the same functionality. This addresses another piece of bug 680. Next,
on to fixing Alpha VAARG, which I broke last time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25696
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Jan 2006 20:31:25 +0000 (20:31 +0000)]
Using bit size of integers instead of ambiguous "long" et all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25694
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 19:30:30 +0000 (19:30 +0000)]
A better workaround
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25692
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Jan 2006 18:32:41 +0000 (18:32 +0000)]
Sorry - really folowing convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25691
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 18:30:50 +0000 (18:30 +0000)]
force sse/3dnow off until they work. This fixes all the x86 failures last night
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25690
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Jan 2006 18:28:31 +0000 (18:28 +0000)]
Following convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25689
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 18:27:18 +0000 (18:27 +0000)]
Unbreak the JIT with SSE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25688
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 27 Jan 2006 18:16:17 +0000 (18:16 +0000)]
fix build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25687
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 17:31:30 +0000 (17:31 +0000)]
Fix build error that is apparently only a warning with some compilers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25686
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Jan 2006 15:46:54 +0000 (15:46 +0000)]
Forgot the version number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25685
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Jan 2006 15:20:54 +0000 (15:20 +0000)]
Improve visibility/correctness of operand indices in "llvm.db" objects.
Handle 64 in DIEs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25684
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 27 Jan 2006 13:24:20 +0000 (13:24 +0000)]
Catch up on some of the file addition/deletions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25683
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Jan 2006 11:49:27 +0000 (11:49 +0000)]
Fix auto-upgrade of intrinsics to work properly with both assembly and
bytecode reading. This code is crufty, the result of much hacking to get things
working correctly. Cleanup patches will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25682
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Jan 2006 11:28:48 +0000 (11:28 +0000)]
A test case for ensuring that conversion of old-format intrinsics with
signed arguments get auto-upgraded correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25681
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 27 Jan 2006 11:27:37 +0000 (11:27 +0000)]
This now passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25680
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 08:10:46 +0000 (08:10 +0000)]
x86 CPU detection and proper subtarget support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25679
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 27 Jan 2006 08:09:42 +0000 (08:09 +0000)]
Subtarget feature can now set any variable to any value
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25678
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 02:10:50 +0000 (02:10 +0000)]
Use printInlineAsm to, well, print inline asm's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25677
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 02:10:10 +0000 (02:10 +0000)]
Stub out a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25676
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 02:09:16 +0000 (02:09 +0000)]
add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25675
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 01:46:15 +0000 (01:46 +0000)]
PHI and INLINEASM are now built-in instructions provided by Target.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25674
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 01:45:06 +0000 (01:45 +0000)]
PHI and INLINEASM are now builtin instructions provided by Target.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25673
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 01:44:09 +0000 (01:44 +0000)]
If we want to emit things in enum order, use getInstructionsByEnumValue to
get the order, don't compute it ourselves.
Don't emit stuff like (14<<0), emit 14 instead.
Don't attempt to get target properties for builtin instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25672
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 01:41:55 +0000 (01:41 +0000)]
There is at least a 'noitinerary' itinerary now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25671
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 01:41:38 +0000 (01:41 +0000)]
Add a default NoItinerary class for targets to use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25670
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 27 Jan 2006 01:39:38 +0000 (01:39 +0000)]
Don't emit JIT code for these instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25669
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 23:28:04 +0000 (23:28 +0000)]
Teach the scheduler to emit the appropriate INLINEASM MachineInstr for an
ISD::INLINEASM node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25668
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 23:27:02 +0000 (23:27 +0000)]
Add a common INLINEASM opcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25667
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 23:08:55 +0000 (23:08 +0000)]
Teach the dag selectors to select InlineAsm nodes.
Aren't we happy the pattern selectors are almost all gone?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25666
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 26 Jan 2006 22:25:04 +0000 (22:25 +0000)]
Dropped DwarfWriter::
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25665
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 22:24:51 +0000 (22:24 +0000)]
initial selectiondag support for new INLINEASM node. Note that inline asms
with outputs or inputs are not supported yet. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25664
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 22:23:45 +0000 (22:23 +0000)]
Add new INLINEASM node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25663
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 26 Jan 2006 21:22:49 +0000 (21:22 +0000)]
Use global information to fill out Dwarf compile units.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25662
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 26 Jan 2006 20:41:32 +0000 (20:41 +0000)]
Improve compatibility with VC2005, patch by Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25661
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 20:37:03 +0000 (20:37 +0000)]
Implement a method for inline asm support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25660
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 20:36:29 +0000 (20:36 +0000)]
add some methods for case-insensitive string compares
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25659
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 26 Jan 2006 20:32:00 +0000 (20:32 +0000)]
Update files lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25658
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 26 Jan 2006 20:30:51 +0000 (20:30 +0000)]
Use find instead of lower_bounds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25657
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 20:27:33 +0000 (20:27 +0000)]
Add a method for inline asm support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25656
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 26 Jan 2006 20:21:46 +0000 (20:21 +0000)]
Set up MachineDebugInfo to scan for debug information form "llvm.db"g globals.
Global Variable information is now pulled from "llvm.dbg.globals"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25655
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 26 Jan 2006 20:09:35 +0000 (20:09 +0000)]
Add support to find existing entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25654
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 19:55:20 +0000 (19:55 +0000)]
Improve compatibility with VC2005, patch by Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25653
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 26 Jan 2006 19:38:58 +0000 (19:38 +0000)]
dynamically allocate plugin space as needed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25652
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Jan 2006 19:13:45 +0000 (19:13 +0000)]
Another folding problem: if a node r/w chain or flag, don't fold it if it
has already been selected. The number of use check is not strong enough since
a node can be replaced with newly created target node. e.g. If the original
node has two uses, when it is selected for one of the uses it is replaced with
another. Each node now has a single use but isel still should not fold it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25651
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 26 Jan 2006 18:37:21 +0000 (18:37 +0000)]
Pass plugins on to children when optimizing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25650
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 26 Jan 2006 18:36:50 +0000 (18:36 +0000)]
Remember plugins should someone like bugpoint want to know them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25649
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 26 Jan 2006 17:43:42 +0000 (17:43 +0000)]
added a couple test cases, including the new vaarg breakage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25648
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 26 Jan 2006 16:49:00 +0000 (16:49 +0000)]
Teach Visual Studio about X86 subtargets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25647
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 26 Jan 2006 14:45:22 +0000 (14:45 +0000)]
Split out Dwarf constants for use outside DwarfWriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25646
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Jan 2006 09:53:06 +0000 (09:53 +0000)]
Added preliminary x86 subtarget support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25645
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Thu, 26 Jan 2006 09:45:03 +0000 (09:45 +0000)]
fix stack corruption! Previously, 16-byte whole-FP-register stores were
being treated as needing only 8 bytes (though they were 16 byte aligned.)
This should fix a bunch of tests - anyone have any comments, though?
- in Target.td , SpillSize and SpillAlignment seem dead - is this what
Size and Alignment do now?
- in CodeGenRegisters.h/CodeGenTarget.cpp , DeclaredSpillSize and
DeclaredSpillAlignment seem dead.
- there are a bunch of comments here and there that don't clearly
distinguish between 'size' and 'spillsize' etc. hmm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25644
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Thu, 26 Jan 2006 09:08:31 +0000 (09:08 +0000)]
some hoovering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25643
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 07:22:22 +0000 (07:22 +0000)]
Rest of subtarget support, remove references to ppc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25642
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 06:51:21 +0000 (06:51 +0000)]
Add trivial subtarget support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25641
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 26 Jan 2006 03:24:15 +0000 (03:24 +0000)]
minor renaming
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25640
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 26 Jan 2006 03:22:07 +0000 (03:22 +0000)]
allow R28 to be used for frame calculations without entirely removing it from circulation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25639
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Jan 2006 02:27:43 +0000 (02:27 +0000)]
Work around some x86 Darwin assembler bugs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25638
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 02:21:59 +0000 (02:21 +0000)]
add method for constraint parsing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25637
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 02:21:42 +0000 (02:21 +0000)]
add methods for constraint parsing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25636
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Jan 2006 02:13:31 +0000 (02:13 +0000)]
Add a FIXME comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25635
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 26 Jan 2006 02:13:10 +0000 (02:13 +0000)]
When trying to fold X86::SETCC into a Select, make a copy if it has more than
one use. This allows more CMOV instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25634
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 01:55:22 +0000 (01:55 +0000)]
teach the cloner to handle inline asms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25633
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 26 Jan 2006 01:54:21 +0000 (01:54 +0000)]
Allow use of isa<InlineAsm>(X) without #including InlineAsm.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25632
91177308-0d34-0410-b5e6-
96231b3b80d8