Commit Graph

402 Commits

Author SHA1 Message Date
Duncan Sands
004e27cc1b Fix PR3899: add support for extracting floats from vectors
when using -soft-float.
Based on a patch by Jakob Stoklund Olesen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67996 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-29 13:51:06 +00:00
Chris Lattner
b7e64ac3ac LSR shouldn't ever try to hack on integer IV's larger than 64-bits. Right now
it is not APInt clean, but even when it is it needs to be evaluated carefully
to determine whether it is actually profitable.

This fixes a crash on PR3806


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67134 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17 23:58:30 +00:00
Chris Lattner
3e0cc2634e wire up support for emitting "special" values from inline asm
format strings with the standard ${:foo} syntax.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66527 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 05:37:13 +00:00
Richard Pennington
3d3c955b18 bug 3610: Test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65287 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22 15:54:44 +00:00
Duncan Sands
bf0fb175ab Let's try to have our cake and eat it to: move
this test into FrontendC to ensure that llvm-gcc
is available; assemble using "llvm-gcc -xassembler"
rather than "as".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62683 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 11:37:31 +00:00
Chris Lattner
1d5ee5c3b8 Don't bother running the assembler, we don't know that it will be configured
for whatever llc defaults to.  This fixes PR3363


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62619 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 21:41:53 +00:00
Devang Patel
0153308abf Verify Intrinsic::dbg_declare.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62526 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-19 21:00:48 +00:00
Dan Gohman
bc0b56732a The list-td and list-tdrr schedulers don't yet support physreg
scheduling dependencies. Add assertion checks to help catch
this.

It appears the Mips target defaults to list-td, and it has a
regression test that uses a physreg dependence. Such code was
liable to be miscompiled, and now evokes an assertion failure.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62177 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 20:24:13 +00:00
Dan Gohman
2c91d102ec Fix a bug in ComputeLinearIndex computation handling multi-level
aggregate types. Don't increment the current index after reaching
the end of a struct, as it will already be pointing at
one-past-the end. This fixes PR3288.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61828 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-06 22:53:52 +00:00
Dan Gohman
5ddefdaa34 Delete this test; it's a duplicate of 2006-07-03-schedulers.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61781 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-06 01:36:23 +00:00
Bill Wendling
e5b7e0ec08 Revert the changes in this testcase until Anton can fix them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61414 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-24 05:23:34 +00:00
Anton Korobeynikov
42a8bbce2c Update test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61399 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-23 22:26:37 +00:00
Duncan Sands
ab0c578bfd For amusement, implement SADDO, SSUBO, UADDO, USUBO
for promoted integer types, eg: i16 on ppc-32, or
i24 on any platform.  Complete support for arbitrary
precision integers would require handling expanded
integer types, eg: i128, but I couldn't be bothered.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60834 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-10 12:30:42 +00:00
Bill Wendling
d21c6ef9d0 Test add-with-overflow with fast ISel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59945 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 05:23:38 +00:00
Bill Wendling
def27392c1 Add support for llvm.uadd.with.overflow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59926 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-24 01:38:29 +00:00
Bill Wendling
52a5899fd9 Add generic test for add with overflow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59781 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-21 02:15:51 +00:00
Dan Gohman
eac9cae45e Test -pre-RA-sched=fast too, for completeness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59741 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-20 19:26:04 +00:00
Dan Gohman
8b677d0b88 Revert r59640. It broke this test for builds that aren't
configured with llvm-gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59641 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 16:24:37 +00:00
Dan Gohman
c738ac1d5d Use %llvmgcc -xassembler instead of invoking as directly. This avoids
problems for example when LLVM is built with --with-extra-options=-m64
and as defaults to x86-32 mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59640 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 16:02:14 +00:00
Bill Wendling
c4ae87ac76 A simple test for stack protectors. This should be valid on all platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59505 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-18 07:34:50 +00:00
Duncan Sands
7cb07874dc Turn on LegalizeTypes, the new type legalization
codegen infrastructure, by default.  Please report
any breakage to the mailing lists.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58232 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-27 08:42:46 +00:00
Gordon Henriksen
a2cbe6c5b5 Related to PR2911, reject as invalid non-pointer GC roots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58143 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-25 16:28:35 +00:00
Chris Lattner
42a3adc346 remove this test: it is xfailed anyway, and is failing for a reason
other than why it was xfailed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57694 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 17:26:19 +00:00
Anton Korobeynikov
f03c5afc81 This does not fail anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57360 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-10 20:28:32 +00:00
Anton Korobeynikov
796daebd93 This is not failing anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57347 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-10 10:15:18 +00:00
Dan Gohman
e7aa7baa76 Split this test and move it into target-specific directories.
This fixes failures on configurations that don't have one or the
other targets enabled.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56926 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-01 19:46:30 +00:00
Dan Gohman
36d81baa37 Add a target triple; apparently LLVM doesn't use 64-bit
data directives on darwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55941 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08 20:16:18 +00:00
Dan Gohman
82f94f1ad9 Add AsmPrinter support for i128 and larger static initializer data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55919 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08 16:40:13 +00:00
Rafael Espindola
1db6a2bac8 Add testcase from bug 2770.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55897 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-08 11:17:54 +00:00
Duncan Sands
14a093ac4c Turn this legalize types test on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55605 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-01 12:00:55 +00:00
Dan Gohman
7f8613e5b8 Improve support for vector casts in LLVM IR and CodeGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54784 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-14 20:04:46 +00:00
Nick Lewycky
d6227385fc Don't crash printing the asm for a ConstantExpr PtrToInt just because the int
is narrower than the pointer. This testcase emits:

  .byte (((17) - 16) & 255)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54517 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-08 06:34:07 +00:00
Dan Gohman
1f565bcff6 Fix SDISel lowering of zeroinitializer and undef to use ComputeValueVTs.
This allows it to work correctly on nested aggregate values.
This fixes PR2625.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54330 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-04 23:30:41 +00:00
Dan Gohman
90d33ee746 Don't look for leaf values to store when lowering stores of
empty structs. This fixes PR2612.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54226 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-30 18:36:51 +00:00
Duncan Sands
68d4d1d49c Fix PR2609. If a label is deleted, then it needs
to be marked invalid regardless of whether it is
a debug, an exception handling or (hopefully) a
GC label.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54172 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-29 20:56:02 +00:00
Duncan Sands
f00e74f4d6 Turn LegalizeTypes back off again for the moment:
it is breaking Darwin bootstrap due to missing
functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53721 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-17 17:06:03 +00:00
Duncan Sands
95db39a9de Add support for promoting and expanding AssertZext
and AssertSext.  Needed when passing huge integer
parameters with the zeroext or signext attributes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53684 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-16 16:03:07 +00:00
Duncan Sands
836b3e63bd Test passing of integer parameters for integers
of all sizes from i1 to i256.  The code is not
always that great, for example (x86)
        movw    %di, %ax
        movw    %ax, i17_s
where the store could be directly from %di.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53677 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-16 13:37:36 +00:00
Duncan Sands
8b5e62f0db Test codegen of loads and stores of all integer
sizes from i1 to i256.  The generated code is
like one huge bug report of things that the DAG
combiner fails to simplify!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53676 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-16 13:10:20 +00:00
Duncan Sands
7f1d8aeef6 Turn on LegalizeTypes by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53671 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-16 11:36:51 +00:00
Chris Lattner
80c1a5622a Implement split and scalarize for SELECT_CC, fixing PR2504
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52887 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-30 02:43:01 +00:00
Matthijs Kooijman
5efb967052 Fix some more quoting issues in RUN lines, this time regarding unintended
variable expansions involving the $ character.

This fixes 4 tests that were not running properly before.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52183 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-10 16:10:32 +00:00
Matthijs Kooijman
1cd8f11cc0 For all RUN lines starting with "not", redirect stderr to /dev/null so tests
don't fail when (expected) error output is produced. This fixes 17 tests.

While I was there, I also made all RUN lines of the form "not llvm-as..." a bit
more consistent, they now all redirect stderr and stdout to /dev/null and use
input redirect to read their input.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52174 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-10 12:57:32 +00:00
Gabor Greif
5edf210bdf Eliminate questionable syntax for stdin redirection. This probably also speeds things up a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51357 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-20 22:07:21 +00:00
Gabor Greif
f6cadc440c sabre brings to my attention that the 'tr' suffix is also obsolete
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51349 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-20 21:00:03 +00:00
Gabor Greif
722243bd40 Rename the last test with .llx extension to .ll, resolve duplicate test by renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51328 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-20 19:52:04 +00:00
Dan Gohman
23ce502cb7 Remove the code from CodeGenPrepare that moved getresult instructions
to the block that defines their operands. This doesn't work in the
case that the operand is an invoke, because invoke is a terminator
and must be the last instruction in a block.

Replace it with support in SelectionDAGISel for copying struct values
into sequences of virtual registers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50279 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-25 18:27:55 +00:00
Dan Gohman
3dc34f682d Add support to codegen for getresult instructions with undef operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50180 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23 20:21:29 +00:00
Chris Lattner
1ce9e00f8b rename *.llx -> *.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49970 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19 22:29:10 +00:00
Dan Gohman
38459f01c0 Make this test x86-specific for now; targets that don't use
the automated CallingConv code to handle return values typically
don't support multiple return values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12 00:25:14 +00:00
Dan Gohman
cb5b317890 Basic feature test for multiple return values in codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48260 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-11 23:53:16 +00:00
Gabor Greif
2cf36e0772 some more spelling changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47996 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-06 10:51:21 +00:00
Chris Lattner
aeecb6c73a Fix PR2096, a regression introduced with my patch last night. This
also fixes cfrac, flops, and 175.vpr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47605 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-26 17:09:59 +00:00
Chris Lattner
0254e7033a Fix isNegatibleForFree to not return true for ConstantFP nodes
after legalize.  Just because a constant is legal (e.g. 0.0 in SSE) 
doesn't mean that its negated value is legal (-0.0).  We could make
this stronger by checking to see if the negated constant is actually
legal post negation, but it doesn't seem like a big deal.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47591 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-26 07:04:54 +00:00
Chris Lattner
2bedd7359c testcase for PR1133
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47427 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-21 05:27:08 +00:00
Tanya Lattner
53a66d10f0 Remove llvm-upgrade and update tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47296 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 01:41:04 +00:00
Duncan Sands
d462ba8539 Teach LegalizeTypes how to expand and promote CTLZ,
CTTZ and CTPOP.  The expansion code differs from
that in LegalizeDAG in that it chooses to take the
CTLZ/CTTZ count from the Hi/Lo part depending on
whether the Hi/Lo value is zero, not on whether
CTLZ/CTTZ of Hi/Lo returned 32 (or whatever the
width of the type is) for it.  I made this change
because the optimizers may well know that Hi/Lo
is zero and exploit it.  The promotion code for
CTTZ also differs from that in LegalizeDAG: it
uses an "or" to get the right result when the
original value is zero, rather than using a compare
and select.  This also means the value doesn't
need to be zero extended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47075 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13 18:01:53 +00:00
Duncan Sands
6cc24947b6 Crashes LegalizeTypes with "Do not know how to
expand the result of this operator!" (node: ctlz).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46713 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04 18:07:02 +00:00
Duncan Sands
06418c5610 Crashes LegalizeTypes with "Do not know how to split
this operator's operand" (node: extract_subvector).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46712 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04 18:05:42 +00:00
Chris Lattner
003de9a81e remove target triple to make this test more "generic"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46711 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04 18:02:37 +00:00
Duncan Sands
df3fb5ef97 Crashed the new type legalizer. Not likely to catch
any bugs in the future since to get the crash you also
need hacked in fake libcall support (which creates odd
but legal trees), but since adding it doesn't hurt...
Thanks to Chris for this ultimately reduced version.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46706 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-04 09:40:27 +00:00
Chris Lattner
5eee427594 Fix some bugs in SimplifyNodeWithTwoResults where it would call deletenode to
delete a node even if it was not dead in some cases.  Instead, just add it to
the worklist.  Also, make sure to use the CombineTo methods, as it was doing
things that were unsafe: the top level combine loop could touch dangling memory.

This fixes CodeGen/Generic/2008-01-25-dag-combine-mul.ll



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46384 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-26 01:09:19 +00:00
Chris Lattner
41c5a3918f new testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46139 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-17 19:47:23 +00:00
Chris Lattner
f51a9d4b3c add testcase that has been sitting in my tree for awhile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46124 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-17 06:54:09 +00:00
Chris Lattner
9a856b049d new testcase for llvm.trap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46020 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-15 22:17:26 +00:00
Chris Lattner
314286f6bd new testcase for PR1845
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45795 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-10 00:30:38 +00:00
Gordon Henriksen
572742e876 Setting GlobalDirective in TargetAsmInfo by default rather than
providing a misleading facility. It's used once in the MIPS backend
and hardcoded as "\t.globl\t" everywhere else.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45676 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-07 02:31:11 +00:00
Gordon Henriksen
8fa8929177 With this patch, the LowerGC transformation becomes the
ShadowStackCollector, which additionally has reduced overhead with
no sacrifice in portability.

Considering a function @fun with 8 loop-local roots,
ShadowStackCollector introduces the following overhead
(x86):

; shadowstack prologue
        movl    L_llvm_gc_root_chain$non_lazy_ptr, %eax
        movl    (%eax), %ecx
        movl    $___gc_fun, 20(%esp)
        movl    $0, 24(%esp)
        movl    $0, 28(%esp)
        movl    $0, 32(%esp)
        movl    $0, 36(%esp)
        movl    $0, 40(%esp)
        movl    $0, 44(%esp)
        movl    $0, 48(%esp)
        movl    $0, 52(%esp)
        movl    %ecx, 16(%esp)
        leal    16(%esp), %ecx
        movl    %ecx, (%eax)

; shadowstack loop overhead
        (none)

; shadowstack epilogue
        movl    48(%esp), %edx
        movl    %edx, (%ecx)

; shadowstack metadata
        .align  3
___gc_fun:                              # __gc_fun
        .long   8
        .space  4

In comparison to LowerGC:

; lowergc prologue
        movl    L_llvm_gc_root_chain$non_lazy_ptr, %eax
        movl    (%eax), %ecx
        movl    %ecx, 48(%esp)
        movl    $8, 52(%esp)
        movl    $0, 60(%esp)
        movl    $0, 56(%esp)
        movl    $0, 68(%esp)
        movl    $0, 64(%esp)
        movl    $0, 76(%esp)
        movl    $0, 72(%esp)
        movl    $0, 84(%esp)
        movl    $0, 80(%esp)
        movl    $0, 92(%esp)
        movl    $0, 88(%esp)
        movl    $0, 100(%esp)
        movl    $0, 96(%esp)
        movl    $0, 108(%esp)
        movl    $0, 104(%esp)
        movl    $0, 116(%esp)
        movl    $0, 112(%esp)

; lowergc loop overhead
        leal    44(%esp), %eax
        movl    %eax, 56(%esp)
        leal    40(%esp), %eax
        movl    %eax, 64(%esp)
        leal    36(%esp), %eax
        movl    %eax, 72(%esp)
        leal    32(%esp), %eax
        movl    %eax, 80(%esp)
        leal    28(%esp), %eax
        movl    %eax, 88(%esp)
        leal    24(%esp), %eax
        movl    %eax, 96(%esp)
        leal    20(%esp), %eax
        movl    %eax, 104(%esp)
        leal    16(%esp), %eax
        movl    %eax, 112(%esp)

; lowergc epilogue
        movl    48(%esp), %edx
        movl    %edx, (%ecx)

; lowergc metadata
        (none)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45670 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-07 01:30:53 +00:00
Duncan Sands
b027fa001f Fix PR1833 - eh.exception and eh.selector return two
values, which means doing extra legalization work.
It would be easier to get this kind of thing right if
there was some documentation...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45472 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-31 18:35:50 +00:00
Gordon Henriksen
e86ce7d94a Tests for changes made in r45356, where IPO optimizations would drop
collector algorithms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45357 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-26 02:47:37 +00:00
Gordon Henriksen
0e13821c96 GC poses hazards to the inliner. Consider:
define void @f() {
            ...
            call i32 @g()
            ...
    }

    define void @g() {
            ...
    }

The hazards are:

  - @f and @g have GC, but they differ GC. Inlining is invalid. This
    may never occur.
  - @f has no GC, but @g does. g's GC must be propagated to @f.

The other scenarios are safe:

  - @f and @g have the same GC.
  - @f and @g have no GC.
  - @g has no GC.

This patch adds inliner checks for the former two scenarios.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45351 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-25 03:10:07 +00:00
Gordon Henriksen
e1433f24cf Noting and enforcing that GC intrinsics are valid only within a
function with GC.

This will catch the error when the inliner inlines a function with
GC into a caller with no GC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45350 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-25 02:31:26 +00:00
Gordon Henriksen
27acd3a999 Adjusting verification of "llvm.gc*" intrinsic prototypes to match
LangRef.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45349 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-25 02:02:10 +00:00
Duncan Sands
fd7b326bea Make invokes of inline asm legal. Teach codegen
how to lower them (with no attempt made to be
efficient, since they should only occur for
unoptimized code).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45108 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-17 18:08:19 +00:00
Gordon Henriksen
80a75bfae9 Adding a collector name attribute to Function in the IR. These
methods are new to Function:

  bool hasCollector() const;
  const std::string &getCollector() const;
  void setCollector(const std::string &);
  void clearCollector();

The assembly representation is as such:

  define void @f() gc "shadow-stack" { ...

The implementation uses an on-the-side table to map Functions to 
collector names, such that there is no overhead. A StringPool is 
further used to unique collector names, which are extremely
likely to be unique per process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44769 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-10 03:18:06 +00:00
Gordon Henriksen
38200692fa Upgrading this test to 2.0 .ll syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44738 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-09 15:03:01 +00:00
Chris Lattner
4b341b4178 upgrade this test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44405 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-28 18:22:12 +00:00
Chris Lattner
789db09cde Fix a crash on invalid code due to memcpy lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44378 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 22:14:42 +00:00
Duncan Sands
baccd5872e Fix a bug in which node A is replaced by node B, but later
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
2007-11-21 16:43:19 +00:00
Evan Cheng
d18ba7c8de -pre-RA-sched=none, simple, simple-noitin are gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42505 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-01 22:17:20 +00:00
Dan Gohman
ea81d095dc Fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42263 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-24 15:50:11 +00:00
Gordon Henriksen
8c33da5dc4 Fix for PR1633: Verifier doesn't fully verify GC intrinsics
LLVM now enforces the following prototypes for the write barriers:

<ty>* @llvm.gcread(<ty2>*, <ty>**)
void @llvm.gcwrite(<ty>*, <ty2>*, <ty>**)

And for @llvm.gcroot, the first stack slot is verified to be an alloca or a 
bitcast of an alloca.

Fixes test/CodeGen/Generic/GC/lower_gcroot.ll, which violated these.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42051 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-17 20:30:04 +00:00
Anton Korobeynikov
8806c7b1f5 Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register
liveins and we let frontend solve type issue, not lowering code :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41763 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-07 11:39:35 +00:00
Dale Johannesen
c2ec2baf3d Change all floating constants that are not exactly
representable to use hex format.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41722 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-05 17:50:36 +00:00
Evan Cheng
4e9c473c4d Fix a gcroot lowering bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41668 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-01 02:00:51 +00:00
Duncan Sands
56fe9b7396 Remove this test as it is too hard to fix after the
latest EH changes, and in any case it is hard to
imagine how the original bug could be reintroduced.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41497 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 17:08:14 +00:00
Duncan Sands
e22814b0a8 Now that we don't output cleanups by default, the action
offset needs to be adjusted in this test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41490 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 16:30:05 +00:00
Chris Lattner
09ec1b0583 Allow target constants to be illegal types. The target should
know how to handle them.  This fixes 
test/CodeGen/Generic/asm-large-immediate.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41388 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-25 01:00:22 +00:00
Dan Gohman
43c3db37f6 Convert tests using "grep -c ... | grep ..." to use the count script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41100 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-15 13:49:33 +00:00
Dan Gohman
28beeeac4d Convert tests using "| wc -l | grep ..." to use the count script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41097 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-15 13:36:28 +00:00
Chandler Carruth
6994040a95 This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40807 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-04 01:51:18 +00:00
Dan Gohman
b1576f56c8 Change the x86 assembly output to use tab characters to separate the
mnemonics from their operands instead of single spaces. This makes the
assembly output a little more consistent with various other compilers
(f.e. GCC), and slightly easier to read. Also, update the regression
tests accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40648 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-31 20:11:57 +00:00
Tanya Lattner
c462d25776 Don't use * in XFAIL line unless you want it to XFAIL on everything. I don't believe you can use true regular expressions here. It will just look for those keywords. Please test this on sparc and see if they still are xfailed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39975 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 18:08:32 +00:00
Gabor Greif
6bd7ada32d XFAIL these on sparc-solaris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39969 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 10:25:31 +00:00
Reid Spencer
cb5da4a8b6 For PR1558:
Move tests that have C/C++ sources into the appropriate directory. This
allows them to be selected for testing based on whether llvm-gcc is
present or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39963 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-17 06:20:38 +00:00
Dan Gohman
318f0dee83 Remove the trailing semicolon from function declarations in LLVM,
where it's interpreted as a comment, not part of the syntax.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39920 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16 13:37:30 +00:00
Dale Johannesen
e7e7d0d7e3 Skeleton of post-RA scheduler; doesn't do anything yet.
Change name of -sched option and DEBUG_TYPE to
pre-RA-sched; adjust testcases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39816 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13 17:13:54 +00:00
Chris Lattner
4857b1b320 remove this bogus t-t
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38464 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-09 17:31:07 +00:00
Duncan Sands
d14526cf33 Test that byte offsets are used to index into the list
of filter ids, and not simply the id index.  Testing
this requires at least 128 type infos!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37941 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-06 12:38:27 +00:00
Chris Lattner
02f7906b2f avoid ambiguity in target selection
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37927 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 22:16:19 +00:00
John Criswell
e644ef7b09 Convert .cvsignore files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37801 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-29 16:35:07 +00:00
Duncan Sands
f40708223e Workaround for PR1508.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37597 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-15 19:04:19 +00:00
Duncan Sands
0bad514df1 "Simplified" testcase for PR1422.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37462 91177308-0d34-0410-b5e6-96231b3b80d8
2007-06-06 09:59:53 +00:00
Dale Johannesen
b68f3db93b Test assumes tail merging is off; this must now be explicit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37286 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-22 17:18:05 +00:00
Chris Lattner
e1e9bc7e09 add testcase for 128-bit add/sub
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37170 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-17 18:22:37 +00:00
Lauro Ramos Venancio
b5bb7ffa9c Fix an infinite recursion in GetNegatedExpression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37086 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-15 17:05:43 +00:00
Chris Lattner
938ef6f0eb move to CodeGen/ARM/2007-05-07-tailmerge-1.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36918 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 02:13:52 +00:00
Evan Cheng
6b95e98e50 Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36911 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-07 21:38:05 +00:00
Dale Johannesen
7d33b4c59b Handle some non-exit blocks in tail merging.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36907 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-07 20:57:21 +00:00
Chris Lattner
23f7f5898e the sparc v8 backend handles this correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36801 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 22:12:57 +00:00
Chris Lattner
2db395600f unxfail this, llc doesn't support this feature yet, so don't run it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36796 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 21:51:34 +00:00
Duncan Sands
9426caa8b2 Check that the right eh personality function is used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36788 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 20:22:08 +00:00
Duncan Sands
f0799fe155 Test that the eh lowering code can handle constant folded bitcasts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36746 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-04 17:14:42 +00:00
Reid Spencer
9dd446c561 Split target dependent test portions to target-specific directories.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36612 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-01 02:56:15 +00:00
Chris Lattner
045a9278b8 testcase for PR1228
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36601 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-30 23:34:46 +00:00
Reid Spencer
4274e40514 For PR1370:
Rearrange some tests so that if PowerPC is not being built we don't try to
run PowerPC specific tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36587 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-30 05:11:58 +00:00
Chris Lattner
15c928640d ensure the operand prints.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36533 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-28 06:07:55 +00:00
Chris Lattner
5bee46d8e3 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36532 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-28 06:05:59 +00:00
Chris Lattner
93e3d8f308 update syntax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36531 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-28 06:03:12 +00:00
Chris Lattner
85f777946e make this testcase harder, to cover PR1326
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36509 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-27 17:12:23 +00:00
Duncan Sands
c88725fe21 Test that eh_selector lowering accepts global variables as well as bitcasts
of global variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36500 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-27 06:56:53 +00:00
Anton Korobeynikov
3d18d64089 Unxfail tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36497 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 21:20:04 +00:00
Anton Korobeynikov
566dfcbf98 Add test to proper place. Also, XFAIL until ppc bootstrap will be ok.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36491 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-26 20:49:05 +00:00
Chris Lattner
a00a5b95e7 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36230 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-17 23:43:31 +00:00
Reid Spencer
b579650f01 Also validate that the code generation of IntrinsicLowering for LLI works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36175 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 21:52:56 +00:00
Reid Spencer
eb1d74e0c8 For PR1319:
Remove && from the end of the lines to prevent tests from throwing run
lines into the background. Also, clean up places where the same command
is run multiple times by using a temporary file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36142 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 17:36:08 +00:00
Reid Spencer
43b40035ba For PR1319:
Fix syntax of tests to ensure grep pattern is properly quoted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36134 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 15:31:49 +00:00
Reid Spencer
296ba1bd9e For PR1336:
Un-XFAIL this test now that llvm-ugprade knows how to create functions with
empty names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36107 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 03:06:39 +00:00
Reid Spencer
4575ab2186 For PR1336:
XFAIL tests covered by the PR. These will be un-XFAILed as they are fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36093 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-15 23:00:46 +00:00
Reid Spencer
97e287ef8a For PR1319: Upgrade to new test harness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36086 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-15 20:48:50 +00:00
Reid Spencer
2bd55af292 For PR1319: Upgrade to new test harness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36080 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-15 19:35:51 +00:00
Chris Lattner
01015d4a0e xfail for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36033 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-14 23:40:49 +00:00
Anton Korobeynikov
e01017bba4 Fix PR1325: Case range optimization was performed in the case it
shouldn't. Also fix some "latent" bug on 64-bit platforms


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35990 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-14 13:25:55 +00:00
Anton Korobeynikov
8085bcfdca Fix PR1323 : we haven't updated phi nodes in good manner :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35963 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-13 06:53:51 +00:00
Chris Lattner
96b78b0143 make this really work on linux :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35948 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-12 18:10:16 +00:00
Chris Lattner
d5b6f143a6 make this happier on linux hosts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35947 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-12 18:09:06 +00:00
Reid Spencer
0f5aed5648 Make the llvm-runtest function much more amenable by eliminating all the
global variables that needed to be passed in. This makes it possible to
add new global variables with only a couple changes (Makefile and llvm-dg.exp)
instead of touching every single dg.exp file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35918 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 19:56:59 +00:00
Chris Lattner
593959b9cc change test name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35904 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 15:24:04 +00:00
Chris Lattner
cb42ba454c new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35882 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 05:32:13 +00:00
Anton Korobeynikov
4198c58c71 Next stage into switch lowering refactoring
1. Fix some bugs in the jump table lowering threshold
2. Implement much better metric for optimal pivot selection
3. Tune thresholds for different lowering methods
4. Implement shift-and trick for lowering small (<machine word
length) cases with few destinations. Good testcase will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35816 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-09 12:31:58 +00:00
Chris Lattner
7c058276b8 new testcase for PR1308
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35784 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-09 00:45:42 +00:00
Reid Spencer
11eec56a04 XFAIL this test for now. It will be a while before I can implement this
intrinsic properly in SDISel.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35692 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 22:57:45 +00:00
Anton Korobeynikov
56f54d431b Fix test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35683 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-05 16:43:09 +00:00
Reid Spencer
addd11d98e Implement the llvm.bit.part_select.iN.iN.iN overloaded intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35678 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 23:48:25 +00:00
Anton Korobeynikov
5502bf67cd Properly emit range comparisons for switch cases, where neighbour cases
go to the same destination. Now we're producing really good code for
switch-lower-feature.ll testcase


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35672 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-04 21:14:49 +00:00
Chris Lattner
56371694bf new testcase for PR1296
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35574 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 01:32:59 +00:00
Reid Spencer
86189a4460 Revert the name changes for llvm.bswap to allow (and test) llvm-upgrade of
this intrinsic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35566 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 00:51:15 +00:00
Reid Spencer
a3c533a716 For PR1297:
Update these test cases to use proper signatures for bswap which is now
and overloaded intrinsic. Its name must be of the form llvm.bswap.i32.i32
since both the parameter and the result or of type "iAny". Also, the
bit counting intrinsics changed to always return i32.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35548 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-01 07:36:28 +00:00
Reid Spencer
5373b721c0 Remove use of implementation keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35412 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-28 02:38:26 +00:00
Anton Korobeynikov
b3b29dfe7a Add "feature" testcase for new switch lowering code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35345 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-25 22:01:14 +00:00