summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
* add an MCAsmStreamer::EmitFill specialization of EmitFill thatChris Lattner2010-01-191-4/+3
| | | | | | | emits one directive instead of N. Not doing this would be a significant regression on the # bytes generated by .fill. llvm-svn: 93889
* optimize ~(~X >>s Y) --> (X >>s Y), patch by Edmund GrimleyChris Lattner2010-01-192-0/+42
| | | | | | Evans! llvm-svn: 93884
* don't let asm-verbose break the check-next lines in these tests.Chris Lattner2010-01-193-4/+4
| | | | llvm-svn: 93869
* only darwin has zerofillChris Lattner2010-01-191-1/+1
| | | | llvm-svn: 93866
* Now that we have everything nicely factored (e.g. asmprinter is notChris Lattner2010-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | doing global variable classification anymore) and hookized, sink almost all target targets global variable emission code into AsmPrinter and out of each target. Some notes: 1. PIC16 does completely custom and crazy stuff, so it is not changed. 2. XCore has some custom handling for extra directives. I'll look at it next. 3. This switches linux/ppc to use .globl instead of .global. If .globl is actually wrong, let me know and I'll fix it. 4. This makes linux/ppc get a lot of random cases right which were obviously wrong before, it is probably now a bit healthier. 5. Blackfin will probably start getting .comm and other things that it didn't before. If this is undesirable, it should explicitly opt out of these things by clearing the relevant fields of MCAsmInfo. This leads to a nice diffstat: 14 files changed, 127 insertions(+), 830 deletions(-) llvm-svn: 93858
* Fix a crash in scalarrepl for memcpy/memmove where the source and destinationBob Wilson2010-01-191-0/+18
| | | | | | | | | are the same. I had already fixed a similar problem where the source and destination were different bitcasts derived from the same alloca, but the previous fix still did not handle the case where both operands are exactly the same value. Radar 7552893. llvm-svn: 93848
* fix a significant difference between llvm and gcc on ELF systems:Chris Lattner2010-01-191-0/+15
| | | | | | | | GCC would put weak zero initialized mutable data in the .bss section, we would put it into a crasy '.gnu.linkonce.b.test,"aw",@nobits' section. Fixing this will allow simplifications next up. llvm-svn: 93844
* there is no need to emit a .section above .comm on linux.Chris Lattner2010-01-191-1/+0
| | | | llvm-svn: 93842
* Test case for r93758.Evan Cheng2010-01-191-0/+11
| | | | llvm-svn: 93824
* Reverting.Dale Johannesen2010-01-191-55/+0
| | | | llvm-svn: 93819
* Enable code to emit dbg.declare as DEBUG_VALUEDale Johannesen2010-01-181-0/+55
| | | | | | | | | comments (fast isel, X86). This doesn't seem to break any functionality, but will introduce cases where -g affects the generated code. I'll be fixing that. llvm-svn: 93811
* my instcombine transformations to make extension elimination moreChris Lattner2010-01-181-6/+15
| | | | | | | | aggressive changed the canonical form from sext(trunc(x)) to ashr(lshr(x)), make sure to transform a couple more things into that canonical form, and catch a case where we missed turning zext/shl/ashr into a single sext. llvm-svn: 93787
* filecheckize this.Chris Lattner2010-01-181-14/+22
| | | | llvm-svn: 93776
* filecheckizeChris Lattner2010-01-181-13/+19
| | | | llvm-svn: 93775
* remove a redundant test, filecheckize another.Chris Lattner2010-01-182-43/+26
| | | | llvm-svn: 93774
* Canonicalize -1 - x to ~x.Evan Cheng2010-01-181-0/+11
| | | | | | | | | | Instcombine does this but apparently there are situations where this pattern will escape the optimizer and / or created by isel. Here is a case that's seen in JavaScriptCore: %t1 = sub i32 0, %a %t2 = add i32 %t1, -1 The dag combiner pattern: ((c1-A)+c2) -> (c1+c2)-A will fold it to -1 - %a. llvm-svn: 93773
* While mapping llvm.dbg.declare intrinsic manually map its operand, if possible,Devang Patel2010-01-181-0/+12
| | | | | | because it points to an alloca instruction through metadata. llvm-svn: 93757
* Really fix this. I checked that on ARM I getRafael Espindola2010-01-171-2/+2
| | | | | | | | | PASS: LLVM::FrontendC/pr5406.c (3463 of 5030) and on X86 I get XFAIL: LLVM::FrontendC/pr5406.c (3465 of 5030 llvm-svn: 93689
* reduce this test and convert to filecheck, hopefully the linux buildbot Chris Lattner2010-01-171-15/+5
| | | | | | will tell me something more useful. llvm-svn: 93688
* The Neon "vtst" instruction takes a suffix that is the element size alone --Bob Wilson2010-01-171-6/+6
| | | | | | | | adding an "i" to the suffix, indicating that the elements are integers, is accepted but not part of the standard syntax. This helps us pass a few more of the Neon tests from gcc. llvm-svn: 93677
* Looks like XFAIL has to list every unsupported archRafael Espindola2010-01-171-1/+1
| | | | llvm-svn: 93672
* Add test for pr5406Rafael Espindola2010-01-171-0/+20
| | | | llvm-svn: 93671
* Reduce fsub-fadd.ll and merge it into fsub-fsub.ll. Rename fsub-fsub.ll toBill Wendling2010-01-173-47/+23
| | | | | | fsub.ll and FileCheckify it. llvm-svn: 93669
* When checking for sret-demotion, it needs to use legal types. When using ↵Kenneth Uildriks2010-01-161-0/+12
| | | | | | the return value of an sret-demoted call, it needs to use possibly illegal types that match the declared Type of the callee. llvm-svn: 93667
* Fix PR6047Tobias Grosser2010-01-164-0/+205
| | | | | | | | Nodes that had children outside of the post dominator tree (infinite loops) where removed from the post dominator tree. This seems to be wrong. Leave them in the tree. llvm-svn: 93633
* this teestcase takes a long time to crash, remove it. If someone cares ↵Chris Lattner2010-01-161-34/+0
| | | | | | about this, they should file a bug, it's not doing any good as an xfail. llvm-svn: 93604
* Run the pre-register allocation tail duplication pass by default. RemoveBob Wilson2010-01-163-2/+6
| | | | | | | the -pre-regalloc-taildup command-line option, and add a new -disable-early-taildup option. llvm-svn: 93597
* Fix llvm_supports_binding for lit, problem noticed by Bob!Daniel Dunbar2010-01-161-1/+1
| | | | llvm-svn: 93591
* Fix PR6019. A load has more than one use if it feeds a bitconvert thatDavid Greene2010-01-151-0/+28
| | | | | | has more than one use. llvm-svn: 93576
* add testcase for r93564Jim Grosbach2010-01-151-0/+20
| | | | llvm-svn: 93567
* Reenable testsAnton Korobeynikov2010-01-152-8/+6
| | | | llvm-svn: 93555
* Improve llvm.dbg.declare intrinsic by referring directly to the storage in ↵Victor Hernandez2010-01-153-18/+22
| | | | | | | | | its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. It also strips old llvm.dbg.declare intrinsics that did not pass metadata as the first argument. llvm-svn: 93531
* Revert r93504 because older uses of llvm.dbg.declare intrinsics need to be ↵Victor Hernandez2010-01-153-14/+17
| | | | | | auto-upgraded llvm-svn: 93515
* Test case for http://llvm.org/PR6028.Jay Foad2010-01-151-0/+9
| | | | llvm-svn: 93511
* Improve llvm.dbg.declare intrinsic by referring directly to the storage in ↵Victor Hernandez2010-01-153-17/+14
| | | | | | | | its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. llvm-svn: 93504
* Temporary disable testsAnton Korobeynikov2010-01-152-0/+2
| | | | llvm-svn: 93501
* Do not use AT_specification die for static variables. It confuses gdb.Devang Patel2010-01-151-0/+12
| | | | llvm-svn: 93494
* new test case for r93485.Devang Patel2010-01-151-0/+4
| | | | llvm-svn: 93486
* Add variable-width shifts for MSP430Anton Korobeynikov2010-01-141-0/+51
| | | | llvm-svn: 93468
* Fix a codegen abort seen in 483.xalancbmk.Dan Gohman2010-01-141-0/+20
| | | | llvm-svn: 93417
* Test for r93409.Evan Cheng2010-01-141-0/+11
| | | | llvm-svn: 93410
* Extend testcase to also test llvm.dbg.value intrinsicVictor Hernandez2010-01-141-0/+7
| | | | llvm-svn: 93408
* Now that LLParser, AsmWriter, BitcodeReader, and BitcodeWriter all correctly ↵Victor Hernandez2010-01-141-8/+16
| | | | | | support function-local metadata, test it. llvm-svn: 93406
* When the visitSub method was split into visitSub and visitFSub, this xform wasBill Wendling2010-01-131-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added to the FSub version. However, the original version of this xform guarded against doing this for floating point (!Op0->getType()->isFPOrFPVector()). This is causing LLVM to perform incorrect xforms for code like: void func(double *rhi, double *rlo, double xh, double xl, double yh, double yl){ double mh, ml; double c = 134217729.0; double up, u1, u2, vp, v1, v2; up = xh*c; u1 = (xh - up) + up; u2 = xh - u1; vp = yh*c; v1 = (yh - vp) + vp; v2 = yh - v1; mh = xh*yh; ml = (((u1*v1 - mh) + (u1*v2)) + (u2*v1)) + (u2*v2); ml += xh*yl + xl*yh; *rhi = mh + ml; *rlo = (mh - (*rhi)) + ml; } The last line was optimized away, but rl is intended to be the difference between the infinitely precise result of mh + ml and after it has been rounded to double precision. llvm-svn: 93369
* this test requires SSE, thanks to jyasskin for pointing this out.Chris Lattner2010-01-131-1/+1
| | | | llvm-svn: 93360
* Commit some changes I had managed to lose last night while refactoring the ↵Evan Cheng2010-01-132-1/+47
| | | | | | | | code. Avoid change use of PHI instructions because it's not legal to insert any instructions before them. This fixes PR6027. llvm-svn: 93335
* Re-enable extension optimization pass.Evan Cheng2010-01-132-2/+1
| | | | llvm-svn: 93313
* remove uses of deprecated functions, this generates slightlyChris Lattner2010-01-132-7/+7
| | | | | | | | | different BlockAddress labels, but nothing semantically important. Add a FIXME that BlockAddress codegen is broken if the LLVM BB has an empty name (e.g. strip was run). llvm-svn: 93303
* Disable opt-ext pass to unbreak the build for now.Evan Cheng2010-01-133-2/+3
| | | | llvm-svn: 93286
* Try to fix the ARM and PPC buildbots. The -mattr=vector-unaligned-memJeffrey Yasskin2010-01-131-1/+1
| | | | | | flag doesn't exist there, and this is an x86 test. llvm-svn: 93279
OpenPOWER on IntegriCloud