summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
* Fix a crasher trying to fold each element in a comparison between two vectorsNick Lewycky2010-01-211-1/+8
| | | | | | | | | | if one of the vectors didn't have elements (such as undef). Fixes PR 6096. Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would have <2 x i1> type if constant folding was successful and i1 type if it wasn't. This exposed a related issue in the bitcode reader. llvm-svn: 94069
* Re-implement the main strength-reduction portion of LoopStrengthReduction.Dan Gohman2010-01-2125-256/+292
| | | | | | | | | | | | | | This new version is much more aggressive about doing "full" reduction in cases where it reduces register pressure, and also more aggressive about rewriting induction variables to count down (or up) to zero when doing so reduces register pressure. It currently uses fairly simplistic algorithms for finding reuse opportunities, but it introduces a new framework allows it to combine multiple strategies at once to form hybrid solutions, instead of doing all full-reduction or all base+index. llvm-svn: 94061
* emit basic block labels with mcstreamer.Chris Lattner2010-01-202-2/+2
| | | | llvm-svn: 93993
* emit integer and fp zeros as (e.g.) .byte 0 instead of .space 1,Chris Lattner2010-01-202-3/+5
| | | | | | for tidiness. llvm-svn: 93992
* signficant cleanups to EmitGlobalConstant (including streamerization Chris Lattner2010-01-201-1/+1
| | | | | | | | of int initializers), change some methods to be static functions, use raw_ostream::write_hex instead of a smallstring dance with APValue::toStringUnsigned(S, 16). llvm-svn: 93991
* If a instruction belongs to another function (and not current function) as ↵Devang Patel2010-01-201-0/+28
| | | | | | per debug info attached with the instruction then ignore the dangling lexical scope of this instruction. Such scopes are unreachable. llvm-svn: 93967
* Fold (add x, shl(0 - y, n)) -> sub(x, shl(y, n)), to simplify some codeDan Gohman2010-01-191-0/+17
| | | | | | that SCEVExpander can produce when running on behalf of LSR. llvm-svn: 93949
* Make SCEVAddRecExpr's getType return a pointer type when the addDan Gohman2010-01-191-3/+3
| | | | | | | has a pointer member. This helps reduce unnecessary bitcasting and uglygeps. llvm-svn: 93939
* Add nounwinds.Dan Gohman2010-01-194-4/+4
| | | | llvm-svn: 93919
* Remove predicates when changing an add into an unpredicable mov.Jakob Stoklund Olesen2010-01-191-0/+53
| | | | | | | Since the mov is executed unconditionally, make sure that the add didn't have any predicate. llvm-svn: 93909
* Do not extend extension results beyond the use of a PHI instruction at the ↵Evan Cheng2010-01-191-0/+57
| | | | | | start of a use block. A PHI use is expected to kill its source values. llvm-svn: 93895
* 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
OpenPOWER on IntegriCloud