aboutsummaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Reapply 75252, with a fix to avoid the infinite recursion case. TheDan Gohman2009-07-131-1/+0
| | | | | | | | check for avoiding re-analyzing a widening cast needed to happen earlier, as getSCEV itself may result in a isLoopGuardedByCond query. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75511 91177308-0d34-0410-b5e6-96231b3b80d8
* add llvm-mc support for parsing the .subsections_via_symbols directive.Kevin Enderby2009-07-131-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75500 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the re-sort of invalidated NonLocalPointerDeps cache earlierChris Lattner2009-07-131-0/+67
| | | | | | | | | | | | so that all code paths get it. PR4256 was about a case where the phi translation loop would find all preds in the Visited cache, so it could get by without re-sorting the NonLocalPointerDeps cache. Fix this by resorting it earlier, there is no reason not to do this. This patch inspired by Jakub Staszak's patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75476 91177308-0d34-0410-b5e6-96231b3b80d8
* remove tests for removed intrinsics.Chris Lattner2009-07-122-49/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75433 91177308-0d34-0410-b5e6-96231b3b80d8
* add nounwindChris Lattner2009-07-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75407 91177308-0d34-0410-b5e6-96231b3b80d8
* Darwin prepends an _ to internal globals, Linux doesn't.Nick Lewycky2009-07-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75405 91177308-0d34-0410-b5e6-96231b3b80d8
* fix x86-64 static codegen to materialize the address of a global with movl ↵Chris Lattner2009-07-111-37/+37
| | | | | | | | | | | | | | | | | | | | instead of lea. It is better for code size (and presumably efficiency) to use: movl $foo, %eax rather than: leal foo, eax Both give a nice zero extending "move immediate" instruction, the former is just smaller. Note that global addresses should be handled different by the x86 backend, but I chose to follow the style already in place and add more fixme's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75403 91177308-0d34-0410-b5e6-96231b3b80d8
* this test was incorrect for x86-64 static. It passed on darwin, because darwinChris Lattner2009-07-111-1/+5
| | | | | | | doesn't have static x86-64 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75392 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r75252 which was causing some crashes at compile time.Nick Lewycky2009-07-111-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75384 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR4533, which is about buggy codegen in x86-64 -static mode.Chris Lattner2009-07-111-20/+557
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Basically, using: lea symbol(%rip), %rax is not valid in -static mode, because the current RIP may not be within 32-bits of "symbol" when an app is built partially pic and partially static. The fix for this is to compile it to: lea symbol, %rax It would be better to codegen this as: movq $symbol, %rax but that will come next. The hard part of fixing this bug was fixing abi-isel, which was actively testing for the wrong behavior. Also, the RUN lines are completely impossible to understand what they are testing. To help with this, convert the -static x86-64 codegen tests to use filecheck. This is much more stable and makes it more clear what the codegen is expected to be. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75382 91177308-0d34-0410-b5e6-96231b3b80d8
* We get the P modifier wrong in a lot of cases, just add some more rigorous ↵Chris Lattner2009-07-111-30/+59
| | | | | | | | | testing. In addition to fixing this, I still need to do some more testing on darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75362 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't put IT instruction before conditional branches.Evan Cheng2009-07-111-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75361 91177308-0d34-0410-b5e6-96231b3b80d8
* Smarter isel of ldrsb / ldrsh. Only make use of these when [r,r] address is ↵Evan Cheng2009-07-111-5/+12
| | | | | | feasible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75360 91177308-0d34-0410-b5e6-96231b3b80d8
* Major changes to Thumb (not Thumb2). Many 16-bit instructions either ↵Evan Cheng2009-07-112-2/+14
| | | | | | | | | modifies CPSR when they are outside the IT blocks, or they can predicated when in Thumb2. Move the implicit def of CPSR to an optional def which defaults CPSR. This allows the 's' bit to be toggled dynamically. A side-effect of this change is asm printer is now using unified assembly. There are some minor clean ups and fixes as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75359 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for .zerofill, patch by Kevin Enderby!Chris Lattner2009-07-101-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75301 91177308-0d34-0410-b5e6-96231b3b80d8
* convert test to use FileCheck, which is much more precise and faster thanChris Lattner2009-07-101-7/+21
| | | | | | | | the previous RUN lines. Hopefully this will be an inspiration for future tests :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75261 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize ScalarEvolution's cast-folding code to support more kindsDan Gohman2009-07-101-0/+143
| | | | | | | | of loops. Add several new functions to for working with ScalarEvolution's add-hoc value-range analysis functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75252 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a thumb2 pass to insert IT blocks.Evan Cheng2009-07-102-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75218 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a bogus assertion.Evan Cheng2009-07-101-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75206 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle 'a' modifier on inline assembly operands.Bob Wilson2009-07-091-0/+7
| | | | | | | This is part of the fix for pr4521. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75201 91177308-0d34-0410-b5e6-96231b3b80d8
* Make EXTRACT_VECTOR_ELT a bit more flexible in terms of the returned Eli Friedman2009-07-092-0/+19
| | | | | | | | | | | value. Adjust other code to deal with that correctly. Make DAGTypeLegalizer::PromoteIntRes_EXTRACT_VECTOR_ELT take advantage of this new flexibility to simplify the code and make it deal with unusual vectors (like <4 x i1>) correctly. Fixes PR3037. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75176 91177308-0d34-0410-b5e6-96231b3b80d8
* add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!Chris Lattner2009-07-091-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75148 91177308-0d34-0410-b5e6-96231b3b80d8
* There's no need to consider PHI nodes in the same block as the instructionNick Lewycky2009-07-092-0/+74
| | | | | | | we're inserting sigma/phi functions for. Patch by Andre Tavares. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75138 91177308-0d34-0410-b5e6-96231b3b80d8
* Targets sometimes assign fixed stack object to spill certain callee-savedEvan Cheng2009-07-093-2/+4
| | | | | | | | | | | registers based on dynamic conditions. For example, X86 EBP/RBP, when used as frame register has to be spilled in the first fixed object. It should inform PEI this so it doesn't get allocated another stack object. Also, it should not be spilled as other callee-saved registers but rather its spilling and restoring are being handled by emitPrologue and emitEpilogue. Avoid spilling it twice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75116 91177308-0d34-0410-b5e6-96231b3b80d8
* Improved tracking of value number kills. VN kills are now representedLang Hames2009-07-091-1/+1
| | | | | | | | | | | | | | as an (index,bool) pair. The bool flag records whether the kill is a PHI kill or not. This code will be used to enable splitting of live intervals containing PHI-kills. A slight change to live interval weights introduced an extra spill into lsr-code-insertion (outside the critical sections). The test condition has been updated to reflect this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75097 91177308-0d34-0410-b5e6-96231b3b80d8
* remove eh, convert to FileCheck styleChris Lattner2009-07-091-6/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75087 91177308-0d34-0410-b5e6-96231b3b80d8
* we have no tests for dllimport/export. Add one.Chris Lattner2009-07-091-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75085 91177308-0d34-0410-b5e6-96231b3b80d8
* * add some assertions for sanity checking.Chris Lattner2009-07-091-1/+1
| | | | | | | | | | * remove some old code that was needed when we'd put ESP in the scale instead of the base of some instructions. * Fix a bug with the P modifier in inline asm that caused us to drop it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75077 91177308-0d34-0410-b5e6-96231b3b80d8
* add a test for dale's recent change.Chris Lattner2009-07-091-11/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75074 91177308-0d34-0410-b5e6-96231b3b80d8
* switch test to FileCheck-style and test the P and non-P cases.Chris Lattner2009-07-081-4/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75071 91177308-0d34-0410-b5e6-96231b3b80d8
* rename a test to make it a feature test.Chris Lattner2009-07-081-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75070 91177308-0d34-0410-b5e6-96231b3b80d8
* Use common code for both ARM and Thumb-2 instruction and register info.David Goodwin2009-07-082-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75067 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop "constant" from Devang Patel2009-07-083-4/+5
| | | | | | | !0 = constant metadata !{...} git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75057 91177308-0d34-0410-b5e6-96231b3b80d8
* Update SLotTracker to handle MDNode slots.Devang Patel2009-07-081-3/+4
| | | | | | | | Simplify MDNode printing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75053 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch all the MC tests to use FileCheck.Chris Lattner2009-07-089-45/+47
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75039 91177308-0d34-0410-b5e6-96231b3b80d8
* convert to FileCheck style.Chris Lattner2009-07-081-11/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75038 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement NEON vst1 instruction.Bob Wilson2009-07-081-0/+77
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75037 91177308-0d34-0410-b5e6-96231b3b80d8
* Support MDNode forward reference.Devang Patel2009-07-081-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75031 91177308-0d34-0410-b5e6-96231b3b80d8
* add some more check for vector compares.Chris Lattner2009-07-081-2/+36
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75024 91177308-0d34-0410-b5e6-96231b3b80d8
* convert a test to "FileCheck" style.Chris Lattner2009-07-081-3/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75023 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement NEON vld1 instructions.Bob Wilson2009-07-081-0/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75019 91177308-0d34-0410-b5e6-96231b3b80d8
* Add rev16 test... xfail for nowDavid Goodwin2009-07-081-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75012 91177308-0d34-0410-b5e6-96231b3b80d8
* Checkpoint Thumb2 Instr info work. Generalized base code so that it can be ↵David Goodwin2009-07-081-0/+2
| | | | | | shared between ARM and Thumb2. Not yet activated because register information must be generalized first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75010 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the vicmp and vfcmp instructions. Because we never had a release withNick Lewycky2009-07-082-18/+18
| | | | | | | | these instructions, no autoupgrade or backwards compatibility support is provided. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74991 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate the v[if]cmp versions of these tests, now that [if]cmp+sext works.Chris Lattner2009-07-083-42/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74980 91177308-0d34-0410-b5e6-96231b3b80d8
* Change these tests to use [fi]cmp+sext instead of v[fi]cmp. NoChris Lattner2009-07-086-128/+191
| | | | | | | functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74979 91177308-0d34-0410-b5e6-96231b3b80d8
* dag combine sext(setcc) -> vsetcc before legalize. To make this safe,Chris Lattner2009-07-081-1/+1
| | | | | | | | | | VSETCC must define all bits, which is different than it was documented to before. Since all targets that implement VSETCC already have this behavior, and we don't optimize based on this, just change the documentation. We now get nice code for vec_compare.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74978 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for legalizing an icmp where the result is illegal (4xi1) butChris Lattner2009-07-071-0/+7
| | | | | | | the input is legal (4 x i32) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74964 91177308-0d34-0410-b5e6-96231b3b80d8
* add a trivial test that vector compares work.Chris Lattner2009-07-071-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74963 91177308-0d34-0410-b5e6-96231b3b80d8
* implement support for spliting and scalarizing vector setcc's. ThisChris Lattner2009-07-071-0/+28
| | | | | | | | finishes off enough support for vector compares to get the icmp/fcmp version of 2008-07-23-VSetCC.ll passing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74961 91177308-0d34-0410-b5e6-96231b3b80d8