| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
the opc string passed in, since it's a given from the class inheritance of T2sI.
The fixed the extra 's' in adcss & sbcss when disassembly printing.
llvm-svn: 97582
|
| |
|
|
| |
llvm-svn: 97581
|
| |
|
|
|
|
|
| |
by loop depth and emit loop-invariant subexpressions outside of loops.
This speeds up MultiSource/Applications/viterbi and others.
llvm-svn: 97580
|
| |
|
|
| |
llvm-svn: 97578
|
| |
|
|
| |
llvm-svn: 97577
|
| |
|
|
| |
llvm-svn: 97576
|
| |
|
|
|
|
| |
to itself, even though this isn't wildly useful.
llvm-svn: 97574
|
| |
|
|
|
|
|
| |
SMMULR, SMMLAR, SMMLSR, TBB, TBH, and 16-bit Thumb instruction CPS for
disassembly only.
llvm-svn: 97573
|
| |
|
|
|
|
| |
Thanks Duncan!
llvm-svn: 97572
|
| |
|
|
|
|
|
| |
Add printMandatoryPredicateOperand() PrintMethod for IT predicate printing.
Ref: A8.3 Conditional execution
llvm-svn: 97571
|
| |
|
|
| |
llvm-svn: 97567
|
| |
|
|
| |
llvm-svn: 97565
|
| |
|
|
| |
llvm-svn: 97564
|
| |
|
|
|
|
|
| |
and nothing for AddressSpace, pass 0 for InsertBefore, "false" for ThreadLocal
and AddressSpace for AddressSpace. Spotted by gcc-4.5.
llvm-svn: 97563
|
| |
|
|
|
|
|
|
|
| |
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.
llvm-svn: 97561
|
| |
|
|
|
|
| |
*does* delete ex-operands that become dead.
llvm-svn: 97559
|
| |
|
|
| |
llvm-svn: 97558
|
| |
|
|
| |
llvm-svn: 97557
|
| |
|
|
| |
llvm-svn: 97556
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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(-)
llvm-svn: 97555
|
| |
|
|
|
|
| |
Fixes PR5309.
llvm-svn: 97554
|
| |
|
|
|
|
| |
is shared by all targets.
llvm-svn: 97553
|
| |
|
|
| |
llvm-svn: 97550
|
| |
|
|
|
|
| |
Fixes PR6267.
llvm-svn: 97549
|
| |
|
|
|
|
|
|
|
|
| |
configure.
Fixes PR6388.
Patch by Yann Droneaud!
llvm-svn: 97548
|
| |
|
|
| |
llvm-svn: 97545
|
| |
|
|
| |
llvm-svn: 97543
|
| |
|
|
|
|
| |
information out of the hash table.
llvm-svn: 97542
|
| |
|
|
| |
llvm-svn: 97541
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 97539
|
| |
|
|
|
|
| |
Based on a patch by Micah Villmow for PR6438.
llvm-svn: 97538
|
| |
|
|
|
|
|
| |
emitted after the increment. Make sure the insert position
reflects this. This fixes PR6453.
llvm-svn: 97537
|
| |
|
|
| |
llvm-svn: 97536
|
| |
|
|
|
|
| |
force empty AT_name attribute in such cases.
llvm-svn: 97533
|
| |
|
|
|
|
| |
respectively.
llvm-svn: 97531
|
| |
|
|
|
|
|
| |
better reflect its meaning, now that tail call optimizations
are done by default in some cases.
llvm-svn: 97530
|
| |
|
|
| |
llvm-svn: 97529
|
| |
|
|
| |
llvm-svn: 97527
|
| |
|
|
|
|
| |
a loop and is itself the only dependency).
llvm-svn: 97526
|
| |
|
|
|
|
| |
new helper function.
llvm-svn: 97525
|
| |
|
|
|
|
| |
old isel generated code.
llvm-svn: 97522
|
| |
|
|
|
|
|
|
| |
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.
llvm-svn: 97521
|
| |
|
|
| |
llvm-svn: 97517
|
| |
|
|
|
|
| |
now that it is gone.
llvm-svn: 97516
|
| |
|
|
| |
llvm-svn: 97515
|
| |
|
|
|
|
|
|
| |
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.
llvm-svn: 97514
|
| |
|
|
|
|
|
|
| |
(set GPR, somecomplexpattern)
if somecomplexpattern doesn't declare what it can match.
llvm-svn: 97513
|
| |
|
|
| |
llvm-svn: 97512
|
| |
|
|
|
|
| |
(the most general) the others are dead.
llvm-svn: 97511
|
| |
|
|
| |
llvm-svn: 97510
|