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
Dan Gohman
c017343459
Reformat the allocation-order arrays to a more conventional style.
...
llvm-svn: 63121
2009-01-27 19:25:38 +00:00
Dan Gohman
00f7052bbb
Delete redundant return statements.
...
llvm-svn: 63120
2009-01-27 19:23:22 +00:00
Dan Gohman
f7e8bf0511
Respect the DisableRedZone flag on PowerPC.
...
llvm-svn: 63119
2009-01-27 19:19:28 +00:00
Dan Gohman
7d80f8688e
Simplify findNonImmUse; return the result using the return value
...
instead of via a by-reference argument. No functionality change.
llvm-svn: 63118
2009-01-27 19:04:30 +00:00
Torok Edwin
47c303034d
APInt's countLeadingOnes() was broken for negative i128 values,
...
causing assertion failures in getSExtValue().
Fix it by making highWordBits actually contain what its name says,
and add some more unit-tests for APInt.
This fixes PR3419.
llvm-svn: 63107
2009-01-27 18:06:03 +00:00
Dan Gohman
b2cf79db33
Make some comments doxygen-friendly.
...
llvm-svn: 63104
2009-01-27 17:28:23 +00:00
Owen Anderson
284f6dec01
Make the pre-split-limit option more useful by using a per-function counter.
...
llvm-svn: 63091
2009-01-27 05:01:15 +00:00
Evan Cheng
a05436f739
Implement multiple with overflow by 2 with an add instruction.
...
llvm-svn: 63090
2009-01-27 03:30:42 +00:00
Evan Cheng
80a6c8a024
Forgot this test case.
...
llvm-svn: 63089
2009-01-27 02:59:39 +00:00
Dan Gohman
2e0343e321
Eliminate unnecessary operands-list traversals.
...
llvm-svn: 63088
2009-01-27 02:37:43 +00:00
Dan Gohman
c39a03f3fa
Add a FrontendC testcase for the x86-64 Red Zone feature,
...
to help verify that the feature may be disabled through
the -mno-red-zone option.
llvm-svn: 63079
2009-01-27 00:59:55 +00:00
Dan Gohman
f3c2ac3497
Enable the red zone on x86-64 by default.
...
llvm-svn: 63078
2009-01-27 00:58:47 +00:00
Devang Patel
4353517ac4
Assorted debug info fixes.
...
- DW_AT_bit_size is only suitable for bitfields.
- Encode source location info for derived types.
- Source location and type size info is not useful for subroutine_type (info is included in respective DISubprogram) and array_type.
llvm-svn: 63077
2009-01-27 00:45:04 +00:00
Dan Gohman
2c06ee586b
Add a regression test for x86-64 red zone usage.
...
llvm-svn: 63075
2009-01-27 00:40:27 +00:00
Dan Gohman
4ad174b236
Fix the Red Zone calculation for functions with frame pointers.
...
Don't use the Red Zone when dynamic stack realignment is needed.
This could be implemented, but most x86-64 ABIs don't require
dynamic stack realignment so it isn't urgent.
llvm-svn: 63074
2009-01-27 00:40:06 +00:00