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
Dale Johannesen
98a9d2534b
DebugLoc propagation. Done with file.
...
llvm-svn: 63486
2009-01-31 21:04:24 +00:00
Dale Johannesen
fe9622a384
DebugLoc propagation. Done with file.
...
llvm-svn: 63485
2009-01-31 20:01:02 +00:00
Duncan Sands
74179a9dde
Fix PR3401: when using large integers, the type
...
returned by getShiftAmountTy may be too small
to hold shift values (it is an i8 on x86-32).
Before and during type legalization, use a large
but legal type for shift amounts: getPointerTy;
afterwards use getShiftAmountTy, fixing up any
shift amounts with a big type during operation
legalization. Thanks to Dan for writing the
original patch (which I shamelessly pillaged).
llvm-svn: 63482
2009-01-31 15:50:11 +00:00
Mon P Wang
2a0cce6b1c
If unsafe FP optimization is not set, don't allow -(A-B) => B-A because
...
when A==B, -0.0 != +0.0.
llvm-svn: 63474
2009-01-31 06:07:45 +00:00
Bill Wendling
679d743429
Don't use DebugLoc::getUnknownLoc(). Default to something hopefully sensible.
...
llvm-svn: 63473
2009-01-31 03:12:48 +00:00
Dale Johannesen
067e8ef08f
Move CurDebugLoc into SelectionDAGLowering.
...
llvm-svn: 63468
2009-01-31 02:22:37 +00:00
Dale Johannesen
58ff487b47
Propagate debug info in LegalizeFloatTypes.
...
Complete (modulo bugs).
llvm-svn: 63458
2009-01-31 00:43:08 +00:00
Dale Johannesen
dc351f5461
Propagate debug info. This file complete
...
(modulo bugs)
llvm-svn: 63457
2009-01-31 00:20:43 +00:00
Dale Johannesen
7231c1ead7
Propagate debug info through MakeLibCall and a
...
couple of things that use it.
llvm-svn: 63456
2009-01-31 00:11:23 +00:00
Bill Wendling
33e437d960
More DebugLoc propagation.
...
llvm-svn: 63454
2009-01-30 23:59:18 +00:00
Bill Wendling
191c1bcb0c
More DebugLoc propagation.
...
llvm-svn: 63452
2009-01-30 23:36:47 +00:00
Bill Wendling
061530382c
More DebugLoc propagation in LOAD etc. methods.
...
llvm-svn: 63451
2009-01-30 23:27:35 +00:00
Bill Wendling
8038d99071
More DebugLoc propagation in floating-point methods.
...
llvm-svn: 63446
2009-01-30 23:15:49 +00:00
Dale Johannesen
39738b1ff8
Make LowerCallTo and LowerArguments take a DebugLoc
...
argument. Adjust all callers and overloaded versions.
llvm-svn: 63444
2009-01-30 23:10:59 +00:00
Bill Wendling
cebc5ac36d
Standardize comments about folding xforms.
...
llvm-svn: 63443
2009-01-30 23:10:18 +00:00
Bill Wendling
67737da99b
Get rid of the non-DebugLoc-ified getNOT() method.
...
llvm-svn: 63442
2009-01-30 23:03:19 +00:00
Bill Wendling
b3ece8cc6f
Propagate debug loc info for some FP arithmetic methods.
...
llvm-svn: 63441
2009-01-30 22:57:07 +00:00
Bill Wendling
00f0882476
Propagate debug loc info for some FP arithmetic methods.
...
llvm-svn: 63440
2009-01-30 22:53:48 +00:00
Bill Wendling
bfa7cfd7c7
Propagate debug loc info for BIT_CONVERT.
...
llvm-svn: 63439
2009-01-30 22:44:24 +00:00
Bill Wendling
c05f48a66d
Propagate debug loc info for more *_EXTEND methods.
...
llvm-svn: 63437
2009-01-30 22:33:24 +00:00
Bill Wendling
ca9c42acf5
Propagate debug loc info for ANY_EXTEND.
...
llvm-svn: 63436
2009-01-30 22:27:33 +00:00
Bill Wendling
5c326f6512
Propagate debug loc info for some of the *_EXTEND functions.
...
llvm-svn: 63434
2009-01-30 22:23:15 +00:00
Bill Wendling
211088dc71
DebugLoc form of getNOT().
...
llvm-svn: 63433
2009-01-30 22:11:22 +00:00
Bill Wendling
de0da1da41
- Propagate debug loc info for SELECT.
...
- Added xform for (select X, 1, Y) and (select X, Y, 0), which was commented on,
but missing.
llvm-svn: 63428
2009-01-30 22:02:18 +00:00
Bill Wendling
18aa03303b
Propagate debug loc info for Shifts.
...
llvm-svn: 63424
2009-01-30 21:37:17 +00:00
Bill Wendling
8f8bb57472
Propagate debug loc info for XOR and MatchRotate.
...
llvm-svn: 63420
2009-01-30 21:14:50 +00:00
Bill Wendling
d62cec3ba3
Propagate debug loc info for OR. Also clean up some comments.
...
llvm-svn: 63419
2009-01-30 20:59:34 +00:00
Bill Wendling
e74546802d
Perform obvious constant arithmetic folding.
...
llvm-svn: 63417
2009-01-30 20:50:00 +00:00