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
Mikhail Glushenkov
2b0004bd39
Clarify comment.
...
llvm-svn: 63171
2009-01-28 03:46:22 +00:00
Dan Gohman
fbeb86765e
Use ValueType::bitsLT to simplify some code.
...
llvm-svn: 63170
2009-01-28 03:10:52 +00:00
Dan Gohman
0efa2bd617
Use ZERO_EXTEND instead of ANY_EXTEND when promoting
...
shift amounts, to avoid implicitly assuming that
target architectures will ignore the high bits.
llvm-svn: 63169
2009-01-28 02:58:31 +00:00
Bill Wendling
2cea322e5f
Comment fixes.
...
llvm-svn: 63164
2009-01-28 01:19:52 +00:00
Evan Cheng
31f8d3639f
Suppress a compile time warning.
...
llvm-svn: 63161
2009-01-28 00:53:34 +00:00
Dale Johannesen
8a25527d57
Embalm my ideas of how things should work. Not that
...
anyone will pay attention.
llvm-svn: 63155
2009-01-27 23:32:10 +00:00
Devang Patel
031a8a1ef5
Add type DIE into appropriate context DIE.
...
llvm-svn: 63154
2009-01-27 23:22:55 +00:00
Dale Johannesen
718c678fde
Add a DebugLoc field and some simple accessors.
...
llvm-svn: 63152
2009-01-27 23:20:29 +00:00
Dale Johannesen
e50b41d4f5
Reorder args, constify.
...
llvm-svn: 63151
2009-01-27 23:19:41 +00:00
Bill Wendling
6c7c632a21
Add testcase for r63142.
...
llvm-svn: 63149
2009-01-27 23:00:53 +00:00
Anton Korobeynikov
7e63f1aae6
Treat [1 x i8] zeroinitializer as a C string, placing such stuff into
...
mergeable string section. I don't see any bad impact of such decision
(rather then placing it into mergeable const section, as it was before),
but at least Darwin linker won't complain anymore.
The problem in LLVM is that we don't have special type for string constants
(like gcc does). Even more, we have two separate types: ConstatArray for non-null
strings and ConstantAggregateZero for null stuff.... It's a bit weird :)
llvm-svn: 63142
2009-01-27 22:29:24 +00:00
Dan Gohman
953478bd30
Use .empty() instead of comparing .size() with 0.
...
llvm-svn: 63139
2009-01-27 22:12:23 +00:00
Dale Johannesen
3685c30b26
Update to latest spelling.
...
llvm-svn: 63138
2009-01-27 22:09:11 +00:00
Dale Johannesen
eeacf8c68e
Add DebugLoc field and simple accessors.
...
llvm-svn: 63136
2009-01-27 21:41:04 +00:00
Evan Cheng
3330206ff6
Refine DebugLoc per review comments.
...
llvm-svn: 63132
2009-01-27 21:15:07 +00:00
Dan Gohman
0400e83ed8
Add an assertion to the form of SelectionDAG::getConstant that takes
...
a uint64_t to verify that the value is in range for the given type,
to help catch accidental overflow. Fix a few places that relied on
getConstant implicitly truncating the value.
llvm-svn: 63128
2009-01-27 20:39:34 +00:00