oota-llvm.git
14 years agoclean up some testcases.
Chris Lattner [Tue, 2 Mar 2010 18:56:03 +0000 (18:56 +0000)]
clean up some testcases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97576 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agothe sorting predicate should work for comparing an element
Chris Lattner [Tue, 2 Mar 2010 18:15:02 +0000 (18:15 +0000)]
the sorting predicate should work for comparing an element
to itself, even though this isn't wildly useful.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97574 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded 32-bit Thumb instructions: CPS, SDIV, UDIV, SXTB16, SXTAB16, UXTAB16, SEL,
Johnny Chen [Tue, 2 Mar 2010 18:14:57 +0000 (18:14 +0000)]
Added 32-bit Thumb instructions: CPS, SDIV, UDIV, SXTB16, SXTAB16, UXTAB16, SEL,
SMMULR, SMMLAR, SMMLSR, TBB, TBH, and 16-bit Thumb instruction CPS for
disassembly only.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97573 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix grammar.
Devang Patel [Tue, 2 Mar 2010 17:58:15 +0000 (17:58 +0000)]
Fix grammar.
Thanks Duncan!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97572 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAL is an optional mnemonic extension for always, except in IT instructions.
Johnny Chen [Tue, 2 Mar 2010 17:57:15 +0000 (17:57 +0000)]
AL is an optional mnemonic extension for always, except in IT instructions.
Add printMandatoryPredicateOperand() PrintMethod for IT predicate printing.

Ref: A8.3 Conditional execution

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97571 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoChange some asm shift opcode strings to lowercase.
Johnny Chen [Tue, 2 Mar 2010 17:03:18 +0000 (17:03 +0000)]
Change some asm shift opcode strings to lowercase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97567 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix typo add missing (
Xerxes Ranby [Tue, 2 Mar 2010 13:42:03 +0000 (13:42 +0000)]
fix typo add missing (

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97565 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUnbreak llvm-arm-linux buildbot and fix PR5309.
Xerxes Ranby [Tue, 2 Mar 2010 13:26:18 +0000 (13:26 +0000)]
Unbreak llvm-arm-linux buildbot and fix PR5309.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97564 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRather than passing "false" for InsertBefore, AddressSpace for ThreadLocal,
Duncan Sands [Tue, 2 Mar 2010 11:18:43 +0000 (11:18 +0000)]
Rather than passing "false" for InsertBefore, AddressSpace for ThreadLocal,
and nothing for AddressSpace, pass 0 for InsertBefore, "false" for ThreadLocal
and AddressSpace for AddressSpace.  Spotted by gcc-4.5.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97563 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix the xfail I added a couple of patches back. The issue
Chris Lattner [Tue, 2 Mar 2010 07:50:03 +0000 (07:50 +0000)]
Fix the xfail I added a couple of patches back.  The issue
was that we weren't properly handling the case when interior
nodes of a matched pattern become dead after updating chain
and flag uses.  Now we handle this explicitly in
UpdateChainsAndFlags.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97561 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoI was confused about this, it turns out that MorphNodeTo
Chris Lattner [Tue, 2 Mar 2010 07:14:49 +0000 (07:14 +0000)]
I was confused about this, it turns out that MorphNodeTo
*does* delete ex-operands that become dead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97559 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofactor node morphing out to its own helper method.
Chris Lattner [Tue, 2 Mar 2010 06:55:04 +0000 (06:55 +0000)]
factor node morphing out to its own helper method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97558 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoattributes are not part of types anymore, patch by James Woodyatt!
Chris Lattner [Tue, 2 Mar 2010 06:36:51 +0000 (06:36 +0000)]
attributes are not part of types anymore, patch by James Woodyatt!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97557 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoeliminate CodeGen/DAGISelHeader.h, it is empty now.
Chris Lattner [Tue, 2 Mar 2010 06:36:28 +0000 (06:36 +0000)]
eliminate CodeGen/DAGISelHeader.h, it is empty now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97556 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSink InstructionSelect() out of each target into SDISel, and rename it
Chris Lattner [Tue, 2 Mar 2010 06:34:30 +0000 (06:34 +0000)]
Sink InstructionSelect() out of each target into SDISel, and rename it
DoInstructionSelection.  Inline "SelectRoot" into it from DAGISelHeader.
Sink some other stuff out of DAGISelHeader into SDISel.

Eliminate the various 'Indent' stuff from various targets, which dates
to when isel was recursive.

 17 files changed, 114 insertions(+), 430 deletions(-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97555 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoOnly save vector registers if we've defined for the vector registers.
Eric Christopher [Tue, 2 Mar 2010 06:25:00 +0000 (06:25 +0000)]
Only save vector registers if we've defined for the vector registers.

Fixes PR5309.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97554 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomove some code out of DAGISelHeader up to SelectionDAGISel.h where it
Chris Lattner [Tue, 2 Mar 2010 06:04:12 +0000 (06:04 +0000)]
move some code out of DAGISelHeader up to SelectionDAGISel.h where it
is shared by all targets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97553 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix looking up MD names to not need a module.
Erick Tryzelaar [Tue, 2 Mar 2010 05:32:52 +0000 (05:32 +0000)]
Fix looking up MD names to not need a module.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97550 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove the docsdir to /usr/share/doc/llvm to match other projects.
Eric Christopher [Tue, 2 Mar 2010 05:17:21 +0000 (05:17 +0000)]
Move the docsdir to /usr/share/doc/llvm to match other projects.

Fixes PR6267.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97549 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake sure we save CXXFLAGS before setting it as pedantic and regenerate
Eric Christopher [Tue, 2 Mar 2010 05:06:54 +0000 (05:06 +0000)]
Make sure we save CXXFLAGS before setting it as pedantic and regenerate
configure.

Fixes PR6388.

Patch by Yann Droneaud!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97548 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd file to CMakeLists.txt
Eric Christopher [Tue, 2 Mar 2010 02:49:43 +0000 (02:49 +0000)]
Add file to CMakeLists.txt

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97545 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd skeleton of a machine level cse pass.
Evan Cheng [Tue, 2 Mar 2010 02:38:24 +0000 (02:38 +0000)]
Add skeleton of a machine level cse pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97543 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd count() and lookup() to ScopedHashTable. It might be useful to get information...
Evan Cheng [Tue, 2 Mar 2010 02:37:33 +0000 (02:37 +0000)]
Add count() and lookup() to ScopedHashTable. It might be useful to get information out of the hash table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97542 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse the right induction variable.
Chris Lattner [Tue, 2 Mar 2010 02:37:23 +0000 (02:37 +0000)]
Use the right induction variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97541 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRewrite chain handling validation and input TokenFactor handling
Chris Lattner [Tue, 2 Mar 2010 02:22:10 +0000 (02:22 +0000)]
Rewrite chain handling validation and input TokenFactor handling
stuff now that we don't care about emulating the old broken
behavior of the old isel.  This eliminates the
'CheckChainCompatible' check (along with IsChainCompatible) which
did an incorrect and inefficient scan *up* the chain nodes which
happened as the pattern was being formed and does the validation
at the end in HandleMergeInputChains when it forms a structural
pattern.  This scans "down" the graph, which means that it is
quickly bounded by nodes already selected.  This also handles
token factors that get "trapped" in the dag.

Removing the CheckChainCompatible nodes also shrinks the
generated tables by about 6K for X86 (down to 83K).

There are two pieces remaining before I can nuke PreprocessRMW:
1. I xfailed a test because we're now producing worse code in a
   case that has nothing to do with the change: it turns out that
   our use of MorphNodeTo will leave dead nodes in the graph
   which (depending on how the graph is walked) end up causing
   bogus uses of chains and blocking matches.  This is really
   bad for other reasons, so I'll fix this in a follow-up patch.

2. CheckFoldableChainNode needs to be improved to handle the TF.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97539 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix several places to handle vector operands properly.
Dan Gohman [Tue, 2 Mar 2010 02:14:38 +0000 (02:14 +0000)]
Fix several places to handle vector operands properly.
Based on a patch by Micah Villmow for PR6438.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97538 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoNon-affine post-inc SCEV expansions have more code which must be
Dan Gohman [Tue, 2 Mar 2010 01:59:21 +0000 (01:59 +0000)]
Non-affine post-inc SCEV expansions have more code which must be
emitted after the increment. Make sure the insert position
reflects this. This fixes PR6453.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97537 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove dead parameter passing.
Bill Wendling [Tue, 2 Mar 2010 01:55:18 +0000 (01:55 +0000)]
Remove dead parameter passing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97536 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoConstructors and operators for anonymous aggregates does not names. Do not force...
Devang Patel [Tue, 2 Mar 2010 01:26:20 +0000 (01:26 +0000)]
Constructors and operators for anonymous aggregates does not names. Do not force empty AT_name attribute in such cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97533 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFloating-point add, sub, and mul are now spelled fadd, fsub, and fmul,
Dan Gohman [Tue, 2 Mar 2010 01:11:08 +0000 (01:11 +0000)]
Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul,
respectively.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97531 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPerformTailCallOpt was renamed to GuaranteedTailCallOpt to
Dan Gohman [Tue, 2 Mar 2010 01:08:11 +0000 (01:08 +0000)]
PerformTailCallOpt was renamed to GuaranteedTailCallOpt to
better reflect its meaning, now that tail call optimizations
are done by default in some cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97530 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove dead code.
Chris Lattner [Tue, 2 Mar 2010 00:40:26 +0000 (00:40 +0000)]
remove dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97529 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd some missing \n's
Chris Lattner [Tue, 2 Mar 2010 00:13:03 +0000 (00:13 +0000)]
add some missing \n's

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97527 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't attempt load PRE when there is no real redundancy (i.e., the load is in
Bob Wilson [Tue, 2 Mar 2010 00:09:29 +0000 (00:09 +0000)]
Don't attempt load PRE when there is no real redundancy (i.e., the load is in
a loop and is itself the only dependency).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97526 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorefactor some code out of OPC_EmitMergeInputChains into a
Chris Lattner [Tue, 2 Mar 2010 00:00:03 +0000 (00:00 +0000)]
refactor some code out of OPC_EmitMergeInputChains into a
new helper function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97525 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove some functions that were only used by the
Chris Lattner [Mon, 1 Mar 2010 23:40:33 +0000 (23:40 +0000)]
remove some functions that were only used by the
old isel generated code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97522 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWhen GVN needs to split critical edges for load PRE, check all of the
Bob Wilson [Mon, 1 Mar 2010 23:37:32 +0000 (23:37 +0000)]
When GVN needs to split critical edges for load PRE, check all of the
predecessors before returning.  Otherwise, if multiple predecessor edges need
splitting, we only get one of them per iteration.  This makes a small but
measurable compile time improvement with -enable-full-load-pre.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97521 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofixme resolved.
Chris Lattner [Mon, 1 Mar 2010 23:08:51 +0000 (23:08 +0000)]
fixme resolved.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97517 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove a little hack I did for the old isel, not needed
Chris Lattner [Mon, 1 Mar 2010 22:51:11 +0000 (22:51 +0000)]
remove a little hack I did for the old isel, not needed
now that it is gone.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97516 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoresolve some fixmes
Chris Lattner [Mon, 1 Mar 2010 22:49:06 +0000 (22:49 +0000)]
resolve some fixmes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97515 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoresolve a fixme and simplify code by moving insertion of the
Chris Lattner [Mon, 1 Mar 2010 22:46:42 +0000 (22:46 +0000)]
resolve a fixme and simplify code by moving insertion of the
EmitMergeInputChainsMatcher node up into EmitResultCode.  This
doesn't have much of an effect on the generated code, the X86
table is exactly the same size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97514 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoresolve a fixme by having the .td file parser reject thigns like
Chris Lattner [Mon, 1 Mar 2010 22:29:19 +0000 (22:29 +0000)]
resolve a fixme by having the .td file parser reject thigns like

(set GPR, somecomplexpattern)

if somecomplexpattern doesn't declare what it can match.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97513 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMemoryDepAnalysis is not used if redundant load processing is disabled.
Evan Cheng [Mon, 1 Mar 2010 22:23:12 +0000 (22:23 +0000)]
MemoryDepAnalysis is not used if redundant load processing is disabled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97512 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove all but one version of SelectionDAG::MorphNodeTo
Chris Lattner [Mon, 1 Mar 2010 22:20:05 +0000 (22:20 +0000)]
remove all but one version of SelectionDAG::MorphNodeTo
(the most general) the others are dead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97511 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove dead code, simplify.
Chris Lattner [Mon, 1 Mar 2010 22:19:47 +0000 (22:19 +0000)]
remove dead code, simplify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97510 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix PR2590 by making PatternSortingPredicate actually be
Chris Lattner [Mon, 1 Mar 2010 22:09:11 +0000 (22:09 +0000)]
Fix PR2590 by making PatternSortingPredicate actually be
ordered correctly.  Previously it would get in trouble when
two patterns were too similar and give them nondet ordering.
We force this by using the record ID order as a fallback.

The testsuite diff is due to alpha patterns being ordered
slightly differently, the change is a semantic noop afaict:

<  lda $0,-100($16)
---
>  subq $16,100,$0

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97509 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agotolerate factoring the *last* node for CellSPU.
Chris Lattner [Mon, 1 Mar 2010 22:04:33 +0000 (22:04 +0000)]
tolerate factoring the *last* node for CellSPU.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97508 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove the optimize for code size limitation on r67917. Optimize 64-bit imul by const...
Evan Cheng [Mon, 1 Mar 2010 22:00:11 +0000 (22:00 +0000)]
Remove the optimize for code size limitation on r67917. Optimize 64-bit imul by constants into leas + shl regardless if optimizing for code size. The size saving from using imulq isn't worth it. Also, the lea and shl instructions may expose further optimization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97507 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agooptimize tblgen compile time by eliminating the old isel.
Chris Lattner [Mon, 1 Mar 2010 21:49:54 +0000 (21:49 +0000)]
optimize tblgen compile time by eliminating the old isel.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97504 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake llc opt into the addPassesToEmitFile verify pass.
Dan Gohman [Mon, 1 Mar 2010 21:45:21 +0000 (21:45 +0000)]
Make llc opt into the addPassesToEmitFile verify pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97502 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove a terrible hack that disabled assertions from this file because of build time
Chris Lattner [Mon, 1 Mar 2010 21:20:46 +0000 (21:20 +0000)]
remove a terrible hack that disabled assertions from this file because of build time
problems.  rdar://7697850.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97500 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse methods to determine if a LiveInterval is spillable.
Jakob Stoklund Olesen [Mon, 1 Mar 2010 20:59:38 +0000 (20:59 +0000)]
Use methods to determine if a LiveInterval is spillable.

Don't accidentally produce unspillable intervals for deeply nested loops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97496 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove tests that checks @llvm.dbg.stoppoint handling.
Devang Patel [Mon, 1 Mar 2010 20:33:48 +0000 (20:33 +0000)]
Remove  tests that checks @llvm.dbg.stoppoint handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97493 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agostop using anders-aa
Chris Lattner [Mon, 1 Mar 2010 20:24:50 +0000 (20:24 +0000)]
stop using anders-aa

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97492 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agostop using anders-aa
Chris Lattner [Mon, 1 Mar 2010 20:24:05 +0000 (20:24 +0000)]
stop using anders-aa

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97491 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove andersen's tests.
Chris Lattner [Mon, 1 Mar 2010 20:23:15 +0000 (20:23 +0000)]
remove andersen's tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97490 91177308-0d34-0410-b5e6-96231b3b80d8

14 years ago@llvm.dbg.stoppoint intrinsic is not used anymore.
Devang Patel [Mon, 1 Mar 2010 19:46:08 +0000 (19:46 +0000)]
@llvm.dbg.stoppoint intrinsic is not used anymore.
Delete dead testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97489 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate CMake build.
Ted Kremenek [Mon, 1 Mar 2010 19:42:47 +0000 (19:42 +0000)]
Update CMake build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97488 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate to use new debug info encoding scheme. As a bonus, now the test passes!
Devang Patel [Mon, 1 Mar 2010 19:41:26 +0000 (19:41 +0000)]
Update to use new debug info encoding scheme. As a bonus, now the test passes!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97487 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agodon't emit the old sdnodexform stuff for the new isel.
Chris Lattner [Mon, 1 Mar 2010 19:39:15 +0000 (19:39 +0000)]
don't emit the old sdnodexform stuff for the new isel.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97486 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agostop using generated sdnodexforms.
Chris Lattner [Mon, 1 Mar 2010 19:38:53 +0000 (19:38 +0000)]
stop using generated sdnodexforms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97485 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agonote that andersaa was removed in 2.7
Chris Lattner [Mon, 1 Mar 2010 19:29:17 +0000 (19:29 +0000)]
note that andersaa was removed in 2.7

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97484 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove anders-aa from mainline, it isn't maintained and is
Chris Lattner [Mon, 1 Mar 2010 19:24:17 +0000 (19:24 +0000)]
remove anders-aa from mainline, it isn't maintained and is
tantalyzing enough that people keep trying to use it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97483 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded STRHT for disassembly only and fixed a bug in AI3sthpo class where the W
Johnny Chen [Mon, 1 Mar 2010 19:22:00 +0000 (19:22 +0000)]
Added STRHT for disassembly only and fixed a bug in AI3sthpo class where the W
bit should be set to 0 instead of 1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97481 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove this test because it checks wheter optimizer handled @llvm.dbg.global_variable...
Devang Patel [Mon, 1 Mar 2010 19:14:25 +0000 (19:14 +0000)]
Remove this test because it checks wheter optimizer handled @llvm.dbg.global_variable appropriately or not. LLVM does not use this scheme to encode debug info for global variables any more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97480 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove test to check bugfix in handing debug info for global variables using intrinsi...
Devang Patel [Mon, 1 Mar 2010 19:09:55 +0000 (19:09 +0000)]
Remove test to check bugfix in handing debug info for global variables using intrinsics. Now, debug info for global variable is encoded using metadata. The old code path is now history and there is no need to have a test to check a bug fix in old code path.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97477 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTurn on the new isel by default. Here are some fun numbers
Chris Lattner [Mon, 1 Mar 2010 19:05:25 +0000 (19:05 +0000)]
Turn on the new isel by default.  Here are some fun numbers
with a release-asserts build on x86-64-darwin10:

LLC Size:
Old: 15,426,852
New: 12,759,140  (down 2.7M)

LLI Size:
Old: 9,926,876
New: 8,864,292   (down 1.1M)

X86ISelDAGToDAG.o size:
Old: 1,401,232
New:   162,868   (down 1.3M)

Time to build X86ISelDAGToDAG.o:
Old: 67.147u 2.060s 1:09.78
New:  4.234u 0.387s 0:04.77

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97475 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove dead test.
Devang Patel [Mon, 1 Mar 2010 19:04:23 +0000 (19:04 +0000)]
Remove dead test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97474 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReplace test case that uses @llvm.dbg.* intrinsic with a test that uses metadata.
Devang Patel [Mon, 1 Mar 2010 19:02:51 +0000 (19:02 +0000)]
Replace test case that uses @llvm.dbg.* intrinsic with a test that uses metadata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97473 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMissed a \n in previous commit.
Torok Edwin [Mon, 1 Mar 2010 19:00:55 +0000 (19:00 +0000)]
Missed a \n in previous commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97472 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd command-line flag to tblgen to turn off generating comments for the new
Torok Edwin [Mon, 1 Mar 2010 18:49:10 +0000 (18:49 +0000)]
Add command-line flag to tblgen to turn off generating comments for the new
isel (defaults it to generate comments).
This reduces the size of the generated source file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97470 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAccelerate isel dispatch for tables that start with a top-level
Chris Lattner [Mon, 1 Mar 2010 18:47:11 +0000 (18:47 +0000)]
Accelerate isel dispatch for tables that start with a top-level
OPC_SwitchOpcode to use a table lookup instead of having to go
through the interpreter for this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97469 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThese two tests check whether oprimizer safely ignores @llvm.dbg.stoppoint intrinsic...
Devang Patel [Mon, 1 Mar 2010 18:45:28 +0000 (18:45 +0000)]
These two tests check whether oprimizer safely ignores @llvm.dbg.stoppoint intrinsic or not. This intrinsic is not used anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97468 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't potentially read past the end of the fill data when making a NaN from
John McCall [Mon, 1 Mar 2010 18:38:45 +0000 (18:38 +0000)]
Don't potentially read past the end of the fill data when making a NaN from
an APInt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97467 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThis test checks whether LICM ignores @llvm.dbg.stoppoint intrinsics appropriately...
Devang Patel [Mon, 1 Mar 2010 18:32:27 +0000 (18:32 +0000)]
This test checks whether LICM ignores @llvm.dbg.stoppoint intrinsics appropriately or not. Now, llvm does not use this intrinsic. Remove this test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97466 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRewrite test to test VLA using new debug info encoding scheme.
Devang Patel [Mon, 1 Mar 2010 18:30:58 +0000 (18:30 +0000)]
Rewrite test to test VLA using new debug info encoding scheme.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97465 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove this generic debug info intrinsic test. LLVM does not use this llvm.dbg.stoppo...
Devang Patel [Mon, 1 Mar 2010 18:30:08 +0000 (18:30 +0000)]
Remove this generic debug info intrinsic test. LLVM does not use this llvm.dbg.stoppoint intrinsic anymore. There are tests to check new implementation, which attaches location information directly with an instruction using metadata.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97464 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix optimization of ISD::TRUNCATE on vector operands. Based on a patch
Dan Gohman [Mon, 1 Mar 2010 17:59:21 +0000 (17:59 +0000)]
Fix optimization of ISD::TRUNCATE on vector operands. Based on a patch
by Micah Villmow for PR6335.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97461 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd explicit keywords.
Dan Gohman [Mon, 1 Mar 2010 17:56:46 +0000 (17:56 +0000)]
Add explicit keywords.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97460 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a comment.
Dan Gohman [Mon, 1 Mar 2010 17:56:04 +0000 (17:56 +0000)]
Add a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97459 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd some debug output to LoopSimplify.
Dan Gohman [Mon, 1 Mar 2010 17:55:27 +0000 (17:55 +0000)]
Add some debug output to LoopSimplify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97458 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd the alignstack keyword.
Dan Gohman [Mon, 1 Mar 2010 17:53:39 +0000 (17:53 +0000)]
Add the alignstack keyword.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97457 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLLVM instruction syntax doesn't have trailing semicolons.
Dan Gohman [Mon, 1 Mar 2010 17:53:15 +0000 (17:53 +0000)]
LLVM instruction syntax doesn't have trailing semicolons.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97456 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agosvn:ignore fixes.
Dan Gohman [Mon, 1 Mar 2010 17:52:16 +0000 (17:52 +0000)]
svn:ignore fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97455 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSpelling fixes.
Dan Gohman [Mon, 1 Mar 2010 17:51:02 +0000 (17:51 +0000)]
Spelling fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97454 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSpelling fixes.
Dan Gohman [Mon, 1 Mar 2010 17:49:51 +0000 (17:49 +0000)]
Spelling fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97453 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWhitespace cleanups.
Dan Gohman [Mon, 1 Mar 2010 17:47:21 +0000 (17:47 +0000)]
Whitespace cleanups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97452 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse Doxygen comment syntax.
Dan Gohman [Mon, 1 Mar 2010 17:45:15 +0000 (17:45 +0000)]
Use Doxygen comment syntax.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97451 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThis is now done.
Dan Gohman [Mon, 1 Mar 2010 17:43:57 +0000 (17:43 +0000)]
This is now done.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97450 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a missing newline in debug output.
Dan Gohman [Mon, 1 Mar 2010 17:42:55 +0000 (17:42 +0000)]
Fix a missing newline in debug output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97449 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPrune #includes.
Dan Gohman [Mon, 1 Mar 2010 17:42:17 +0000 (17:42 +0000)]
Prune #includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97448 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix spelling.
Dan Gohman [Mon, 1 Mar 2010 17:41:39 +0000 (17:41 +0000)]
Fix spelling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97447 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't print "Modified" for passes which haven't modified anything.
Dan Gohman [Mon, 1 Mar 2010 17:34:28 +0000 (17:34 +0000)]
Don't print "Modified" for passes which haven't modified anything.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97446 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd JIT support to the TODO list (test commit)
Nathan Keynes [Mon, 1 Mar 2010 10:40:41 +0000 (10:40 +0000)]
Add JIT support to the TODO list (test commit)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97443 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEmit type checks late instead of early, this encourages
Chris Lattner [Mon, 1 Mar 2010 07:54:59 +0000 (07:54 +0000)]
Emit type checks late instead of early, this encourages
structural matching code to be factored and shared this
shrinks the X86 isel table from 86537 to 83890 bytes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97442 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agosome trivial microoptimizations.
Chris Lattner [Mon, 1 Mar 2010 07:43:08 +0000 (07:43 +0000)]
some trivial microoptimizations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97441 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEmit a redundant check for immediates at root context, e.g. (imm 0).
Chris Lattner [Mon, 1 Mar 2010 07:27:07 +0000 (07:27 +0000)]
Emit a redundant check for immediates at root context, e.g. (imm 0).
This allows formation of OpcodeSwitch for top level patterns, in
particular on X86.  This saves about 1K of data space in the x86
table and makes the dispatch much more efficient.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97440 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoeliminate the CheckMultiOpcodeMatcher code and have each
Chris Lattner [Mon, 1 Mar 2010 07:17:40 +0000 (07:17 +0000)]
eliminate the CheckMultiOpcodeMatcher code and have each
ComplexPattern at the root be generated multiple times, once
for each opcode they are part of.  This encourages factoring
because the opcode checks get treated just like everything
else in the matcher.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97439 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a new OPC_SwitchOpcode which is semantically equivalent
Chris Lattner [Mon, 1 Mar 2010 06:59:22 +0000 (06:59 +0000)]
add a new OPC_SwitchOpcode which is semantically equivalent
to a scope where every child starts with a CheckOpcode, but
executes more efficiently.  Enhance DAGISelMatcherOpt to
form it.

This also fixes a bug in CheckOpcode: apparently the SDNodeInfo
objects are not pointer comparable, we have to compare the
enum name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97438 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agopull MarkFlagResult out from between an EmitNode/CompleteMatch
Chris Lattner [Mon, 1 Mar 2010 02:33:14 +0000 (02:33 +0000)]
pull MarkFlagResult out from between an EmitNode/CompleteMatch
pair.  This encourages MorphNodeTo formation, this gets us 200
more MorphNodeTo's on X86 and shrinks the table a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97434 91177308-0d34-0410-b5e6-96231b3b80d8