summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
* Turn this legalize types test on.Duncan Sands2008-09-015-11/+5
| | | | llvm-svn: 55605
* Revert the "XFAIL" for the rotate_ops.ll testcase. Instead, mark ISD::ROTRBill Wendling2008-08-311-5/+0
| | | | | | | | instructions in CellSPU as "Expand" so that they won't be generated. I added a "FIXME" so that this hack can be addressed and reverted once ISD::ROTR is supported in the .td files. llvm-svn: 55582
* CellSPU doesn't appear to support fully the "ISD::ROTR" operation. The DAGBill Wendling2008-08-311-0/+6
| | | | | | | | combiner can now generate ROTR if the backend says that it can handle it. Cell SPU says this, but gets an error from code gen saying that it can't select ROTR. I'm xfailing this test until this can be fixed. llvm-svn: 55579
* PR2731: C and Ocaml bindings for setTailCall and isTailCall.Gordon Henriksen2008-08-301-0/+4
| | | | | | Based on patch by Giorgos Korfiatis. llvm-svn: 55570
* Re-apply 55467 with fix. If copy is being replaced by remat'ed def, transfer ↵Evan Cheng2008-08-302-2/+4
| | | | | | the implicit defs onto the remat'ed instruction. llvm-svn: 55564
* Transform (x << (y&31)) -> (x << y). This takes advantage of the fact x86 ↵Evan Cheng2008-08-301-0/+24
| | | | | | shift instructions 2nd operand (shift count) is limited to 0 to 31 (or 63 in the x86-64 case). llvm-svn: 55558
* Testcases for ppc atomics.Dale Johannesen2008-08-302-0/+1522
| | | | llvm-svn: 55556
* Swap fp comparison operands and change predicate to allow load folding ↵Evan Cheng2008-08-291-1/+1
| | | | | | (safely this time). llvm-svn: 55553
* xfail this.Evan Cheng2008-08-291-0/+1
| | | | llvm-svn: 55550
* allow this to pass.Chris Lattner2008-08-291-21/+1
| | | | llvm-svn: 55540
* Add support for parsing .ll files that have numbers in front ofChris Lattner2008-08-291-0/+16
| | | | | | | | | | nameless values, such as: %3 = add i32 4, 2 This fixes the first half of PR2480 llvm-svn: 55539
* Swap fp comparison operands and change predicate to allow load folding.Evan Cheng2008-08-282-3/+21
| | | | llvm-svn: 55521
* In lowering SELECT_CC, removed cases where we can't flip the true and false ↵Mon P Wang2008-08-281-1/+1
| | | | | | when the compare value has a NaN llvm-svn: 55499
* Optimize DAGCombiner's worklist processing. Previously it startedDan Gohman2008-08-281-1/+1
| | | | | | | | | | | | | its work by putting all nodes in the worklist, requiring a big dynamic allocation. Now, DAGCombiner just iterates over the AllNodes list and maintains a worklist for nodes that are newly created or need to be revisited. This allows the worklist to stay small in most cases, so it can be a SmallVector. This has the side effect of making DAGCombine not miss a folding opportunity in alloca-align-rounding.ll. llvm-svn: 55498
* Revert r55467; it causes regressions in UnitTests/Vector/divides,Dan Gohman2008-08-282-4/+2
| | | | | | Benchmarks/sim/sim, and others on x86-64. llvm-svn: 55475
* If a copy isn't coalesced, but its src is defined by trivial computation. ↵Evan Cheng2008-08-282-2/+4
| | | | | | Re-materialize the src to replace the copy. llvm-svn: 55467
* This test crashes on non-x86 host; make SSE explicit.Dale Johannesen2008-08-281-1/+1
| | | | | | Feel free to fix a better way! llvm-svn: 55456
* Diagnose uses of unsized types with the byval attribute in theDan Gohman2008-08-271-1/+2
| | | | | | verifier. See PR2711 for details. llvm-svn: 55414
* Basic FastISel support for floating-point constants.Dan Gohman2008-08-271-1/+2
| | | | llvm-svn: 55401
* If IV is used in a int-to-float cast inside the loop then try to eliminate ↵Devang Patel2008-08-261-1/+0
| | | | | | the cast operation. llvm-svn: 55374
* If an xmm register is referenced explicitly in an inline asm, make sure to Chris Lattner2008-08-261-0/+16
| | | | | | | assign it to a version of the xmm register with the regclass that matches its type. This fixes PR2715, a bug handling some crazy xpcom case in mozilla. llvm-svn: 55358
* Try approach to moving call address load inside of callseq_start. Now it's ↵Evan Cheng2008-08-251-1/+0
| | | | | | done during the preprocess of x86 isel. callseq_start's chain is changed to load's chain node; while load's chain is the last of callseq_start or the loads or copytoreg nodes inserted to move arguments to the right spot. llvm-svn: 55338
* Add support for fast isel of (integer) immediate materialization pattens, ↵Owen Anderson2008-08-251-0/+5
| | | | | | | | and use them to support bitcast of constants in fast isel. llvm-svn: 55325
* Adjust grep's for new code sequence.Dale Johannesen2008-08-252-2/+2
| | | | llvm-svn: 55320
* Fix asm printing of MOVSDto64mr and MOV64toSDrm.Evan Cheng2008-08-251-0/+58
| | | | llvm-svn: 55300
* Fix this test. Don't null out the file, just XFAIL it until patch can be fixed.Bill Wendling2008-08-241-0/+11
| | | | llvm-svn: 55296
* Temporarily reverting r55292. It's causing a bootstraping failure:Bill Wendling2008-08-241-10/+0
| | | | | | | | | | | | | | | | | /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc ... src/libiberty/make-temp-file.c -o make-temp-file.o Assertion failed: (Node2Index[SU->NodeNum] > Node2Index[I->Dep->NodeNum] && "Wrong topological sorting"), function InitDAGTopologicalSorting, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp, line 508. ../../../../llvm-gcc.src/libiberty/hashtab.c:955: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. make[4]: *** [hashtab.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [multi-do] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-target-libiberty] Error 2 make: *** [all] Error 2 llvm-svn: 55295
* Move callseq_start above the call address load to allow load to be folded ↵Evan Cheng2008-08-241-0/+10
| | | | | | into the call node. llvm-svn: 55292
* Testcase for 64bit maskmovqAnton Korobeynikov2008-08-231-0/+27
| | | | llvm-svn: 55239
* Verify that the alignment argument to llvm.memcpy is a constantChris Lattner2008-08-231-0/+11
| | | | | | integer, PR2318. llvm-svn: 55228
* Fix PR2423 by checking all indices for out of range access, not only Chris Lattner2008-08-231-0/+22
| | | | | | | indices that start with an array subscript. x->field[10000] is just as bad as (*X)[14][10000]. llvm-svn: 55226
* Test all currently supported atomic builtins on x86-{32,64}.Dale Johannesen2008-08-222-0/+1833
| | | | | | These just test that they go through the BE. llvm-svn: 55208
* Comprehensive test of FE handling of __sync builtins.Dale Johannesen2008-08-221-0/+281
| | | | llvm-svn: 55206
* Factor out the predicate check code from DAGISelEmitter.cppDan Gohman2008-08-221-1/+1
| | | | | | | | | and use it in FastISelEmitter.cpp, and make FastISel subtarget aware. Among other things, this lets it work properly on x86 targets that don't have SSE, where it successfully selects x87 instructions. llvm-svn: 55156
* Testcase for PR2585.Bill Wendling2008-08-211-0/+21
| | | | llvm-svn: 55151
* Add -mattr=sse2 so this test doesn't fail on non-x86 hosts.Dan Gohman2008-08-211-1/+1
| | | | llvm-svn: 55145
* Make x86 and sse2 explicit for non-x86 hosts.Dale Johannesen2008-08-212-2/+2
| | | | llvm-svn: 55141
* Fix a number of byval / memcpy / memset related codegen issues.Evan Cheng2008-08-216-14/+57
| | | | | | | 1. x86-64 byval alignment should be max of 8 and alignment of type. Previously the code was not doing what the commit message was saying. 2. Do not use byte repeat move and store operations. These are slow. llvm-svn: 55139
* getelementptr doesn't work on x86-64 yet, because itDan Gohman2008-08-211-1/+0
| | | | | | has MOV64ri32 and no plain MOV64ri. llvm-svn: 55126
* MVT::getMVT uses iPTR for pointer types, while we need the actualDan Gohman2008-08-211-2/+5
| | | | | | | intptr_t type in this case. FastISel can now select simple getelementptr instructions. llvm-svn: 55125
* Revert r54876 r54877 r54906 and r54907. Evan found that these caused a 20%Nick Lewycky2008-08-211-1/+2
| | | | | | slowdown in bzip2. llvm-svn: 55113
* Basic fast-isel support for instructions with constant int operands.Dan Gohman2008-08-211-1/+2
| | | | llvm-svn: 55099
* Add a -march line for this test, and run it on x86-64 too for fun.Dan Gohman2008-08-201-1/+2
| | | | llvm-svn: 55030
* ll printer prints each zeroinit on the same line now, update regexChris Lattner2008-08-201-1/+1
| | | | llvm-svn: 55025
* Add FastISel support for floating-point operations.Dan Gohman2008-08-201-1/+17
| | | | llvm-svn: 55021
* Add FastISel support for several more binary operators.Dan Gohman2008-08-201-2/+8
| | | | llvm-svn: 55020
* Add support for the __sync_sub_and_fetch atomics and friends for X86. The codeBill Wendling2008-08-191-0/+11
| | | | | | was already present, but not hooked up to anything. llvm-svn: 55018
* Fast-isel is now *minimally* functional. Add a testcase toDan Gohman2008-08-191-0/+17
| | | | | | | | demonstrate the extent of its capabilities. Note that it only attempts to operate on one of the blocks in this testcase. llvm-svn: 55016
* Add support for 8 and 16 bit forms of __syncDale Johannesen2008-08-191-2/+3
| | | | | | | | | | builtins on X86. Change "lock" instructions to be on a separate line. This is needed to work around a bug in the Darwin assembler. llvm-svn: 54999
* XFAIL this test for now.Bill Wendling2008-08-181-0/+1
| | | | llvm-svn: 54929
OpenPOWER on IntegriCloud