aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* These should not have been committed.Evan Cheng2010-02-224-46/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96827 91177308-0d34-0410-b5e6-96231b3b80d8
* no need to run llvm-as here.Chris Lattner2010-02-225-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96826 91177308-0d34-0410-b5e6-96231b3b80d8
* Instcombine constant folding can normalize gep with negative index to index ↵Evan Cheng2010-02-226-15/+86
| | | | | | with large offset. When instcombine objsize checking transformation sees these geps where the offset seemingly point out of bound, it should just return "i don't know" rather than asserting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96825 91177308-0d34-0410-b5e6-96231b3b80d8
* Change ComplexPattern handling to push the node being matched asChris Lattner2010-02-221-21/+13
| | | | | | | | | | | well as the operands produced when the pattern is matched. This allows CheckSame to work correctly when matching replicated names involving ComplexPatterns. This fixes a bunch of MSP430 failures, we're down to 13 failures, two of which are due to a sched bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96824 91177308-0d34-0410-b5e6-96231b3b80d8
* Updated version of r96634 (which was reverted due to failing 176.gcc andJim Grosbach2010-02-226-5/+34
| | | | | | | | 126.gcc nightly tests. These failures uncovered latent bugs that machine DCE could remove one half of a stack adjust down/up pair, causing PEI to assert. This update fixes that, and the tests now pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96822 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test for canonicalizing ConstantExpr operands.Dan Gohman2010-02-221-1/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96820 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up a bit and fix for when SPAdj != 0Jim Grosbach2010-02-221-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96818 91177308-0d34-0410-b5e6-96231b3b80d8
* The predicate index isn't fixed, so scan for it to make sure we get the properJim Grosbach2010-02-221-2/+3
| | | | | | | | | value. Thumb2 uses the tADJCALLSTACK* instructions, and doesn't need t2 versions, so remove the FIXME entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96817 91177308-0d34-0410-b5e6-96231b3b80d8
* Canonicalize ConstantInts to the right operand of commutativeDan Gohman2010-02-223-3/+7
| | | | | | | | | | | operators. The test difference is just due to the multiplication operands being commuted (and thus requiring a more elaborate match). In optimized code, that expression would be folded. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96816 91177308-0d34-0410-b5e6-96231b3b80d8
* expand my hack to work with nodes that have flags but no chains and the Chris Lattner2010-02-221-1/+2
| | | | | | | | isel doesn't know the correct # results. This fixes 8 codegen tests, down to 22 failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96815 91177308-0d34-0410-b5e6-96231b3b80d8
* add a new CheckMultiOpcode opcode for checking that a nodeChris Lattner2010-02-225-3/+51
| | | | | | | | has one of the list of acceptable opcodes for a complex pattern. This fixes 4 regtest failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96814 91177308-0d34-0410-b5e6-96231b3b80d8
* When matching patterns that have a complex pattern as their root, make Chris Lattner2010-02-221-1/+16
| | | | | | | | | sure to only run the complex pattern on nodes where the target opts in. This patch only handles targets with one opcode specified so far, but fixes 16 failures, only 34 left. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96813 91177308-0d34-0410-b5e6-96231b3b80d8
* add some debug hooks for tracking the behavior of the isel.Chris Lattner2010-02-221-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96812 91177308-0d34-0410-b5e6-96231b3b80d8
* remove dupes now.Chris Lattner2010-02-221-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96811 91177308-0d34-0410-b5e6-96231b3b80d8
* move #includes earlier.Chris Lattner2010-02-222-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96810 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Remove non-sensical comment, and add a missing AddValueSymbols call.Daniel Dunbar2010-02-221-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96809 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor formatting cleanup.Dan Gohman2010-02-221-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96808 91177308-0d34-0410-b5e6-96231b3b80d8
* Use Instruction::isCommutative instead of duplicating it.Dan Gohman2010-02-221-24/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96807 91177308-0d34-0410-b5e6-96231b3b80d8
* Added SEL, SXTB16, SXTAB16, UXTAB16, SMMULR, SMMLAR, SMMLSR, SMUAD, and SMUSD,Johnny Chen2010-02-221-5/+83
| | | | | | | for disassembly only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96806 91177308-0d34-0410-b5e6-96231b3b80d8
* Erase deleted instructions from GVN's ValueTable. This fixes assertionBob Wilson2010-02-221-0/+7
| | | | | | | failures from ValueTable::verifyRemoved() when using -debug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96805 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually enable the -enable-unsafe-fp-math tests.Dan Gohman2010-02-221-144/+144
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96796 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a bunch of instructions for disassembly only:Johnny Chen2010-02-221-19/+145
| | | | | | | | | | | o signed/unsigned add/subtract o signed/unsigned halving add/subtract o unsigned sum of absolute difference [and accumulate] o signed/unsigned saturate o signed multiply accumulate/subtract [long] dual git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96795 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark the return address stack slot as mutable when moving the return addressArnold Schwaighofer2010-02-222-2/+57
| | | | | | | | | | | | | | | | | | during a tail call. A parameter might overwrite this stack slot during the tail call. The sequence during a tail call is: 1.) load return address to temp reg 2.) move parameters (might involve storing to return address stack slot) 3.) store return address to new location from temp reg If the stack location is marked immutable CodeGen can colocate load (1) with the store (3). This fixes bug 6225. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96783 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVMC/MultiplePluginPriorities.td: Generally XFAIL this test for now, it isDaniel Dunbar2010-02-221-0/+4
| | | | | | | still failing during (one) llvm-gcc powerpc build, and is also failing on my x86_64-apple-darwin10. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96781 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused variables and parameters.Dan Gohman2010-02-224-50/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96780 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix various doxygen warnings.Dan Gohman2010-02-2210-35/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96779 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment.Dan Gohman2010-02-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96778 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant-fold certain comparisons with infinity and negative infinity.Dan Gohman2010-02-222-0/+181
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96777 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename a variable to avoid a -Wshadow warning.Dan Gohman2010-02-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96776 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the logic for reasoning about NaNs from the code that formsDan Gohman2010-02-222-132/+179
| | | | | | | | | | | SSE min and max instructions. The real thing this code needs to be concerned about is negative zero. Update the sse-minmax.ll test accordingly, and add tests for -enable-unsafe-fp-math mode as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96775 91177308-0d34-0410-b5e6-96231b3b80d8
* When emitting an instruction which depends on both a post-incrementedDan Gohman2010-02-222-2/+36
| | | | | | | | | | induction variable value and a loop-variant value, don't force the insert position to be at the post-increment position, because it may not be dominated by the loop-variant value. This fixes a use-before-def problem noticed on PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96774 91177308-0d34-0410-b5e6-96231b3b80d8
* This cast<Instruction> is unnecessary.Dan Gohman2010-02-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96771 91177308-0d34-0410-b5e6-96231b3b80d8
* enhance my hack for flags handling, this allows us to passChris Lattner2010-02-221-1/+2
| | | | | | | CodeGen/X86/pr2182.ll. Down to 13 x86 failures out of ~1100 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96770 91177308-0d34-0410-b5e6-96231b3b80d8
* fix an incorrect VT: eflags is always i32. The bug was causing us toChris Lattner2010-02-221-1/+1
| | | | | | | | | | create an X86ISD::Cmp node with result type i64 on the CodeGen/X86/shift-i256.ll testcase and the new isel was assert on it downstream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96768 91177308-0d34-0410-b5e6-96231b3b80d8
* fix most of the failures in the x86 suite by handling multiple Chris Lattner2010-02-212-9/+50
| | | | | | | | | | | result nodes correctly. Note that this includes a horrible hack in DAGISelHeader which cannot be fixed reasonably without eliminating (parallel) from input patterns. That, in turn, can't be done until we support writing multiple result patterns for the X86and_flag and related multiple-result nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96767 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/X86: Add stub AsmBackend.Daniel Dunbar2010-02-215-3/+50
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96763 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Sketch registry support for target specific assembler backends.Daniel Dunbar2010-02-213-0/+107
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96762 91177308-0d34-0410-b5e6-96231b3b80d8
* Formatting tweaks (trailing whitespace, ordering, comments).Daniel Dunbar2010-02-211-89/+91
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96761 91177308-0d34-0410-b5e6-96231b3b80d8
* fix an odd thinko in an assertion, all arm tests pass now.Chris Lattner2010-02-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96758 91177308-0d34-0410-b5e6-96231b3b80d8
* Always emit register class id references as i32 likeChris Lattner2010-02-211-1/+1
| | | | | | | | DAGISelEmitter does. This fixes 11 arm failures (8 left). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96757 91177308-0d34-0410-b5e6-96231b3b80d8
* add some no-unwinds, other minor cleanups.Chris Lattner2010-02-213-30/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96756 91177308-0d34-0410-b5e6-96231b3b80d8
* It turned out that we failed to emit proper symbol stubs on non-x86/darwin ↵Anton Korobeynikov2010-02-215-84/+35
| | | | | | | | | for ages (we emitted a reference to a stub, but no stub was emitted). The code inside x86-32/macho target objfile lowering should actually be the generic one - move it there. This (I really, really hope) should fix EH issues on ppc/darwin and arm/darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96755 91177308-0d34-0410-b5e6-96231b3b80d8
* speculatively teach OPC_CheckValueType and OPC_EmitNode to handleChris Lattner2010-02-211-6/+15
| | | | | | | MVT::iPTR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96753 91177308-0d34-0410-b5e6-96231b3b80d8
* teach OPC_CheckType to handle MVT::iPTR, down to 2 ppc failures.Chris Lattner2010-02-211-3/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96752 91177308-0d34-0410-b5e6-96231b3b80d8
* make this check a bit more generous, it may be outliving its Chris Lattner2010-02-211-0/+2
| | | | | | | utility. Down to 6 ppc failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96751 91177308-0d34-0410-b5e6-96231b3b80d8
* Relax an assertion a bit. We allow replacing things likeChris Lattner2010-02-211-1/+3
| | | | | | | | | <4 x i32> with <4 x float> values if they end up the same register class. This gets us up to 231 passes on the ppc tests (only 7 fails). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96750 91177308-0d34-0410-b5e6-96231b3b80d8
* add a triple so that this doesn't fail due to linux/ppc register printing Chris Lattner2010-02-211-1/+1
| | | | | | | syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96748 91177308-0d34-0410-b5e6-96231b3b80d8
* Sort the patterns before adding them to the FA so that we get theChris Lattner2010-02-211-7/+52
| | | | | | | least cost matches. This gets us from 195 -> 208 passes on the ppc codegen tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96747 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a bunch of duplicated code, where there was one version taking a ↵Duncan Sands2010-02-211-177/+15
| | | | | | | | | std::ostream and another taking a raw_ostream, but otherwise identical. Use raw_ostream everywhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96746 91177308-0d34-0410-b5e6-96231b3b80d8
* filecheckize and add nouwinds.Chris Lattner2010-02-211-9/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96745 91177308-0d34-0410-b5e6-96231b3b80d8