summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Change some asm shift opcode strings to lowercase.Johnny Chen2010-03-021-6/+6
| | | | llvm-svn: 97567
* fix typo add missing (Xerxes Ranby2010-03-021-2/+2
| | | | llvm-svn: 97565
* Unbreak llvm-arm-linux buildbot and fix PR5309.Xerxes Ranby2010-03-021-2/+2
| | | | llvm-svn: 97564
* Rather than passing "false" for InsertBefore, AddressSpace for ThreadLocal,Duncan Sands2010-03-021-2/+2
| | | | | | | and nothing for AddressSpace, pass 0 for InsertBefore, "false" for ThreadLocal and AddressSpace for AddressSpace. Spotted by gcc-4.5. llvm-svn: 97563
* Fix the xfail I added a couple of patches back. The issueChris Lattner2010-03-021-12/+40
| | | | | | | | | 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
* I was confused about this, it turns out that MorphNodeToChris Lattner2010-03-021-3/+2
| | | | | | *does* delete ex-operands that become dead. llvm-svn: 97559
* factor node morphing out to its own helper method.Chris Lattner2010-03-021-54/+62
| | | | llvm-svn: 97558
* Sink InstructionSelect() out of each target into SDISel, and rename itChris Lattner2010-03-0215-334/+101
| | | | | | | | | | | | 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
* Only save vector registers if we've defined for the vector registers.Eric Christopher2010-03-021-2/+2
| | | | | | Fixes PR5309. llvm-svn: 97554
* Fix looking up MD names to not need a module.Erick Tryzelaar2010-03-021-10/+12
| | | | llvm-svn: 97550
* Add file to CMakeLists.txtEric Christopher2010-03-021-0/+1
| | | | llvm-svn: 97545
* Add skeleton of a machine level cse pass.Evan Cheng2010-03-021-0/+124
| | | | llvm-svn: 97543
* Use the right induction variable.Chris Lattner2010-03-021-2/+2
| | | | llvm-svn: 97541
* Rewrite chain handling validation and input TokenFactor handlingChris Lattner2010-03-021-54/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix several places to handle vector operands properly.Dan Gohman2010-03-023-6/+6
| | | | | | Based on a patch by Micah Villmow for PR6438. llvm-svn: 97538
* Non-affine post-inc SCEV expansions have more code which must beDan Gohman2010-03-022-3/+7
| | | | | | | emitted after the increment. Make sure the insert position reflects this. This fixes PR6453. llvm-svn: 97537
* Remove dead parameter passing.Bill Wendling2010-03-0210-69/+58
| | | | llvm-svn: 97536
* Constructors and operators for anonymous aggregates does not names. Do not ↵Devang Patel2010-03-021-1/+3
| | | | | | force empty AT_name attribute in such cases. llvm-svn: 97533
* Floating-point add, sub, and mul are now spelled fadd, fsub, and fmul,Dan Gohman2010-03-024-9/+9
| | | | | | respectively. llvm-svn: 97531
* remove dead code.Chris Lattner2010-03-021-31/+0
| | | | llvm-svn: 97529
* Don't attempt load PRE when there is no real redundancy (i.e., the load is inBob Wilson2010-03-021-4/+6
| | | | | | a loop and is itself the only dependency). llvm-svn: 97526
* refactor some code out of OPC_EmitMergeInputChains into aChris Lattner2010-03-021-21/+37
| | | | | | new helper function. llvm-svn: 97525
* When GVN needs to split critical edges for load PRE, check all of theBob Wilson2010-03-011-1/+4
| | | | | | | | 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
* remove a little hack I did for the old isel, not neededChris Lattner2010-03-011-16/+2
| | | | | | now that it is gone. llvm-svn: 97516
* MemoryDepAnalysis is not used if redundant load processing is disabled.Evan Cheng2010-03-011-1/+1
| | | | llvm-svn: 97512
* remove all but one version of SelectionDAG::MorphNodeToChris Lattner2010-03-011-81/+0
| | | | | | (the most general) the others are dead. llvm-svn: 97511
* Remove the optimize for code size limitation on r67917. Optimize 64-bit imul ↵Evan Cheng2010-03-011-4/+0
| | | | | | 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. llvm-svn: 97507
* remove a terrible hack that disabled assertions from this file because of ↵Chris Lattner2010-03-011-9/+0
| | | | | | | | build time problems. rdar://7697850. llvm-svn: 97500
* Use methods to determine if a LiveInterval is spillable.Jakob Stoklund Olesen2010-03-011-18/+26
| | | | | | Don't accidentally produce unspillable intervals for deeply nested loops. llvm-svn: 97496
* Update CMake build.Ted Kremenek2010-03-011-1/+0
| | | | llvm-svn: 97488
* stop using generated sdnodexforms.Chris Lattner2010-03-011-1/+5
| | | | llvm-svn: 97485
* remove anders-aa from mainline, it isn't maintained and isChris Lattner2010-03-011-2868/+0
| | | | | | tantalyzing enough that people keep trying to use it. llvm-svn: 97483
* Added STRHT for disassembly only and fixed a bug in AI3sthpo class where the WJohnny Chen2010-03-012-2/+10
| | | | | | bit should be set to 0 instead of 1. llvm-svn: 97481
* Accelerate isel dispatch for tables that start with a top-level Chris Lattner2010-03-011-1/+36
| | | | | | | OPC_SwitchOpcode to use a table lookup instead of having to go through the interpreter for this. llvm-svn: 97469
* Don't potentially read past the end of the fill data when making a NaN fromJohn McCall2010-03-011-1/+2
| | | | | | an APInt. llvm-svn: 97467
* Fix optimization of ISD::TRUNCATE on vector operands. Based on a patchDan Gohman2010-03-011-4/+5
| | | | | | by Micah Villmow for PR6335. llvm-svn: 97461
* Add explicit keywords.Dan Gohman2010-03-012-2/+3
| | | | llvm-svn: 97460
* Add a comment.Dan Gohman2010-03-011-1/+5
| | | | llvm-svn: 97459
* Add some debug output to LoopSimplify.Dan Gohman2010-03-011-0/+30
| | | | llvm-svn: 97458
* Spelling fixes.Dan Gohman2010-03-015-37/+37
| | | | llvm-svn: 97453
* This is now done.Dan Gohman2010-03-011-5/+0
| | | | llvm-svn: 97450
* Fix a missing newline in debug output.Dan Gohman2010-03-011-1/+1
| | | | llvm-svn: 97449
* Prune #includes.Dan Gohman2010-03-011-1/+0
| | | | llvm-svn: 97448
* Don't print "Modified" for passes which haven't modified anything.Dan Gohman2010-03-011-6/+12
| | | | llvm-svn: 97446
* Add JIT support to the TODO list (test commit)Nathan Keynes2010-03-011-0/+1
| | | | llvm-svn: 97443
* some trivial microoptimizations.Chris Lattner2010-03-012-9/+18
| | | | llvm-svn: 97441
* eliminate the CheckMultiOpcodeMatcher code and have each Chris Lattner2010-03-011-9/+0
| | | | | | | | | 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. llvm-svn: 97439
* add a new OPC_SwitchOpcode which is semantically equivalentChris Lattner2010-03-011-0/+30
| | | | | | | | | | | | 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. llvm-svn: 97438
* 80-col violations/trailing whitespace.Mikhail Glushenkov2010-02-281-11/+12
| | | | llvm-svn: 97427
* eliminate GetInt1/2Chris Lattner2010-02-281-16/+3
| | | | llvm-svn: 97426
OpenPOWER on IntegriCloud