Dale Johannesen
7099fa18a4
Eliminate remaining non-DebugLoc version of getTargetNode.
...
llvm-svn: 63951
2009-02-06 19:16:40 +00:00
Dan Gohman
c097f9628e
Rename SelectionDAGISel::Schedule to
...
SelectionDAGISel::CreateScheduler, and make it just create the
scheduler. Leave running the scheduler to the higher-level code.
This makes the higher-level code a little more explicit and
easier to follow, and will help enable some future refactoring.
llvm-svn: 63944
2009-02-06 18:26:51 +00:00
Dan Gohman
2ae1006f93
Delete an unused member function.
...
llvm-svn: 63941
2009-02-06 18:19:52 +00:00
Evan Cheng
e00df1d39c
Move getPointerRegClass from TargetInstrInfo to TargetRegisterInfo.
...
llvm-svn: 63938
2009-02-06 17:43:24 +00:00
Dan Gohman
5784cf7f6d
Move ScheduleDAGSDNodes.h to be a private header. Front-ends
...
that previously included this header should include
SchedulerRegistry.h instead.
llvm-svn: 63937
2009-02-06 17:22:58 +00:00
Dale Johannesen
cda84103ff
get rid of some non-DebugLoc getTargetNode variants.
...
llvm-svn: 63909
2009-02-06 02:08:06 +00:00
Dale Johannesen
e95c76b65e
Get rid of one more non-DebugLoc getNode and
...
its corresponding getTargetNode. Lots of
caller changes.
llvm-svn: 63904
2009-02-06 01:31:28 +00:00
Dale Johannesen
c96091a672
Remove a non-DebugLoc version of getNode.
...
llvm-svn: 63889
2009-02-05 22:07:54 +00:00
Dale Johannesen
b218273a7a
Remove 3 non-DebugLoc variants of getNode.
...
llvm-svn: 63886
2009-02-05 21:20:44 +00:00
Mon P Wang
50369c6847
Fix a bug where we were not emitting a cvt rnd sat node for converting
...
between a unsigned integer and signed integer.
llvm-svn: 63831
2009-02-05 04:47:42 +00:00
Dale Johannesen
fa28929927
Reapply 63765. Patches for clang and llvm-gcc to follow.
...
llvm-svn: 63812
2009-02-05 01:49:45 +00:00
Dale Johannesen
c901d013fb
Get rid of 3 non-DebugLoc getNode variants.
...
llvm-svn: 63808
2009-02-05 01:01:16 +00:00
Dale Johannesen
c2896f9310
Remove non-DebugLoc versions of getMergeValues, ZeroExtendInReg.
...
llvm-svn: 63800
2009-02-05 00:20:09 +00:00
Dale Johannesen
d27bc65e74
Remove non-DebugLoc forms of CopyToReg and CopyFromReg.
...
Adjust callers.
llvm-svn: 63789
2009-02-04 23:02:30 +00:00
Dale Johannesen
f6e1822ccd
Reverting 63765. This broke the build of both clang
...
and llvm-gcc.
llvm-svn: 63786
2009-02-04 22:47:25 +00:00
Stuart Hastings
010b5858c1
80 column rule.
...
llvm-svn: 63768
2009-02-04 20:30:10 +00:00
Dale Johannesen
15a801f11d
Remove non-DebugLoc versions of getLoad and getStore.
...
Adjust the many callers of those versions.
llvm-svn: 63767
2009-02-04 20:06:27 +00:00
Nate Begeman
66f10b55ed
New feature: add support for target intrinsics being defined in the
...
target directories themselves. This also means that VMCore no longer
needs to know about every target's list of intrinsics. Future work
will include converting the PowerPC target to this interface as an
example implementation.
llvm-svn: 63765
2009-02-04 19:47:21 +00:00
Mon P Wang
83f8f82e8a
Avoids generating a legalization assert for the case where a vector type is legal
...
but when legalizing the operation, we split the vector type and generate a library
call whose type needs to be promoted. For example, X86 with SSE on but MMX off,
a divide v2i64 will be scalarized to 2 calls to a library using i64.
llvm-svn: 63760
2009-02-04 19:38:14 +00:00
Stuart Hastings
9d89863489
Since I'm obliged to work with a development OS that currently doesn't
...
support GraphViz, I've been using the foo->dump() facility. This
patch is a minor rewrite to the SelectionDAG dump() stuff to make it a
little more helpful. The existing foo->dump() functionality does not
change; this patch adds foo->dumpr(). All of this is only useful when
running LLVM under a debugger.
llvm-svn: 63736
2009-02-04 16:46:19 +00:00
Dale Johannesen
19fc835580
Remove non-DebugLoc forms of the exotic forms
...
of Lod and Sto; patch uses.
llvm-svn: 63716
2009-02-04 02:34:38 +00:00
Dale Johannesen
52d1d8d5a0
Remove some more non-DebugLoc versions of construction
...
functions, with callers adjusted to fit.
llvm-svn: 63705
2009-02-04 01:48:28 +00:00
Dale Johannesen
94df14c046
Check in file I forgot.
...
llvm-svn: 63704
2009-02-04 01:33:20 +00:00
Dale Johannesen
2c4af04551
Remove a few non-DebugLoc versions of node creation
...
functions.
llvm-svn: 63703
2009-02-04 01:17:06 +00:00
Dale Johannesen
e8a874130f
Fill in more omissions in DebugLog propagation.
...
I think that's it for this directory.
llvm-svn: 63690
2009-02-04 00:13:36 +00:00
Dale Johannesen
b129ab17af
DebugLoc propagation; adjustment to things omitted
...
from SelectionDagBuild.
llvm-svn: 63680
2009-02-03 23:04:43 +00:00
Dale Johannesen
b7f2857776
Add some DL propagation to places that didn't
...
have it yet. More coming.
llvm-svn: 63673
2009-02-03 22:26:09 +00:00
Devang Patel
952d8276d1
First initialize DAG otherwise dwarf writer is used uninitialized.
...
Duncan spotted this. Thanks!
llvm-svn: 63641
2009-02-03 18:46:32 +00:00
Duncan Sands
87db26ad2c
Fix PR3411. When replacing values, nodes are analyzed
...
in any old order. Since analyzing a node analyzes its
operands also, this can mean that when we pop a node
off the list of nodes to be analyzed, it may already
have been analyzed.
llvm-svn: 63632
2009-02-03 10:23:33 +00:00
Bill Wendling
14bc9010d5
Pass in something sensible for the debug location information when creating the
...
initial PHI nodes of the machine function.
llvm-svn: 63598
2009-02-03 02:20:52 +00:00
Dale Johannesen
43479713ac
Fill in some missing DL propagation in getNode()s.
...
llvm-svn: 63595
2009-02-03 01:55:44 +00:00
Bill Wendling
014973fd5d
Use SDL->getCurDebugLoc() instead of unknown loc for landing pads.
...
llvm-svn: 63594
2009-02-03 01:55:42 +00:00
Bill Wendling
78decbdb9d
Explicitly pass in the "unknown" debug location. This is probably not
...
correct. We need more infrastructure before we can get the DebugLoc info for
these instructions.
llvm-svn: 63593
2009-02-03 01:33:28 +00:00
Bill Wendling
a228b0ccc0
Alphabetize includes.
...
llvm-svn: 63591
2009-02-03 01:32:22 +00:00
Bill Wendling
29833dbc9f
Propagate debug loc info during SDNode -> machine instr creation.
...
llvm-svn: 63585
2009-02-03 01:02:39 +00:00
Bill Wendling
5b177df8e9
Create DebugLoc information in FastISel. Several temporary methods were
...
created. Specifically, those BuildMIs which use
"DebugLoc::getUnknownLoc()". I'll remove them soon.
llvm-svn: 63584
2009-02-03 00:55:04 +00:00
Dale Johannesen
84498c427e
Propagation in TargetLowering. Includes passing a DL
...
into SimplifySetCC which gets called elsewhere.
llvm-svn: 63583
2009-02-03 00:47:48 +00:00
Dan Gohman
0103631cce
Use the SubclassData field to hold ExtType, isTrunc, and MemIndexedMode
...
information. This eliminates the need for the Flags field in MemSDNode,
so this makes LoadSDNode and StoreSDNode smaller. Also, it makes
FoldingSetNodeIDs for loads and stores two AddIntegers smaller.
llvm-svn: 63577
2009-02-03 00:08:45 +00:00
Dale Johannesen
0c89de8f82
Last DebugLoc propagation for this file.
...
llvm-svn: 63574
2009-02-02 23:46:53 +00:00
Dale Johannesen
d92b94df04
More DebugLoc propagation. This should be everything
...
except LegalizeOp itself.
llvm-svn: 63560
2009-02-02 22:49:46 +00:00
Dale Johannesen
c7295f2a49
DebugLoc propagation. ExpandOp and PromoteOp,
...
among others.
llvm-svn: 63555
2009-02-02 22:12:50 +00:00
Dale Johannesen
5b1a213918
Commit missing files.
...
llvm-svn: 63545
2009-02-02 20:47:48 +00:00
Dale Johannesen
8883285060
More DebugLoc propagation.
...
llvm-svn: 63543
2009-02-02 20:41:04 +00:00
Duncan Sands
0ecadc3e36
Remove trailing spaces.
...
llvm-svn: 63540
2009-02-02 19:46:41 +00:00
Dale Johannesen
d0e894212e
DebugLoc propagation for int<->fp conversions.
...
llvm-svn: 63537
2009-02-02 19:03:57 +00:00
Sanjiv Gupta
9e53b9526e
Duncan's patch. Further to 64382. Takes care of illegal types for shift amount.
...
llvm-svn: 63523
2009-02-02 17:19:39 +00:00
Mon P Wang
82e6b51c19
Preserve more SourceValue information.
...
llvm-svn: 63498
2009-02-02 06:37:55 +00:00
Duncan Sands
cac6cf74f9
Fix PR3453 and probably a bunch of other potential
...
crashes or wrong code with codegen of large integers:
eliminate the legacy getIntegerVTBitMask and
getIntegerVTSignBit methods, which returned their
value as a uint64_t, so couldn't handle huge types.
llvm-svn: 63494
2009-02-01 18:06:53 +00:00
Bill Wendling
518ecfa97c
Forgot some more DebugLoc propagations.
...
llvm-svn: 63493
2009-02-01 11:19:36 +00:00
Dale Johannesen
4956419c77
DebugLoc propagation.
...
llvm-svn: 63488
2009-01-31 22:04:51 +00:00