aboutsummaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Make this pass for CYGWIN.Zhou Sheng2007-11-271-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44354 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this testcase compatible with CYGWIN.Zhou Sheng2007-11-271-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44353 91177308-0d34-0410-b5e6-96231b3b80d8
* Change &| to |&.Dan Gohman2007-11-272-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44345 91177308-0d34-0410-b5e6-96231b3b80d8
* Change grep '' to grep {}.Dan Gohman2007-11-273-3/+3
| | | | | | | Change 2>&1 | to |&. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44344 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't redirect llvm-as's stderr to llvm-dis.Dan Gohman2007-11-271-1/+1
| | | | | | | Change grep '' to grep {}. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44343 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unnecessary && from the RUN lines of this test.Dan Gohman2007-11-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44342 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't lower srem/urem X%C to X-X/C*C unless the division is actuallyDan Gohman2007-11-261-0/+6
| | | | | | | | | | optimized. This avoids creating illegal divisions when the combiner is running after legalize; this fixes PR1815. Also, it produces better code in the included testcase by avoiding the subtract and multiply when the division isn't optimized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44341 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow GVN to eliminate read-only function calls when it can detect that they ↵Owen Anderson2007-11-261-1/+1
| | | | | | are redundant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44323 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new SCEV, SCEVSMax. This allows LLVM to analyze do-while loops.Nick Lewycky2007-11-253-2/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44319 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement PR1822Chris Lattner2007-11-251-3/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44318 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1816. If a bitcast of a function only exists because of aDuncan Sands2007-11-251-0/+12
| | | | | | | | | | trivial difference in function attributes, allow calls to it to be converted to direct calls. Based on a patch by Török Edwin. While there, move the various lists of mutually incompatible parameters etc out of the verifier and into ParameterAttributes.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44315 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a long standing deficiency in the X86 backend: we wouldChris Lattner2007-11-251-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sometimes emit "zero" and "all one" vectors multiple times, for example: _test2: pcmpeqd %mm0, %mm0 movq %mm0, _M1 pcmpeqd %mm0, %mm0 movq %mm0, _M2 ret instead of: _test2: pcmpeqd %mm0, %mm0 movq %mm0, _M1 movq %mm0, _M2 ret This patch fixes this by always arranging for zero/one vectors to be defined as v4i32 or v2i32 (SSE/MMX) instead of letting them be any random type. This ensures they get trivially CSE'd on the dag. This fix is also important for LegalizeDAGTypes, as it gets unhappy when the x86 backend wants BUILD_VECTOR(i64 0) to be legal even when 'i64' isn't legal. This patch makes the following changes: 1) X86TargetLowering::LowerBUILD_VECTOR now lowers 0/1 vectors into their canonical types. 2) The now-dead patterns are removed from the SSE/MMX .td files. 3) All the patterns in the .td file that referred to immAllOnesV or immAllZerosV in the wrong form now use *_bc to match them with a bitcast wrapped around them. 4) X86DAGToDAGISel::SelectScalarSSELoad is generalized to handle bitcast'd zero vectors, which simplifies the code actually. 5) getShuffleVectorZeroOrUndef is updated to generate a shuffle that is legal, instead of generating one that is illegal and expecting a later legalize pass to clean it up. 6) isZeroShuffle is generalized to handle bitcast of zeros. 7) several other minor tweaks. This patch is definite goodness, but has the potential to cause random code quality regressions. Please be on the lookout for these and let me know if they happen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44310 91177308-0d34-0410-b5e6-96231b3b80d8
* upgrade this testChris Lattner2007-11-241-8/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44298 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1816, by correcting the broken definition of APInt::countTrailingZeros.Chris Lattner2007-11-231-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44296 91177308-0d34-0410-b5e6-96231b3b80d8
* Ding dong, the DoesntAccessMemoryFns andDuncan Sands2007-11-237-80/+83
| | | | | | | | | | OnlyReadsMemoryFns tables are dead! We get more, and more accurate, information from gcc via the readnone and readonly function attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44288 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug where we'd try to find a scev value for a bitcast operand,Chris Lattner2007-11-231-0/+20
| | | | | | | | even though the bitcast operand did not have integer type. This fixes PR1814. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44286 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1817.Chris Lattner2007-11-221-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44284 91177308-0d34-0410-b5e6-96231b3b80d8
* Turn invokes of nounwind functions into ordinary calls.Duncan Sands2007-11-221-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44280 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach alias analysis about readnone/readonly functions.Duncan Sands2007-11-221-0/+33
| | | | | | | Based on a patch by Török Edwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44279 91177308-0d34-0410-b5e6-96231b3b80d8
* Readonly/readnone functions are allowed to throwDuncan Sands2007-11-221-10/+12
| | | | | | | | exceptions, so don't turn invokes of them into calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44278 91177308-0d34-0410-b5e6-96231b3b80d8
* Create nodes for inline asm so that we don't crash looking for the node later.Nick Lewycky2007-11-221-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44267 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in which node A is replaced by node B, but laterDuncan Sands2007-11-211-0/+161
| | | | | | | | | node A gets back into the DAG again because it was hiding in one of the node maps: make sure that node replacement happens in those maps too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44263 91177308-0d34-0410-b5e6-96231b3b80d8
* Be more careful when transforming | to +. Patch from Wojciech Matyjewicz.Nick Lewycky2007-11-201-0/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44248 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR1811Chris Lattner2007-11-191-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44244 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support in SplitVectorOp for remainder operators.Dan Gohman2007-11-191-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44233 91177308-0d34-0410-b5e6-96231b3b80d8
* fix bogus test that the more strict lexer is finding.Chris Lattner2007-11-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44216 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for vectors to int <-> float casts.Nate Begeman2007-11-171-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44204 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo.Evan Cheng2007-11-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44196 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase from PR 1508 (although its's somewhatDale Johannesen2007-11-161-0/+133
| | | | | | | | orthogonal to the main problem there) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44194 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1800 by correcting mistaken logic.Chris Lattner2007-11-161-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44188 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverted r44163 per requestAnton Korobeynikov2007-11-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44177 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a thinko in post-allocation coalescer.Evan Cheng2007-11-151-0/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44166 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEVNick Lewycky2007-11-151-0/+24
| | | | | | | | is disabled in the sense that it will refuse to create one from a UDiv instruction, until the code is better tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44163 91177308-0d34-0410-b5e6-96231b3b80d8
* Un XFAIL these tests, now that Bill has backportedDuncan Sands2007-11-142-2/+0
| | | | | | | the fix from 4.2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44115 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PIC jump table codegen on x86-32/linux. In fact, such thing should be ↵Anton Korobeynikov2007-11-141-2/+2
| | | | | | | | | applied to all targets uses GOT-relative offsets for PIC (Alpha?) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44108 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL these tests until the fix gets backportedDuncan Sands2007-11-142-0/+2
| | | | | | | from llvm-gcc-4.2 to 4.0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44103 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement PR1796 and Transforms/SimplifyCFG/noreturn-call.llChris Lattner2007-11-141-0/+11
| | | | | | | by inserting unreachable after no-return calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44099 91177308-0d34-0410-b5e6-96231b3b80d8
* upgrade testChris Lattner2007-11-132-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44067 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement PR1786 by iterating between dead cycle eliminationChris Lattner2007-11-131-0/+100
| | | | | | | and simplifycfg in the rare cases when it is needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44044 91177308-0d34-0410-b5e6-96231b3b80d8
* Update tailcall code to include inline attribute operand for memcpy. Arnold Schwaighofer2007-11-101-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43978 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix tests.Evan Cheng2007-11-092-7/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43961 91177308-0d34-0410-b5e6-96231b3b80d8
* Tighten up a check for folding away loads from (newly constant) globals. ThisChris Lattner2007-11-091-0/+19
| | | | | | | | fixes a crash on Transforms/GlobalOpt/2007-11-09-GEP-GEP-Crash.ll and rdar://5585488. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43949 91177308-0d34-0410-b5e6-96231b3b80d8
* Thanks to the XTARGET line, this test should stillDuncan Sands2007-11-091-0/+1
| | | | | | | be run on darwin, but I have no way of checking... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43945 91177308-0d34-0410-b5e6-96231b3b80d8
* Check that the first and third characters, s and u,Duncan Sands2007-11-091-0/+3
| | | | | | | are accessed with an alignment of 2 not 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43932 91177308-0d34-0410-b5e6-96231b3b80d8
* Check that accesses to the second short, t, haveDuncan Sands2007-11-091-0/+3
| | | | | | | an alignment of 2 rather than 4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43931 91177308-0d34-0410-b5e6-96231b3b80d8
* Run this test only on darwin.Devang Patel2007-11-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43912 91177308-0d34-0410-b5e6-96231b3b80d8
* Better checkAndrew Lenharth2007-11-081-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43897 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1780Andrew Lenharth2007-11-081-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43893 91177308-0d34-0410-b5e6-96231b3b80d8
* [ARM] Implement __builtin_thread_pointer.Lauro Ramos Venancio2007-11-081-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43892 91177308-0d34-0410-b5e6-96231b3b80d8
* If both parts of smul_lohi, etc. are used, don't simplify. If only one part ↵Evan Cheng2007-11-081-0/+129
| | | | | | is used, try simplify it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43888 91177308-0d34-0410-b5e6-96231b3b80d8