summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
...
* Reintroduce dbg-declare tests.Devang Patel2010-09-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113232 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove last three tests. I need to make them independent of my setup.Devang Patel2010-09-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113213 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test case to check handling of dbg-declare during hybrid mode where ↵Devang Patel2010-09-07
| | | | | | we begin using fast-isel but switch back to DAG building at some point. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113210 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test case to check handling of dbg-declare by selection DAG builder.Devang Patel2010-09-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113209 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test case to check handling of dbg-declare by fast-isel.Devang Patel2010-09-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113208 91177308-0d34-0410-b5e6-96231b3b80d8
* add missing cmov aliases, this resolves rdar://8208499Chris Lattner2010-09-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113189 91177308-0d34-0410-b5e6-96231b3b80d8
* "sldt <mem>" is ambiguous in 64-bit mode, but shouldChris Lattner2010-09-06
| | | | | | | | | always be disambiguated as sldtw. sldtw and sldtq with a mem operands have the same effect, but sldtw is more compact. Force it to sldtw, resolving rdar://8017530 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113186 91177308-0d34-0410-b5e6-96231b3b80d8
* fix rdar://8017621 - llvm-mc can't guess encoding for "push $(1000)"Chris Lattner2010-09-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113184 91177308-0d34-0410-b5e6-96231b3b80d8
* fix the operand constraints of the immediate form of in/out,Chris Lattner2010-09-06
| | | | | | | | allowing unsigned 8-bit operands. This fixes rdar://8208481 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113182 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR8067, an over-aggressive assertion in LICM.Chris Lattner2010-09-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113146 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach loop rotate to hoist trivially invariant instructionsChris Lattner2010-09-06
| | | | | | | | | | | | | | | | in the duplicated block instead of duplicating them. Duplicating them into the end of the loop and the preheader means that we got a phi node in the header of the loop, which prevented LICM from hoisting them. GVN would usually come around later and merge the duplicated instructions so we'd get reasonable output... except that anything dependent on the shoulda-been-hoisted value can't be hoisted. In PR5319 (which this fixes), a memory value didn't get promoted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113134 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR8063, a crash in globalopt in the malloc analysis code.Chris Lattner2010-09-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113109 91177308-0d34-0410-b5e6-96231b3b80d8
* implement rdar://6653118 - fastisel should fold loads where possible.Chris Lattner2010-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since mem2reg isn't run at -O0, we get a ton of reloads from the stack, for example, before, this code: int foo(int x, int y, int z) { return x+y+z; } used to compile into: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx movl 4(%rsp), %esi addl %edx, %esi movl (%rsp), %edx addl %esi, %edx movl %edx, %eax addq $12, %rsp ret Now we produce: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx addl 4(%rsp), %edx ## Folded load addl (%rsp), %edx ## Folded load movl %edx, %eax addq $12, %rsp ret Fewer instructions and less register use = faster compiles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113102 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix LoopSimplify to notify ScalarEvolution when splitting a loop backedgeDan Gohman2010-09-04
| | | | | | | | into an inner loop, as the new loop iteration may differ substantially. This fixes PR8078. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113057 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a bug in my licm rewrite when a load from the promoted memoryChris Lattner2010-09-04
| | | | | | | | | location is being re-stored to the memory location. We would get a dangling pointer from the SSAUpdate data structure and miss a use. This fixes PR8068 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113042 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagate non-local comparisons. Fixes PR1757.Owen Anderson2010-09-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113025 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the rest of the nonexistent 64-bit AVX instructions.Dale Johannesen2010-09-03
| | | | | | | | Bruno, please review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113014 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize getFieldType to work on all TypedInits. Add a couple of ↵David Greene2010-09-03
| | | | | | | | | testcases from Amaury Pouly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113010 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for simplifying a load from a computed value to a load from a ↵Owen Anderson2010-09-03
| | | | | | | | | global when it is provable that they're equivalent. This fixes PR4855. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112994 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-apply r112883:Jim Grosbach2010-09-03
| | | | | | | | | | | | | | | | | "For ARM stack frames that utilize variable sized objects and have either large local stack areas or require dynamic stack realignment, allocate a base register via which to access the local frame. This allows efficient access to frame indices not accessible via the FP (either due to being out of range or due to dynamic realignment) or the SP (due to variable sized object allocation). In particular, this greatly improves efficiency of access to spill slots in Thumb functions which contain VLAs." r112986 fixed a latent bug exposed by the above. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112989 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test for PR4413, which was apparently fixed at some point in the past.Owen Anderson2010-09-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112987 91177308-0d34-0410-b5e6-96231b3b80d8
* Add PR number to test.Owen Anderson2010-09-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112971 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "For ARM stack frames that utilize variable sized objects and have ↵Daniel Dunbar2010-09-03
| | | | | | | | either", it is breaking oggenc with Clang for ARMv6. This reverts commit 8d6e29cfda270be483abf638850311670829ee65. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112962 91177308-0d34-0410-b5e6-96231b3b80d8
* test/CodeGen/X86: Add explicit -mtriple=(i686|x86_64)-linux for Win32 host.NAKAMURA Takumi2010-09-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112947 91177308-0d34-0410-b5e6-96231b3b80d8
* AVX doesn't support mm operations neither its instrinsics.Bruno Cardoso Lopes2010-09-03
| | | | | | | | | The AVX versions of PALIGN and PABS* should only exist for 128-bit. Remove the unnecessary stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112944 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace NEON vabdl, vaba, and vabal intrinsics with combinations of theBob Wilson2010-09-03
| | | | | | | | | vabd intrinsic and add and/or zext operations. In the case of vaba, this also avoids the need for a DAG combine pattern to combine vabd with add. Update tests. Auto-upgrade the old intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112941 91177308-0d34-0410-b5e6-96231b3b80d8
* update one more testChris Lattner2010-09-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112910 91177308-0d34-0410-b5e6-96231b3b80d8
* add a new "llvm-dis -show-annotations" option, which causes it to printChris Lattner2010-09-02
| | | | | | | #uses comments, with a testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112906 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly emit __chkstk call instead of __alloca on non-mingw windows targets.Anton Korobeynikov2010-09-02
| | | | | | Patch by Cameron Esfahani! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112902 91177308-0d34-0410-b5e6-96231b3b80d8
* more test cleanupChris Lattner2010-09-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112892 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some noise from tests.Chris Lattner2010-09-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112889 91177308-0d34-0410-b5e6-96231b3b80d8
* we are past the point where these tests are useful.Chris Lattner2010-09-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112887 91177308-0d34-0410-b5e6-96231b3b80d8
* For ARM stack frames that utilize variable sized objects and have eitherJim Grosbach2010-09-02
| | | | | | | | | | | | | | | | | large local stack areas or require dynamic stack realignment, allocate a base register via which to access the local frame. This allows efficient access to frame indices not accessible via the FP (either due to being out of range or due to dynamic realignment) or the SP (due to variable sized object allocation). In particular, this greatly improves efficiency of access to spill slots in Thumb functions which contain VLAs. rdar://7352504 rdar://8374540 rdar://8355680 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112883 91177308-0d34-0410-b5e6-96231b3b80d8
* fix more AST updating bugs, correcting miscompilation in PR8041Chris Lattner2010-09-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112878 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't narrow the load and store in a load+twiddle+store sequence unlessDan Gohman2010-09-02
| | | | | | | | | | | there are clearly no stores between the load and the store. This fixes this miscompile reported as PR7833. This breaks the test/CodeGen/X86/narrow_op-2.ll optimization, which is safe, but awkward to prove safe. Move it to X86's README.txt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112861 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an unnecessary XFAILSandeep Patel2010-09-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112853 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo. I accidentally edited the wrong file before my last commit.Owen Anderson2010-09-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112851 91177308-0d34-0410-b5e6-96231b3b80d8
* Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.Benjamin Kramer2010-09-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112849 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in LazyValueInfo that CorrelatedValuePropagation exposed: In the ↵Owen Anderson2010-09-02
| | | | | | | | | LVI lattice, undef and the full set ConstantRange should not be treated as equivalent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112843 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that register allocation properly considers reserved regs, simplify theJim Grosbach2010-09-02
| | | | | | | ARM register class allocation order functions to take advantage of that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112841 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert VLD1 and VLD2 instructions to use pseudo-instructions untilBob Wilson2010-09-02
| | | | | | | after regalloc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112825 91177308-0d34-0410-b5e6-96231b3b80d8
* Print the number of uses of a function in the .ll since it can be informativeDuncan Sands2010-09-02
| | | | | | | and there seems to be no reason not to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112812 91177308-0d34-0410-b5e6-96231b3b80d8
* test/loop-strength-reduce4: Add explicit triplet for Win32 host.NAKAMURA Takumi2010-09-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112802 91177308-0d34-0410-b5e6-96231b3b80d8
* test/twoaddr-coalesce: Do not use @main.NAKAMURA Takumi2010-09-02
| | | | | | Win32 codegen emits implicit invoking __main into, to fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112801 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove NEON vmull, vmlal, and vmlsl intrinsics, replacing them with multiply,Bob Wilson2010-09-01
| | | | | | | | add, and subtract operations with zero-extended or sign-extended vectors. Update tests. Add auto-upgrade support for the old intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112773 91177308-0d34-0410-b5e6-96231b3b80d8
* deepen my MMX/SRoA hack to avoid hurting non-x86 codegen.Chris Lattner2010-09-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112763 91177308-0d34-0410-b5e6-96231b3b80d8
* Using target specific nodes for shuffle nodes makes the maskBruno Cardoso Lopes2010-09-01
| | | | | | | | | | | | | | | | | | | | | | | check more strict, breaking some cases not checked in the testsuite, but also exposes some foldings not done before, as this example: movaps (%rdi), %xmm0 movaps (%rax), %xmm1 movaps %xmm0, %xmm2 movss %xmm1, %xmm2 shufps $36, %xmm2, %xmm0 now is generated as: movaps (%rdi), %xmm0 movaps %xmm0, %xmm1 movlps (%rax), %xmm1 shufps $36, %xmm1, %xmm0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112753 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach RemoveCopyByCommutingDef to check all aliases, not just subregisters.Jakob Stoklund Olesen2010-09-01
| | | | | | | This caused a miscompilation in WebKit where %RAX had conflicting defs when RemoveCopyByCommutingDef was commuting a %EAX use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112751 91177308-0d34-0410-b5e6-96231b3b80d8
* Apparently only Darwin passes long double misaligned. Compensate.Dale Johannesen2010-09-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112748 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix loop unswitching's assumption that a code path which eitherDan Gohman2010-09-01
| | | | | | | infinite loops or exits will eventually exit. This fixes PR5373. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112745 91177308-0d34-0410-b5e6-96231b3b80d8