OSDN Git Service
Chris Lattner [Fri, 8 Jan 2010 17:48:19 +0000 (17:48 +0000)]
tidy up some stuff duncan pointed out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93007
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Fri, 8 Jan 2010 17:41:33 +0000 (17:41 +0000)]
Minor change, change the order of two "let Inst{...}" stmts within multiclass
T2I_bin_ii12rs definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93006
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 8 Jan 2010 08:24:49 +0000 (08:24 +0000)]
After further thought revert the patch to make fast-isel avoid
putting relocations into the constant pool - this isn't needed
for correctness and in the rare occasion it happens would pull
us out of fast isel for the block.
If fast-isel application startup time ever becomes an issue we
can add better support for these addresses instead of bailing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92995
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 8 Jan 2010 02:36:12 +0000 (02:36 +0000)]
ReplaceAllUsesOfValueWith may delete other nodes that the one being replaced. Do not delete dead nodes again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92988
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 8 Jan 2010 01:29:19 +0000 (01:29 +0000)]
Fix what looks to me obvious instruction definition bugs.
1. CMPXCHG8B and CMPXCHG16B did not specify implicit physical register defs and uses.
2. LCMPXCHG8B is loading 64 bit memory, not 32 bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92985
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 8 Jan 2010 00:05:33 +0000 (00:05 +0000)]
Remove extraneous include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92972
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Thu, 7 Jan 2010 23:50:41 +0000 (23:50 +0000)]
Add assert to check dominance dfs numbers.
Compare the dominance information calculated using a dominance tree walk to the
information calculated based on DFS numbers, if XDEBUG is enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92969
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Thu, 7 Jan 2010 23:50:25 +0000 (23:50 +0000)]
Remove workaround in PostDominators
Remove a FIXME and unify code that was necessary to work around broken
updateDFSNumbers(). Before updateDFSNumbers() did not work correctly for post
dominators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92968
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Thu, 7 Jan 2010 23:50:06 +0000 (23:50 +0000)]
Fix DFS number calculation for postdominators
The DFS number calculation for postdominators was broken. In the case of
multiple exits that form the post dominator root nodes, do not iterate over
all exits, but start from the virtual root node. Otherwise bbs, that are not
post dominated by any exit but by the virtual root node, will never be assigned
a DFS number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92967
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Jan 2010 23:44:37 +0000 (23:44 +0000)]
teach ComputeNumSignBits to look through PHI nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92964
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Jan 2010 23:42:23 +0000 (23:42 +0000)]
filecheckize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92963
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Jan 2010 23:41:00 +0000 (23:41 +0000)]
Enhance instcombine to reason more strongly about promoting computation
that feeds into a zext, similar to the patch I did yesterday for sext.
There is a lot of room for extension beyond this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92962
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Jan 2010 21:59:23 +0000 (21:59 +0000)]
Fix rdar://
7517201, a regression introduced by r92849.
When folding a and(any_ext(load)) both the any_ext and the
load have to have only a single use.
This removes the anyext-uses.ll testcase which started failing
because it is unreduced and unclear what it is testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92950
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Jan 2010 21:53:27 +0000 (21:53 +0000)]
factor this code better and reduce nesting at the same
time, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92948
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Thu, 7 Jan 2010 21:43:58 +0000 (21:43 +0000)]
Revert r92939. These intrinsics get matched to LLVM instructions,
so removing at Chris' request.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92947
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 7 Jan 2010 20:58:44 +0000 (20:58 +0000)]
APInt'fy TargetLowering::SimplifySetCC to fix PR5963.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92943
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Thu, 7 Jan 2010 19:47:43 +0000 (19:47 +0000)]
Add some "missing" instrinsics to make the SSE intrinsic set a bit more
orthogonal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92939
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 7 Jan 2010 19:46:15 +0000 (19:46 +0000)]
Simplify code. No intended functionality/performance change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92938
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 7 Jan 2010 19:45:14 +0000 (19:45 +0000)]
If the data requires a relocation then don't attempt to
add it to the constant pool for fast-isel. We already
don't add it for the normal case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92934
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 7 Jan 2010 19:44:05 +0000 (19:44 +0000)]
We need to put any kind of data with a relocation into a
not-readonly segment on darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92933
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 7 Jan 2010 19:39:36 +0000 (19:39 +0000)]
Use separate namespace for named metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92931
91177308-0d34-0410-b5e6-
96231b3b80d8
Kovarththanan Rajaratnam [Thu, 7 Jan 2010 18:46:52 +0000 (18:46 +0000)]
Fix occurrence typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92926
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Jan 2010 17:53:10 +0000 (17:53 +0000)]
constant materialization could be improved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92921
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 7 Jan 2010 17:50:57 +0000 (17:50 +0000)]
Kill dead store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92920
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 7 Jan 2010 17:29:08 +0000 (17:29 +0000)]
Remove dead variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92919
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 7 Jan 2010 17:27:56 +0000 (17:27 +0000)]
Use pop_back_val instead of back()+pop_back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92918
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 7 Jan 2010 13:50:07 +0000 (13:50 +0000)]
Use a do-while loop instead of while + boolean.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92912
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 7 Jan 2010 09:05:26 +0000 (09:05 +0000)]
Correct spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92910
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 7 Jan 2010 05:48:42 +0000 (05:48 +0000)]
Be less stingy as to how many selects and phi nodes we
are prepared to look through.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92898
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 7 Jan 2010 02:24:06 +0000 (02:24 +0000)]
More trivial optimizations to a function well outside the critical path
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Jan 2010 01:20:20 +0000 (01:20 +0000)]
handle ConstantVector while I'm in here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92892
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 7 Jan 2010 01:16:21 +0000 (01:16 +0000)]
fix a globalopt crash on 'bullet' (handling evaluation of a store
to an element of a vector in a static ctor) which occurs with an
unrelated patch I'm testing. Annoyingly, EvaluateStoreInto basically
does exactly the same stuff as InsertElement constant folding, but it
now handles vectors, and you can't insertelement into a vector. It
would be 'really nice' if GEP into a vector were not legal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92889
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 7 Jan 2010 00:54:06 +0000 (00:54 +0000)]
Fix a minor regression from my dag combiner changes. One more place which needs to look pass truncates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92885
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Thu, 7 Jan 2010 00:51:54 +0000 (00:51 +0000)]
Switch StringRef::edit_distance over to using raw pointers, since both
std::vector and llvm::SmallVector have annoying performance
tradeoffs. No, I don't expect this to matter, and now it won't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92884
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 7 Jan 2010 00:51:04 +0000 (00:51 +0000)]
Add comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92883
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Jan 2010 23:54:42 +0000 (23:54 +0000)]
80 column violations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92876
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 6 Jan 2010 23:52:46 +0000 (23:52 +0000)]
Allow double defs after tail duplication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92874
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 6 Jan 2010 23:47:07 +0000 (23:47 +0000)]
Add Target hook to duplicate machine instructions.
Some instructions refer to unique labels, and so cannot be trivially cloned
with CloneMachineInstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92873
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Jan 2010 23:45:18 +0000 (23:45 +0000)]
Addressing mode 6 (load/store) instructions can't encode an immediate offset
for stack references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92871
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Jan 2010 22:21:25 +0000 (22:21 +0000)]
Anti-dependency breaking needs to be careful regarding instructions with
multiple register definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92864
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 6 Jan 2010 20:04:44 +0000 (20:04 +0000)]
Move the object size intrinsic optimization to inst-combine and make
it work for any integer size return type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92853
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Jan 2010 19:43:21 +0000 (19:43 +0000)]
Comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92850
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 6 Jan 2010 19:38:29 +0000 (19:38 +0000)]
Teach dag combine to fold the following transformation more aggressively:
(OP (trunc x), (trunc y)) -> (trunc (OP x, y))
Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel.
This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92849
91177308-0d34-0410-b5e6-
96231b3b80d8
Douglas Gregor [Wed, 6 Jan 2010 17:16:00 +0000 (17:16 +0000)]
Fix struct/class mismatch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92841
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Wed, 6 Jan 2010 17:00:21 +0000 (17:00 +0000)]
When parsing function-local metadata, create a function-local MDNode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92838
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 6 Jan 2010 16:48:02 +0000 (16:48 +0000)]
80 column and whitespace cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92837
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 6 Jan 2010 15:37:47 +0000 (15:37 +0000)]
Fix a README item: have functionattrs look through selects and
phi nodes when deciding which pointers point to local memory.
I actually checked long ago how useful this is, and it isn't
very: it hardly ever fires in the testsuite, but since Chris
wants it here it is!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92836
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Wed, 6 Jan 2010 09:20:39 +0000 (09:20 +0000)]
Formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92831
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Wed, 6 Jan 2010 08:53:34 +0000 (08:53 +0000)]
Fixed malformed -*- lines in PBQP headers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92830
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 6 Jan 2010 08:45:52 +0000 (08:45 +0000)]
Partially address a README by having functionattrs consider calls to
memcpy, memset and other intrinsics that only access their arguments
to be readnone if the intrinsic's arguments all point to local memory.
This improves the testcase in the README to readonly, but it could in
theory be made readnone, however this would involve more sophisticated
analysis that looks through the memcpy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92829
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 6 Jan 2010 05:49:26 +0000 (05:49 +0000)]
This is testing a darwin specific feature, so only turn
it on for darwin (it fails on linux).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92826
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Jan 2010 05:32:15 +0000 (05:32 +0000)]
tweaks suggested by Duncan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92824
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 6 Jan 2010 02:21:00 +0000 (02:21 +0000)]
Reenable debug info on PPC. Works well enough to
bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92818
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 6 Jan 2010 02:20:18 +0000 (02:20 +0000)]
Make sure debug info hook gets called when emitting
synonyms for PPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92817
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Jan 2010 01:56:21 +0000 (01:56 +0000)]
Teach instcombine's sext elimination logic to be more aggressive.
Previously, instcombine would only promote an expression tree to
the larger type if doing so eliminated two casts. This is because
a need to manually do the sign extend after the promoted expression
tree with two shifts. Now, we keep track of whether the result of
the computation is going to be properly sign extended already. If
so, we can unconditionally promote the expression, which allows us
to zap more sext's.
This implements rdar://
6598839 (aka gcc pr38751)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92815
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 6 Jan 2010 00:29:28 +0000 (00:29 +0000)]
Add <imp-def> and <imp-kill> operands when replacing virtual sub-register defs and kills.
An instruction like this:
%reg1097:1<def> = VMOVSR %R3<kill>, 14, %reg0
Must be replaced with this when substituting physical registers:
%S0<def> = VMOVSR %R3<kill>, 14, %reg0, %D0<imp-def>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92812
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 6 Jan 2010 00:23:35 +0000 (00:23 +0000)]
The previous code could potentially cause a cycle. Allow ordering w.r.t. a 0 order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92810
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 6 Jan 2010 00:09:23 +0000 (00:09 +0000)]
Only check the ordering if there is an ordering for each nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92807
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 5 Jan 2010 23:48:12 +0000 (23:48 +0000)]
Add a semi-primitive form of scheduling via the "SDNode ordering" to the
bottom-up scheduler. We prefer the lower order number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92806
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 23:00:30 +0000 (23:00 +0000)]
simplify this code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92800
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 5 Jan 2010 22:52:54 +0000 (22:52 +0000)]
Move this test from test/Transforms/IndVarSimplify to
test/CodeGen/X86, as doesn't use -indvars, and it does use
llc -march=x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92799
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 5 Jan 2010 22:39:10 +0000 (22:39 +0000)]
Don't assign the shift the same type as the variable being shifted. This could
result in illegal types for the SHL operator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92797
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 5 Jan 2010 22:37:28 +0000 (22:37 +0000)]
Undo r92785, it caused test failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92796
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 22:30:42 +0000 (22:30 +0000)]
make this a static function instead of a method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92795
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 5 Jan 2010 22:26:32 +0000 (22:26 +0000)]
Don't use the ISD::NodeType enum for SDNode opcodes, as CodeGen
uses several kinds of opcode values which are not declared within
that enum. This fixes PR5946.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92794
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Tue, 5 Jan 2010 22:22:14 +0000 (22:22 +0000)]
Re-add parsing of function-local metadata; this time with testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92793
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 22:21:18 +0000 (22:21 +0000)]
more rearrangement and cleanup, fix my test failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92792
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 22:07:33 +0000 (22:07 +0000)]
cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92790
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 22:01:41 +0000 (22:01 +0000)]
remove two trunc xforms that are subsumed by EvaluateInDifferentType.
The only difference is that EvaluateInDifferentType checks to ensure
they are profitable before doing them :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92788
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 21:54:09 +0000 (21:54 +0000)]
merge some tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92786
91177308-0d34-0410-b5e6-
96231b3b80d8
Johnny Chen [Tue, 5 Jan 2010 21:51:46 +0000 (21:51 +0000)]
Add Rt2 to the asm format string for 32-bit Thumb load/store register dual
instructions. Thumb does not have the restriction that t2 = t+1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92785
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 21:48:13 +0000 (21:48 +0000)]
merge cast2 into cast.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92784
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 5 Jan 2010 21:47:32 +0000 (21:47 +0000)]
Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1, null}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92783
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 21:46:22 +0000 (21:46 +0000)]
remove useless test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92782
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 21:43:08 +0000 (21:43 +0000)]
another example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92781
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Jan 2010 21:38:37 +0000 (21:38 +0000)]
Don't specify CR sub-registers as implicit defs of BL instructions.
It is enough to give the super registers CR0, CR1, ..., and specifying the
sub-registers as well causes confusion in the liveness computations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92778
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 21:37:44 +0000 (21:37 +0000)]
remove a useless negative test, add a rdar # to an xfail that I'm working on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92777
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 21:32:59 +0000 (21:32 +0000)]
clean up tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92776
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 21:16:30 +0000 (21:16 +0000)]
just remove this xform which is subsumed by others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92775
91177308-0d34-0410-b5e6-
96231b3b80d8
Victor Hernandez [Tue, 5 Jan 2010 21:13:46 +0000 (21:13 +0000)]
Fix comment for CheckDebugInfoIntrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92774
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 21:11:17 +0000 (21:11 +0000)]
move a trunc-specific transform out of commonIntCastTransforms into visitTrunc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92773
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 5 Jan 2010 21:08:02 +0000 (21:08 +0000)]
Restore dump() methods to Loop and MachineLoop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92772
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 5 Jan 2010 21:05:54 +0000 (21:05 +0000)]
Move remaining stuff to the isInteger predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92771
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 21:04:47 +0000 (21:04 +0000)]
move a zext specific xform out of commonIntCastTransforms into visitZExt and modernize it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92770
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 5 Jan 2010 20:59:36 +0000 (20:59 +0000)]
Remove livein checks from machine code verifier.
A phi operand that is implicitly defined in a predecessor becomes an undefined
register after phi elimination. This causes a lot of false positives when the
verifier is checking if live-in registers are live-out from all predecessors.
Removing the verifier checks seems like a better solution than insisting on
IMPLICIT_DEF instructions in predecessor blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92769
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 20:57:30 +0000 (20:57 +0000)]
move a trunc-specific xform out of commonIntCastTransforms into visitTrunc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92768
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 20:56:24 +0000 (20:56 +0000)]
reduce indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92766
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 5 Jan 2010 20:45:43 +0000 (20:45 +0000)]
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92763
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 5 Jan 2010 20:45:13 +0000 (20:45 +0000)]
Proper deduce z/System LLVM target from target triple when
--enable-targets=host is specified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92762
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 5 Jan 2010 20:41:31 +0000 (20:41 +0000)]
NamedMDNode is a collection MDNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92761
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 5 Jan 2010 20:07:06 +0000 (20:07 +0000)]
Convert a ton of simple integer type equality tests to the new predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92760
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 5 Jan 2010 20:04:48 +0000 (20:04 +0000)]
Add a new predicate for integer type equality tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92759
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Tue, 5 Jan 2010 19:11:42 +0000 (19:11 +0000)]
Add an !eq() operator to TableGen. It operates on strings only.
Use !cast<string>() to compare other types of objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92754
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 5 Jan 2010 18:24:00 +0000 (18:24 +0000)]
Add an entry on SmallBitVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92747
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Jan 2010 18:09:56 +0000 (18:09 +0000)]
optimize comparisons against cttz/ctlz/ctpop, patch by Alastair Lynn!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92745
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 5 Jan 2010 17:55:26 +0000 (17:55 +0000)]
Delete useless trailing semicolons.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92740
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 5 Jan 2010 17:50:58 +0000 (17:50 +0000)]
Nick Lewycky pointed out that this code makes changes unconditionally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92739
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Tue, 5 Jan 2010 17:47:41 +0000 (17:47 +0000)]
Have TableGen emit code that uses dbgs() rather than errs().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92738
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 5 Jan 2010 16:59:17 +0000 (16:59 +0000)]
If a scope has only one instruction then first instruction is also the last instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92736
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 5 Jan 2010 16:31:45 +0000 (16:31 +0000)]
Set Changed properly after calling DeleteDeadPHIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92735
91177308-0d34-0410-b5e6-
96231b3b80d8