summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Testcase for PR2292.Duncan Sands2008-05-061-0/+4
| | | | llvm-svn: 50718
* Fix PR2287. Darwin passes mmx values in register in 64-mode, not Linux.Evan Cheng2008-05-061-3/+3
| | | | llvm-svn: 50716
* Correct the value of LowBits in srem and urem handling inDan Gohman2008-05-061-0/+9
| | | | | | ComputeMaskedBits. llvm-svn: 50692
* Fix a crash when threading a block that includes a MRV call result.Chris Lattner2008-05-051-0/+25
| | | | | | | | | DemoteRegToStack doesn't work with MRVs yet, because it relies on the ability to load/store things. This fixes PR2285. llvm-svn: 50667
* Added addition atomic instrinsics and, or, xor, min, and max.Mon P Wang2008-05-051-0/+93
| | | | llvm-svn: 50663
* no need for eh infoChris Lattner2008-05-051-1/+1
| | | | llvm-svn: 50658
* Add AsmPrinter support for emitting a directive to declare thatDan Gohman2008-05-051-2/+2
| | | | | | | | | the code being generated does not require an executable stack. Also, add target-specific code to make use of this on Linux on x86. llvm-svn: 50634
* Fix PR1098 by correcting the postdominators analysis.Owen Anderson2008-05-042-0/+17
| | | | | | Patch by Florian Brandner. llvm-svn: 50628
* Select vector shift with non-immediate i32 shift amount operand by first ↵Evan Cheng2008-05-042-0/+37
| | | | | | moving the operand into the right register. llvm-svn: 50619
* Add separate intrinsics for MMX / SSE shifts with i32 integer operands. This ↵Evan Cheng2008-05-031-2/+3
| | | | | | allow us to simplify the horribly complicated matching code. llvm-svn: 50601
* verify builtin optimization works like gcc.Chris Lattner2008-05-021-0/+10
| | | | llvm-svn: 50594
* Fix a mistake in the computation of leading zeros for udiv.Dan Gohman2008-05-022-0/+39
| | | | llvm-svn: 50591
* strength reduce exp2 into ldexp, rdar://5852514Chris Lattner2008-05-021-0/+38
| | | | llvm-svn: 50586
* specify an arch for non-x86 hosts.Chris Lattner2008-05-021-1/+1
| | | | llvm-svn: 50576
* Update old-style syntax in some "not grep" tests.Dan Gohman2008-05-0116-16/+16
| | | | llvm-svn: 50560
* New test for bug fixed in 50545.Dale Johannesen2008-05-011-0/+26
| | | | llvm-svn: 50548
* Fix an overaggressive SimplifyDemandedBits optimization on urem. ThisDan Gohman2008-05-011-0/+32
| | | | | | fixes the 254.gap regression on x86 and the 403.gcc regression on x86-64. llvm-svn: 50537
* Adding testcase.Bill Wendling2008-05-011-0/+15
| | | | llvm-svn: 50536
* don't randomly miscompile seto/setuo just because we are in Chris Lattner2008-05-011-0/+15
| | | | | | | | | ffastmath mode. This fixes rdar://5902801, a miscompilation of gcc.dg/builtins-8.c. Bill, please pull this into Tak. llvm-svn: 50523
* fix typoChris Lattner2008-05-011-1/+1
| | | | llvm-svn: 50519
* instcombine does memset optzns.Chris Lattner2008-05-011-18/+0
| | | | llvm-svn: 50518
* simplifylibcalls doesn't optimize llvm.memmove, instcombine does.Chris Lattner2008-05-011-22/+0
| | | | llvm-svn: 50517
* move some tests from libcall optimizer suite.Chris Lattner2008-05-011-0/+17
| | | | llvm-svn: 50516
* Really commit the test checking the argument lowering behaviour on x86-64 :).Arnold Schwaighofer2008-04-301-0/+21
| | | | llvm-svn: 50478
* Tail call optimization improvements:Arnold Schwaighofer2008-04-303-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move platform independent code (lowering of possibly overwritten arguments, check for tail call optimization eligibility) from target X86ISelectionLowering.cpp to TargetLowering.h and SelectionDAGISel.cpp. Initial PowerPC tail call implementation: Support ppc32 implemented and tested (passes my tests and test-suite llvm-test). Support ppc64 implemented and half tested (passes my tests). On ppc tail call optimization is performed if caller and callee are fastcc call is a tail call (in tail call position, call followed by ret) no variable argument lists or byval arguments option -tailcallopt is enabled Supported: * non pic tail calls on linux/darwin * module-local tail calls on linux(PIC/GOT)/darwin(PIC) * inter-module tail calls on darwin(PIC) If constraints are not met a normal call will be emitted. A test checking the argument lowering behaviour on x86-64 was added. llvm-svn: 50477
* Move this test to LoopDeletion, where it now passes.Owen Anderson2008-04-302-2/+4
| | | | llvm-svn: 50474
* move lowering of llvm.memset -> store from simplify libcalls Chris Lattner2008-04-301-0/+15
| | | | | | to instcombine. llvm-svn: 50472
* no reason for simplifylibcalls to simplify intrinsics, instcombine doesChris Lattner2008-04-301-3/+1
| | | | | | a fine job. llvm-svn: 50470
* remove redundant check.Chris Lattner2008-04-301-3/+1
| | | | llvm-svn: 50469
* Fix a bug in memcpyopt where the memcpy-memcpy transform was never being ↵Owen Anderson2008-04-291-0/+17
| | | | | | | | | applied because we were checking for it in the wrong order. This caused a miscompilation because the return slot optimization assumes that the call it is dealing with is NOT a memcpy. llvm-svn: 50444
* don't eliminate load from volatile value on paths where the load is dead.Chris Lattner2008-04-291-0/+25
| | | | | | This fixes the second half of PR2262 llvm-svn: 50430
* make this test reduced and *valid*Chris Lattner2008-04-291-15/+6
| | | | llvm-svn: 50429
* fix a subtle volatile handling bug.Chris Lattner2008-04-291-0/+30
| | | | llvm-svn: 50428
* new testcase for PR2094. The inline asms should not pin allocas to theChris Lattner2008-04-291-0/+12
| | | | | | stack anymore. llvm-svn: 50397
* don't delete the last store to an alloca if the store is volatile.Chris Lattner2008-04-291-0/+8
| | | | llvm-svn: 50390
* make the vector conversion magic handle multiple results.Chris Lattner2008-04-291-2/+20
| | | | | | | | | | | | | | | | | | | | | We now compile test2/test3 to: _test2: ## InlineAsm Start set %xmm0, %xmm1 ## InlineAsm End addps %xmm1, %xmm0 ret _test3: ## InlineAsm Start set %xmm0, %xmm1 ## InlineAsm End paddd %xmm1, %xmm0 ret as expected. llvm-svn: 50389
* add support for multiple return values in inline asm. This is a step Chris Lattner2008-04-291-0/+17
| | | | | | | | | | | | | | | | | | towards PR2094. It now compiles the attached .ll file to: _sad16_sse2: movslq %ecx, %rax ## InlineAsm Start %ecx %rdx %rax %rax %r8d %rdx %rsi ## InlineAsm End ## InlineAsm Start set %eax ## InlineAsm End ret which is pretty decent for a 3 output, 4 input asm. llvm-svn: 50386
* Another extract_subreg coalescing bug.Evan Cheng2008-04-291-0/+166
| | | | | | | | e.g. vr1024<2> extract_subreg vr1025, 2 If vr1024 do not have the same register class as vr1025, it's not safe to coalesce this away. For example, vr1024 might be a GPR32 while vr1025 might be a GPR64. llvm-svn: 50385
* Add -march=x86.Evan Cheng2008-04-281-1/+1
| | | | llvm-svn: 50380
* Update and_ops.ll according to the recent dagcombiner changes.Dan Gohman2008-04-282-2/+28
| | | | | | | | Add a new test, and_ops_more.ll, which is XFAIL'd, to record the parts of and_ops.ll that were affected by this change. llvm-svn: 50379
* Test case.Evan Cheng2008-04-281-0/+6
| | | | llvm-svn: 50377
* Fix DSE to not eliminate volatile loads with no uses.Dan Gohman2008-04-281-0/+8
| | | | llvm-svn: 50370
* Teach InstCombine's ComputeMaskedBits what SelectionDAG'sDan Gohman2008-04-281-0/+45
| | | | | | | | | | | ComputeMaskedBits knows about cttz, ctlz, and ctpop. Teach SelectionDAG's ComputeMaskedBits what InstCombine's knows about SRem. And teach them both some things about high bits in Mul, UDiv, URem, and Sub. This allows instcombine and dagcombine to eliminate sign-extension operations in several new cases. llvm-svn: 50358
* Fix PR2256, yet another miscompilation in simplifycfg of iChris Lattner2008-04-281-0/+30
| | | | | | | | multiple return values. Bill, please pull this into Tak. llvm-svn: 50332
* Implement a signficant optimization for inline asm:Chris Lattner2008-04-272-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | When choosing between constraints with multiple options, like "ir", test to see if we can use the 'i' constraint and go with that if possible. This produces more optimal ASM in all cases (sparing a register and an instruction to load it), and fixes inline asm like this: void test () { asm volatile (" %c0 %1 " : : "imr" (42), "imr"(14)); } Previously we would dump "42" into a memory location (which is ok for the 'm' constraint) which would cause a problem because the 'c' modifier is not valid on memory operands. Isn't it great how inline asm turns 'missed optimization' into 'compile failed'?? Incidentally, this was the todo in PowerPC/2007-04-24-InlineAsm-I-Modifier.ll Please do NOT pull this into Tak. llvm-svn: 50315
* When SRoA'ing a global variable, make sure the new globals get the Chris Lattner2008-04-261-0/+32
| | | | | | | | | appropriate alignment. This fixes a miscompilation of 252.eon on x86-64 (rdar://5891920). Bill, please pull this into Tak. llvm-svn: 50308
* Feedback from chrisNate Begeman2008-04-251-1/+1
| | | | llvm-svn: 50305
* Add a testcase for the recent "handle variable vector insert elt in mem" patchNate Begeman2008-04-251-0/+11
| | | | llvm-svn: 50303
* Update tests.Evan Cheng2008-04-252-3/+3
| | | | llvm-svn: 50293
* Special handling for MMX values being passed in either GPR64 or lower ↵Evan Cheng2008-04-251-0/+25
| | | | | | 64-bits of XMM registers. llvm-svn: 50289
OpenPOWER on IntegriCloud