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
Bill Wendling
da5e35aa5f
Explain why this is here.
...
llvm-svn: 63342
2009-01-29 23:19:43 +00:00
Owen Anderson
fe46e52119
XFAIL this test. It only worked before because of a bug in the spill point selection code. Not deleting because
...
it should be possible to enhance the selection code to handle this in the future.
llvm-svn: 63340
2009-01-29 22:27: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
Evan Cheng
83345de1d3
Add a always_inline test case.
...
llvm-svn: 63304
2009-01-29 09:31:54 +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
Evan Cheng
bc1701fd87
Add a test case for Chris lvalue alignment fixes.
...
llvm-svn: 63300
2009-01-29 08:59:46 +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
Dan Gohman
21a780e19c
Move the code that starts printing the Select_* functions
...
after the code that sorts the patterns. This doesn't
affect the output, but it makes the code a little easier
to follow.
llvm-svn: 63265
2009-01-29 01:37:18 +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
ab2b1d7629
Make test platform agnostic.
...
llvm-svn: 63247
2009-01-28 22:20:56 +00:00
Bill Wendling
03582504e0
Add DebugLoc to the getNode() methods.
...
llvm-svn: 63245
2009-01-28 22:17:52 +00:00
Dan Gohman
86c17b5644
Give this test an explicit target, to make it host-independent.
...
llvm-svn: 63244
2009-01-28 22:14:58 +00:00
Dan Gohman
d1106c6f41
SDOperand has been renamed to SDValue. SDNode::Val is now
...
accessed via SDNode::getNode.
llvm-svn: 63240
2009-01-28 21:36:46 +00:00
Dan Gohman
9ebb5025a9
Add more comments describing SDNode operator codes.
...
llvm-svn: 63239
2009-01-28 21:34:36 +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
Dan Gohman
37ee92ab04
Add some comments on ISD::NodeType.
...
llvm-svn: 63234
2009-01-28 21:13:08 +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
Chris Lattner
2712dbe282
strengthen this test.
...
llvm-svn: 63222
2009-01-28 19:29:30 +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
bb9695f3c7
Delete unnecessary elses.
...
llvm-svn: 63214
2009-01-28 18:03:09 +00:00
Chris Lattner
c6c7875f01
Enable PACKAGE_VERSION in cmake builds, this unbreaks the clang build with cmake.
...
Patch by Piotr Rak!
llvm-svn: 63213
2009-01-28 17:49:03 +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
f089df40b5
Added sse test patterns for r62979 and r63193.
...
llvm-svn: 63194
2009-01-28 08:13:56 +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
cd3b13fc7b
Typo.
...
llvm-svn: 63174
2009-01-28 03:47:58 +00:00
Mikhail Glushenkov
7f4b6231f1
Update the generated docs.
...
llvm-svn: 63173
2009-01-28 03:47:38 +00:00
Mikhail Glushenkov
920118470d
Add three new option properties.
...
Adds new option properties 'multi_val', 'one_or_more' and 'zero_or_one'.
llvm-svn: 63172
2009-01-28 03:47:20 +00:00