Bill Wendling
4d923185fc
Propagate debug loc info in SimplifyNodeWithTwoResults.
...
llvm-svn: 63376
2009-01-30 03:08:40 +00:00
Bill Wendling
7067a571ce
Propagate debug loc info for MULHS.
...
llvm-svn: 63375
2009-01-30 03:00:18 +00:00
Bill Wendling
031d7dcfe2
Propagate debug loc info for SREM and UREM.
...
llvm-svn: 63374
2009-01-30 02:57:00 +00:00
Bill Wendling
f4506379ae
Propagate debug loc info for UDIV.
...
llvm-svn: 63373
2009-01-30 02:55:25 +00:00
Bill Wendling
532bb33a10
Propagate debug loc info for SDIV.
...
llvm-svn: 63372
2009-01-30 02:52:17 +00:00
Bill Wendling
577589aa4a
Forgot to propagate debug loc info here.
...
llvm-svn: 63371
2009-01-30 02:49:26 +00:00
Dan Gohman
50283ce80b
Fix a post-RA scheduling dependency bug.
...
If a MachineInstr doesn't have a memoperand but has an opcode that
is known to load or store, assume its memory reference may alias
*anything*, including stack slots which the compiler completely
controls.
To partially compensate for this, teach the ScheduleDAG building
code to do basic getUnderlyingValue analysis. This greatly
reduces the number of instructions that require restrictive
dependencies. This code will need to be revisited when we start
doing real alias analysis, but it should suffice for now.
llvm-svn: 63370
2009-01-30 02:49:14 +00:00
Bill Wendling
ff10c16660
Propagate debug loc info for MUL.
...
llvm-svn: 63369
2009-01-30 02:45:56 +00:00
Bill Wendling
a7791b0e4e
Propagate debug loc info in SUB.
...
llvm-svn: 63368
2009-01-30 02:42:10 +00:00
Bill Wendling
665afce822
Propagate debug loc info in ADDC and ADDE.
...
llvm-svn: 63367
2009-01-30 02:38:00 +00:00
Bill Wendling
1ad9d3d9d1
Propagate debug loc info in DAG combine's "ADD".
...
llvm-svn: 63366
2009-01-30 02:31:17 +00:00
Bill Wendling
030f0fced8
- Propagate debug loc info in combineSelectAndUse().
...
- Modify ReassociateOps so that the resulting SDValue is what the comment claims
it is.
llvm-svn: 63365
2009-01-30 02:23:43 +00:00
Dale Johannesen
4855b2e85d
Propagate debug info when building SelectionDAG.
...
llvm-svn: 63359
2009-01-30 01:34:22 +00:00
Devang Patel
270009c8ab
Remove dead code, again.
...
llvm-svn: 63358
2009-01-30 01:27:49 +00:00
Devang Patel
180d237792
Remove dead code.
...
llvm-svn: 63357
2009-01-30 01:25:47 +00:00
Devang Patel
779653b60e
Add DW_AT_declaration for class methods.
...
llvm-svn: 63356
2009-01-30 01:21:46 +00:00
Bill Wendling
31986c393f
Propagate debug location info for the token factor.
...
llvm-svn: 63355
2009-01-30 01:13:16 +00:00
Devang Patel
65885d7f73
Add dump() routines to help debug debug info :)
...
llvm-svn: 63353
2009-01-30 01:03:10 +00:00
Bill Wendling
8165903969
Add DebugLoc propagation to some of the methods in DAG combiner.
...
llvm-svn: 63350
2009-01-30 00:45:56 +00:00
Owen Anderson
658fb62263
Correct the algorithms for choosing spill and restore points so that we don't try to insert loads/stores between call frame setup and the actual call.
...
This fixes the last known failure for the pre-alloc-splitter.
llvm-svn: 63339
2009-01-29 22:13:06 +00:00
Dan Gohman
ad5e59783b
Explicitly add PseudoSourceValue information when lowering
...
BUILD_VECTOR and conversions to stack operations.
llvm-svn: 63333
2009-01-29 21:02:43 +00:00
Dan Gohman
cfbb66cf90
Make a few things const, fix some comments, and simplify
...
some assertions.
llvm-svn: 63328
2009-01-29 19:49:27 +00:00
Chris Lattner
0478798632
Fix windows build, patch by Marius Wachtler!
...
llvm-svn: 63325
2009-01-29 18:53:28 +00:00
Evan Cheng
1ffb8d20e8
Local register allocator shouldn't assume only the entry and landing pad basic blocks have live-ins.
...
llvm-svn: 63323
2009-01-29 18:37:30 +00:00
Dan Gohman
d04298a684
Fix two typos that Duncan spotted in a comment.
...
llvm-svn: 63312
2009-01-29 16:18:12 +00:00
Dan Gohman
14959cba72
In the case of an extractelement on an insertelement value,
...
the element indices may be equal if either one is not a
constant.
llvm-svn: 63311
2009-01-29 16:10:46 +00:00
Bill Wendling
fc00dc63dc
Revert r63273. This was already implemented by Dale. There's no need for my
...
change.
llvm-svn: 63301
2009-01-29 09:01:55 +00:00
Owen Anderson
4dfa70d703
Fix an issue where restores could be inserted after a terminator instruction,
...
and an iterator invalidation issue.
FreeBench/pifft no longer miscompiles with these fixes!
llvm-svn: 63293
2009-01-29 08:22:06 +00:00
Owen Anderson
ad49be6552
Comments are good. :-)
...
llvm-svn: 63276
2009-01-29 05:41:02 +00:00
Owen Anderson
607c1ea284
Add support for aggressive load-use-store folding. This takes care of the
...
vast majority of code size regressions introduced by pre-alloc-splitting.
llvm-svn: 63274
2009-01-29 05:28:55 +00:00
Bill Wendling
c65110ba7e
- Add DebugLoc to getTargetNode().
...
- Modify TableGen to add the DebugLoc when calling getTargetNode.
(The light-weight wrappers are only temporary. The non-DebugLoc version will be
removed once the whole debug info stuff is finished with.)
llvm-svn: 63273
2009-01-29 05:27:31 +00:00
Chris Lattner
d5591247d1
Fix PR3424, a static constructor ordering issue. Patch by Robert Schuster!
...
llvm-svn: 63269
2009-01-29 04:43:42 +00:00
Evan Cheng
1346d22223
Exit with nice warnings when register allocator run out of registers.
...
llvm-svn: 63267
2009-01-29 02:20:59 +00:00
Dan Gohman
9d120d6d8f
Make x86's BT instruction matching more thorough, and add some
...
dagcombines that help it match in several more cases. Add
several more cases to test/CodeGen/X86/bt.ll. This doesn't
yet include matching for BT with an immediate operand, it
just covers more register+register cases.
llvm-svn: 63266
2009-01-29 01:59:02 +00:00
Evan Cheng
71bbbe44d8
A slight compile time optimization. If the caller knows there isn't a free register getReg() should not call getFreeReg().
...
llvm-svn: 63263
2009-01-29 01:13:00 +00:00
Dale Johannesen
9d1e40ac34
Add DebugLoc-sensitive versions of many node creation
...
functions. Currently omitted: memcpy, memmove, memset.
llvm-svn: 63259
2009-01-29 00:47:48 +00:00
Evan Cheng
da5915379c
Fix comment about removeRange.
...
llvm-svn: 63255
2009-01-29 00:06:09 +00:00
Mon P Wang
8abb07a527
Fixed lowering of v816 shuffles.
...
llvm-svn: 63252
2009-01-28 23:11:14 +00:00
Bill Wendling
03582504e0
Add DebugLoc to the getNode() methods.
...
llvm-svn: 63245
2009-01-28 22:17:52 +00:00
Dale Johannesen
48b6d8aea9
Add DebugLoc-aware constructors for SDNode derived
...
classes (those that reasonably have a DebugLoc
associated with them).
llvm-svn: 63236
2009-01-28 21:18:29 +00:00
Devang Patel
be2267211f
Do not forget to derived type while constructing an array type.
...
llvm-svn: 63233
2009-01-28 21:08:20 +00:00
Chris Lattner
f9dd07a3c3
Fix some issues with volatility, move "CanConvertToScalar" check
...
after the others.
llvm-svn: 63227
2009-01-28 20:16:43 +00:00
Mon P Wang
881e7e990a
Fixed extract element when the result needs to be promoted and the input widened.
...
llvm-svn: 63217
2009-01-28 18:53:39 +00:00
Dan Gohman
bc43253a91
Make isOperationLegal do what its name suggests, and introduce a
...
new isOperationLegalOrCustom, which does what isOperationLegal
previously did.
Update a bunch of callers to use isOperationLegalOrCustom
instead of isOperationLegal. In some case it wasn't obvious
which behavior is desired; when in doubt I changed then to
isOperationLegalOrCustom as that preserves their previous
behavior.
This is for the second half of PR3376.
llvm-svn: 63212
2009-01-28 17:46:25 +00:00
Duncan Sands
7c360defc8
Formatting.
...
llvm-svn: 63199
2009-01-28 14:42:54 +00:00
Duncan Sands
aee16d4916
Rename getAnalysisToUpdate to getAnalysisIfAvailable.
...
llvm-svn: 63198
2009-01-28 13:14:17 +00:00
Duncan Sands
3350448d05
Fix PR3415 (infinite loop in EscapeAnalysis) by
...
deleting the escape analysis pass.
llvm-svn: 63197
2009-01-28 11:33:59 +00:00
Evan Cheng
2a965124b7
The memory alignment requirement on some of the mov{h|l}p{d|s} patterns are 16-byte. That is overly strict. These instructions read / write f64 memory locations without alignment requirement.
...
llvm-svn: 63195
2009-01-28 08:35:02 +00:00
Mon P Wang
e1c886f775
Add shuffle splat pattern for x86 sse shifts.
...
llvm-svn: 63193
2009-01-28 08:12:05 +00:00
Mikhail Glushenkov
2b0004bd39
Clarify comment.
...
llvm-svn: 63171
2009-01-28 03:46:22 +00:00