Commit Graph

1040 Commits

Author SHA1 Message Date
Chris Lattner
15bddb96c3 Remove a now-dead method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28054 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 17:17:13 +00:00
Chris Lattner
14c03058be Remove the debug machine code emitter. The "FilePrinterEmitter" is moreuseful for debugging.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28052 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 16:59:49 +00:00
Nate Begeman
cdf38c4edb Extend printBasicBlockLabel a bit so that it can be used to print all
basic block labels, consolidating the code to do so in one place for each
target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28050 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 05:37:32 +00:00
Jeff Cohen
51b776d259 De-virtualize SwitchSection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28047 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 03:58:45 +00:00
Jeff Cohen
c6a057b04d De-virtualize EmitZeroes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28046 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 03:46:13 +00:00
Jeff Cohen
4f1ea1e9d9 Finish support for Microsoft ML/MASM. May still be a few rough edges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28045 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 03:11:50 +00:00
Jeff Cohen
c884db47f1 Make Intel syntax mode friendlier to Microsoft ML assembler (still needs more work).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28044 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-02 01:16:28 +00:00
Evan Cheng
55d0fa1bfa Remove the temporary option: -no-isel-fold-inflight
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28012 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-28 18:54:11 +00:00
Evan Cheng
552c4a8494 Added a temporary option -no-isel-fold-inflight to control whether a "inflight"
node can be folded.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28003 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-28 02:09:19 +00:00
Evan Cheng
ccdcdf3e2e Added addJumpTableIndex
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27956 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-24 06:42:15 +00:00
Nate Begeman
9453eea49b Fix the updating of the machine CFG when a PHI node was in a successor of
the jump table's range check block.  This re-enables 100% dense jump tables
by default on PPC & x86


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27952 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-23 06:26:20 +00:00
Nate Begeman
3700a4d3a2 Code cleanup associated with jump tables, thanks to Chris for noticing
these.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27950 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-22 23:52:35 +00:00
Nate Begeman
37efe67645 JumpTable support! What this represents is working asm and jit support for
x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27947 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-22 18:53:45 +00:00
Chris Lattner
05b9773300 Remove some of the obvious v9-specific cruft
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27894 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-20 18:09:13 +00:00
Nate Begeman
6baa2b7220 Fix a copy & paste error from long ago.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27800 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-18 16:03:18 +00:00
Chris Lattner
6b56091842 Add some convenience methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27774 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 21:35:08 +00:00
Reid Spencer
ace44dbbab Make sure both member variables are initialized in the default constructor
for SDOperand. This gets rid of numerous warnings in lib/CodeGen and
lib/Target when compiled with GCC 4.0.2


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27607 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 16:44:15 +00:00
Chris Lattner
681ee1c1c3 new dag node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27596 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-11 21:30:42 +00:00
Chris Lattner
347d9d6136 Add helper methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27576 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-11 01:09:25 +00:00
Chris Lattner
49027e639e Add a new VSELECT node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27541 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08 22:16:01 +00:00
Jim Laskey
6b92b8e50d Make sure that debug labels are defined within the same section and after the
entry point of a function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27494 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 20:44:42 +00:00
Jim Laskey
4188699f80 Foundation for call frame information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27491 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07 16:34:46 +00:00
Chris Lattner
5cdf4bd55c Make sure to consider alignment of variable sized objects.
This, along with the previous dag combiner fix, fixes
CodeGen/Alpha/2006-04-04-zextload.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27403 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-04 17:39:56 +00:00
Chris Lattner
208aa29feb Keep track of max stack alignment as objects are added. Remove an obsolete method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27378 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-03 21:38:39 +00:00
Chris Lattner
885a87ef85 simplify this method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27338 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-02 02:28:52 +00:00
Chris Lattner
eda6dfd5e4 Add a new node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27230 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-28 19:54:11 +00:00
Jim Laskey
b3e7be25be Refactor address attributes. Add base register to frame info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27226 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-28 14:58:32 +00:00
Evan Cheng
78b9ec3820 getVectorTyppe(MVT::i64, 2) ==> MVT::v2i64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27207 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-28 01:59:17 +00:00
Chris Lattner
ef8ef91634 Tblgen doesn't like multiple SDNode<> definitions that map to the same
enum value.  Split them into separate enums.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27199 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-28 00:39:06 +00:00
Chris Lattner
e1562c82ca add a new iPTR ValueType for tblgen use
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27187 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-27 22:48:00 +00:00
Evan Cheng
a8df166fbe Change isBuildVectorAllOnesInteger to isBuildVectorAllOnes. Also check for
floating point cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27165 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-27 06:58:47 +00:00
Nate Begeman
f15485a8d0 SelectionDAGISel can now natively handle Switch instructions, in the same
manner that the LowerSwitch LLVM to LLVM pass does: emitting a binary
search tree of basic blocks.  The new approach has several advantages:
it is faster, it generates significantly smaller code in many cases, and
it paves the way for implementing dense switch tables as a jump table by
handling switches directly in the instruction selector.

This functionality is currently only enabled on x86, but should be safe for
every target.  In anticipation of making it the default, the cfg is now
properly updated in the x86, ppc, and sparc select lowering code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27156 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-27 01:32:24 +00:00
Jim Laskey
98e0410f07 How to be dumb on $5/day. Need a tri-state to track valid debug descriptors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27154 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-26 22:45:20 +00:00
Evan Cheng
4a147842eb Add ISD::isBuildVectorAllZeros predicate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27147 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-26 09:50:58 +00:00
Chris Lattner
322dcd379e Add a predicate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27129 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-25 22:56:35 +00:00
Chris Lattner
72601cac60 add a new intrinsic node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27019 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-24 01:03:55 +00:00
Jim Laskey
90c79d73ac Make sure types are allocated in the scope of their use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27002 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 23:02:34 +00:00
Jim Laskey
b8509c5752 Generate local variable and scope information and equivalent dwarf forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26989 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 18:07:55 +00:00
Jim Laskey
60f27ff879 Support for locating of debug items in frames.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26984 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 18:01:12 +00:00
Chris Lattner
313f13c5aa Fix comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26960 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-22 20:09:04 +00:00
Chris Lattner
762f2ae0c4 add a new node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26958 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-22 19:56:46 +00:00
Chris Lattner
4b8db6c453 add some nodes for extractelement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26927 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-21 20:43:08 +00:00
Chris Lattner
78fca69532 Add another helper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26881 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-20 00:20:30 +00:00
Chris Lattner
49c6d3eba8 add a node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26879 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-19 23:42:51 +00:00
Chris Lattner
074ad68d5a Add a helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26878 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-19 23:41:32 +00:00
Chris Lattner
210721aecc improve comments, add a new MVT::getVectorBaseType method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26855 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-19 05:26:45 +00:00
Chris Lattner
22232f659b Rename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR. Allow
*BUILD_VECTOR to take variable inputs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26846 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-19 00:52:25 +00:00
Chris Lattner
c3a60c738d Update comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26839 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-18 01:43:28 +00:00
Chris Lattner
fa984b61e4 add a couple of enum values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26829 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-17 19:53:41 +00:00
Nate Begeman
81e8097377 Remove BRTWOWAY*
Make the PPC backend not dependent on BRTWOWAY_CC and make the branch
selector smarter about the code it generates, fixing a case in the
readme.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26814 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-17 01:40:33 +00:00
Chris Lattner
804d995f99 Add markers for the first and last vector value type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26796 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-16 19:42:44 +00:00
Jim Laskey
9d0ff8e6f9 Expand subprogram and added block descriptor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26782 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-15 19:09:58 +00:00
Chris Lattner
682365dc80 remove ShouldEmitDebugFunctions, a hack to support llvm-db via the jit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26702 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-10 22:49:05 +00:00
Chris Lattner
a34b6f8713 Move simple-selector-specific types to the simple selector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26693 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-10 07:51:18 +00:00
Chris Lattner
37cb415eec Simplify the interface to the schedulers, to not pass the selected heuristic
in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26691 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-10 07:48:52 +00:00
Chris Lattner
2f5806c2b3 Move some simple-sched-specific instance vars to the simple scheduler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26690 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-10 07:42:02 +00:00
Chris Lattner
e76074ab89 move some simple scheduler methods into the simple scheduler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26688 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-10 07:35:21 +00:00
Chris Lattner
8c7ef0599c Make EmitNode take a SDNode instead of a NodeInfo*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26687 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-10 07:28:36 +00:00
Chris Lattner
7593639df6 Store VRBase in a map, not in NodeInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26685 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-10 07:24:45 +00:00
Chris Lattner
de76851d42 make some methods protected instead of private
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26681 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-10 06:30:11 +00:00
Jim Laskey
62e15a3c03 Forgot this on last check in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26645 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-09 17:30:53 +00:00
Chris Lattner
b0d21ef20c Change the interface for getting a target HazardRecognizer to be more clean.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26608 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-08 04:25:59 +00:00
Jim Laskey
e8c3e3b51c Switch to using a numeric id for anchors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26598 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-07 20:53:47 +00:00
Chris Lattner
37e30cf736 Hoist the HazardRecognizer out of the ScheduleDAGList.cpp file to where
targets can implement them.  Make the top-down scheduler non-g5-specific.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26568 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-06 00:20:29 +00:00
Chris Lattner
202bc85a95 add an emitnoop method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26563 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-05 23:50:42 +00:00
Jim Laskey
c0fe53383e Breathe some life into a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26553 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-05 21:20:20 +00:00
Chris Lattner
20614b9562 Add a new scheduling type. This is, of course, a hack. Proper factoring
will come later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26551 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-05 21:08:06 +00:00
Chris Lattner
38bf3bffe3 Add a copysign node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26540 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-05 05:06:40 +00:00
Jim Laskey
f01e547700 Adding basic structure support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26505 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 15:06:57 +00:00
Evan Cheng
3e1ce5a44d Add more vector NodeTypes: VSDIV, VUDIV, VAND, VOR, and VXOR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26504 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 07:01:07 +00:00
Evan Cheng
bfa284f697 SDOperand::isOperand should not be a forwarding. It must check *this against N's operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26502 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 06:42:32 +00:00
Evan Cheng
80d8eaae05 Added isOperand(N): true if this is an operand of N
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26501 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 06:24:54 +00:00
Chris Lattner
378fdf29b1 update comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26491 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 01:55:49 +00:00
Chris Lattner
c1323faa74 Split this out of Target.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26488 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 01:54:11 +00:00
Chris Lattner
41edaa0529 remove the read/write port/io intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26479 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-03 00:19:58 +00:00
Chris Lattner
a1b2a9b7e2 Fix a compilation error with GCC 4.1. Thanks to Vladimir Merzliakov for
pointing this out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26467 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-02 00:21:41 +00:00
Jim Laskey
6a3eb01084 Support for enumerations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26466 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 23:52:37 +00:00
Jim Laskey
40486cc6a0 Remove extra comma from enum list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26457 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 20:49:44 +00:00
Jim Laskey
9c4447aa2b Switch back to using actual dwarf tags. Simplifies code without loss to other
debug forms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26455 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 20:39:36 +00:00
Jim Laskey
92ae740396 Use context and not compile unit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26453 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 18:20:30 +00:00
Jim Laskey
f8913f19ae Basic array support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26451 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 17:53:02 +00:00
Evan Cheng
70695ab626 - Added v2f32, not used by any target currently. Only for testing purpose.
- Minor bug fix.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26433 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 00:55:26 +00:00
Evan Cheng
1ab7d859cf - Added VConstant as an abstract version of ConstantVec.
- All abstrct vector nodes must have # of elements and element type as their
first two operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26432 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-01 00:51:13 +00:00
Jim Laskey
45ccae5b7d Add const, volatile, restrict support.
Add array of debug descriptor support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26428 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-28 20:15:07 +00:00
Jim Laskey
bd76184e67 Supporting multiple compile units.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26402 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-27 17:27:12 +00:00
Jim Laskey
0d086af82b Re-orging file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26401 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-27 12:43:29 +00:00
Evan Cheng
404cb4f9fa Added an offset field to ConstantPoolSDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26371 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-25 09:54:52 +00:00
Chris Lattner
b44b509411 Add a PrintAsmMemoryOperand method for printing addresses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26363 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-24 20:21:12 +00:00
Chris Lattner
3c2da661b6 add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26357 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-24 18:53:51 +00:00
Jim Laskey
6990600f93 Add pointer and reference types. Added short-term code to ignore NULL types
(to allow llvm-gcc4 to build.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26355 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-24 16:46:40 +00:00
Jeff Cohen
7e88103cde Get VC++ building again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26351 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-24 02:52:40 +00:00
Chris Lattner
4c12e719c9 Add some hooks for selecting memory addresses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26347 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-24 02:12:52 +00:00
Jim Laskey
434b40b42f Added basic support for typedefs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26339 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-23 22:37:30 +00:00
Jim Laskey
f4afdd9f41 DwarfWriter reading basic type information from llvm-gcc4 code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26331 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-23 16:58:18 +00:00
Jim Laskey
0420f2aaf9 Coordinate activities with llvm-gcc4 and dwarf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26314 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-22 19:02:11 +00:00
Chris Lattner
410354fe0c Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean.
Patch by Martin Partel!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26313 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-22 16:23:43 +00:00
Evan Cheng
aea20f50e5 Added x86 integer vector types: 64-bit packed byte integer (v16i8), 64-bit
packed word integer (v8i16), and 64-bit packed doubleword integer (v2i32).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26294 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-20 22:34:53 +00:00
Chris Lattner
80274268b9 add a new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26268 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-17 21:57:00 +00:00
Nate Begeman
551bf3f800 kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBC
and SUBE nodes that actually expose what's going on and allow for
significant simplifications in the targets.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26255 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-17 05:43:56 +00:00
Jim Laskey
f198eb9c62 Sync up the tag numbers with gcc4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26146 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13 16:56:43 +00:00
Jim Laskey
d96185aa62 Rename to better reflect usage (current and planned.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26145 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13 12:50:39 +00:00
Chris Lattner
6a5b6d7633 Add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26141 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-13 08:54:46 +00:00
Jim Laskey
ce72b1755f Reorg for integration with gcc4. Old style debug info will not be passed though
to SelIDAG.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-11 01:01:30 +00:00
Evan Cheng
fae9f1cb34 Added SelectionDAG::InsertISelMapEntry(). This is used to workaround the gcc
problem where it inline the map insertion call too aggressively. Before this
change it was producing a frame size of 24k for Select_store(), now it's down
to 10k (by calling this method rather than calling the map insertion operator).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26094 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 22:11:03 +00:00
Evan Cheng
6ae46c4c87 More changes to reduce frame size.
Move all getTargetNode() out of SelectionDAG.h into SelectionDAG.cpp. This
prevents them from being inlined.
Change getTargetNode() so they return SDNode * instead of SDOperand to prevent
copying. It should also help compilation speed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26083 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 07:15:23 +00:00
Chris Lattner
04a0f60b23 instead of keeping track of Constant/alignment pairs, actually compute the
offset of each entry from the start of the constant pool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26077 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 04:44:32 +00:00
Chris Lattner
69a9563969 Use a MachineConstantPoolEntry struct instead of a pair to hold
constant pool entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26075 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 04:21:49 +00:00
Chris Lattner
e7a1e2152c Assert invariants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26073 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 02:25:42 +00:00
Chris Lattner
c1f523dedd Require an alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26072 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 02:24:25 +00:00
Chris Lattner
ef3640aded Add a comment: value is log2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26068 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-09 02:10:15 +00:00
Chris Lattner
d6c65ea924 Add support for assembler directives that wrap inline asm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26065 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-08 23:41:56 +00:00
Chris Lattner
5819342732 Add some happy helper methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26046 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-08 02:05:45 +00:00
Jeff Cohen
aa02c1df1d Fix some truncation warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26029 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-07 03:34:35 +00:00
Chris Lattner
f483e58212 Change the prototype of PrintAsmOperand
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26020 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-06 22:16:41 +00:00
Jim Laskey
f60c2414ab Goodbye nasty macro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26019 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-06 21:54:05 +00:00
Jim Laskey
c2f0c8def7 Edit requests from Sabre.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26018 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-06 19:12:02 +00:00
Jim Laskey
86cbdba522 Changing model for the construction of debug information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26016 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-06 15:33:21 +00:00
Evan Cheng
4ee6211258 * Added SDNode::isOnlyUse().
* Fix hasNUsesOfValue(), it should be const.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25990 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-05 06:29:23 +00:00
Chris Lattner
28adf292d9 add a new method, getPreferredAlignmentLog.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25977 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-05 01:24:06 +00:00
Evan Cheng
cccf1232a6 Get rid of some memory leaks identified by Valgrind
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25960 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-04 06:49:00 +00:00
Chris Lattner
47cf4eda9f add a new PrintAsmOperand method, move some stuff around for ease of reading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25885 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-01 22:39:30 +00:00
Evan Cheng
b8973bd8f5 Allow the specification of explicit alignments for constant pool entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25855 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-31 22:23:14 +00:00
Evan Cheng
19f3416d1c One more getTargetNode() variant shouldn't hurt...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25816 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-30 07:47:47 +00:00
Jim Laskey
024c0b34c4 Remove extra qualifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25790 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 09:52:11 +00:00
Chris Lattner
f38a05d67b revert an accidental commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25781 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 07:59:37 +00:00
Chris Lattner
c1857c23f5 remove some methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25779 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 07:57:11 +00:00
Chris Lattner
ac0d723825 Make ConstantFP legalize into TargetConstantFP like other leaf nodes do. Allow
targets to register custom legalizers for ConstantFP in case there isn't a
fixed list of constants that can be generated.  On some architectures (ia64?)
all fp immediates are legal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25769 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 06:24:40 +00:00
Chris Lattner
2128a2f76c remove the getBR2Way_CC method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25768 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-29 06:01:13 +00:00
Chris Lattner
9b88361bef add another variant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25743 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-28 10:08:58 +00:00
Chris Lattner
b9aff659e8 Add some methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25741 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-28 09:32:01 +00:00
Chris Lattner
253a87d667 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
2006-01-28 00:18:27 +00:00
Jim Laskey
da427fa5da 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
2006-01-27 20:31:25 +00:00
Jim Laskey
3ea0e0e005 Sorry - really folowing convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25691 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 18:32:41 +00:00
Jim Laskey
d8f77bae03 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
2006-01-27 15:20:54 +00:00
Chris Lattner
e736ed1947 add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25675 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-27 02:09:16 +00:00
Jim Laskey
511731786e Dropped DwarfWriter::
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25665 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 22:25:04 +00:00
Chris Lattner
7572eb81ee Add new INLINEASM node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25663 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 22:23:45 +00:00
Jim Laskey
6e87c0e029 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
2006-01-26 21:22:49 +00:00
Jeff Cohen
9471c8a93b 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
2006-01-26 20:41:32 +00:00
Jim Laskey
b3e789ac25 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
2006-01-26 20:21:46 +00:00
Evan Cheng
44b974c111 Duh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25628 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-26 00:28:35 +00:00
Evan Cheng
46c01cfe9f No need to keep track of top and bottom nodes in a group since the vector is
already in order. Thanks Jim for pointing it out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25608 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 18:54:24 +00:00
Nate Begeman
acc398c195 First part of bug 680:
Remove TLI.LowerVA* and replace it with SDNodes that are lowered the same
way as everything else.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25606 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 18:21:52 +00:00
Evan Cheng
0993f1d833 Some minor scheduler changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25597 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-25 09:07:50 +00:00
Chris Lattner
1e326009fa add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25581 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-24 05:47:05 +00:00
Jim Laskey
52060a0e71 Crude Dwarf global variable debugging.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25569 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-24 00:49:18 +00:00
Andrew Lenharth
7cf11b4ab2 another couple selects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25551 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-23 21:51:14 +00:00
Andrew Lenharth
8c6f1ee5aa another selectto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25548 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-23 20:59:12 +00:00
Evan Cheng
f0f9c90204 Skeleton of the list schedule.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25544 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-23 08:26:10 +00:00
Evan Cheng
4ef1086749 Factor out more instruction scheduler code to the base class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25532 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-23 07:01:07 +00:00