Commit Graph

2613 Commits

Author SHA1 Message Date
Rafael Espindola d6050c3149 add SBCS and SUBS
llvm-svn: 30930
2006-10-13 17:19:20 +00:00
Rafael Espindola 79d9807c87 implement calls to functions that return long
llvm-svn: 30929
2006-10-13 16:47:22 +00:00
Rafael Espindola 3874a168d0 implement unordered floating point compares
llvm-svn: 30928
2006-10-13 13:14:59 +00:00
Chris Lattner ce34aa8fd7 new testcase
llvm-svn: 30919
2006-10-12 20:56:15 +00:00
Evan Cheng 88bf1625fa Add another cyclic dag test case.
llvm-svn: 30918
2006-10-12 20:38:45 +00:00
Evan Cheng e415f196a3 Update tests.
llvm-svn: 30895
2006-10-12 01:42:03 +00:00
Chris Lattner 4b77688d14 new testcase
llvm-svn: 30893
2006-10-11 22:07:38 +00:00
Chris Lattner ddf7347283 add test for mdef in a let
llvm-svn: 30886
2006-10-11 18:12:14 +00:00
Jim Laskey 5684eda9e8 Explict processor.
llvm-svn: 30882
2006-10-11 17:14:14 +00:00
Jim Laskey b41de440b5 Make sure combiner alias analysis does it's thing.
llvm-svn: 30879
2006-10-11 13:42:49 +00:00
Evan Cheng ac72dc81f4 Test case for the recently fixed FindModifiedNodeSlot bug.
llvm-svn: 30877
2006-10-11 07:01:37 +00:00
Chris Lattner a821fe2da1 new testcase, this should turn into zap
llvm-svn: 30874
2006-10-11 05:10:19 +00:00
Andrew Lenharth a6bbf33cbf Jimptables working again on alpha.
As a bonus, use the GOT node instead of the AlphaISD::GOT for internal stuff.

llvm-svn: 30873
2006-10-11 04:29:42 +00:00
Chris Lattner ee0435680b Both of these functions should turn into cmpbge instructions, even though
the second has an and of 254 not 255.

llvm-svn: 30870
2006-10-11 03:59:48 +00:00
Chris Lattner 291a868823 new testcase for zap generation, from the alpha readme
llvm-svn: 30865
2006-10-11 01:47:08 +00:00
Rafael Espindola 8429e1f6c3 uint <-> double conversion
llvm-svn: 30862
2006-10-10 20:38:57 +00:00
Rafael Espindola b5f1ff336a add fp sub
llvm-svn: 30859
2006-10-10 19:35:01 +00:00
Rafael Espindola 57d109fb08 add double <-> int conversion
llvm-svn: 30858
2006-10-10 18:55:14 +00:00
Rafael Espindola d1a4ea41c9 compare doubles
llvm-svn: 30856
2006-10-10 16:33:47 +00:00
Rafael Espindola 639450ea83 add some tests for floating point compare
llvm-svn: 30855
2006-10-10 14:26:06 +00:00
Evan Cheng 6d37137e4f Add test case from PR940.
llvm-svn: 30852
2006-10-10 04:33:46 +00:00
Evan Cheng 16488647d8 shufps with load folding is better than movaps; movsd.
llvm-svn: 30849
2006-10-09 22:42:31 +00:00
Rafael Espindola 4d03bf8f43 add some tests for floating point arithmetic
llvm-svn: 30840
2006-10-09 19:15:17 +00:00
Rafael Espindola 9e29ec371a add float -> double and double -> float conversion
llvm-svn: 30835
2006-10-09 17:50:29 +00:00
Chris Lattner fb257818c4 xfail this until andrew has a chance to implement the alpha TM method.
llvm-svn: 30833
2006-10-09 17:34:40 +00:00
Rafael Espindola 0e44ed293f add a test for adds adcs
llvm-svn: 30832
2006-10-09 17:30:15 +00:00
Chris Lattner 7440e23eb2 new testcase for PR892
llvm-svn: 30824
2006-10-08 23:52:06 +00:00
Chris Lattner 7a36ae4361 new testcase for SROA for stuff like "union { int*, float* }".
llvm-svn: 30822
2006-10-08 23:27:37 +00:00
Chris Lattner f8fa10a6bb new testcase we miscompile
llvm-svn: 30816
2006-10-07 21:54:08 +00:00
Rafael Espindola b50938866b implement FUITOS and FUITOD
llvm-svn: 30803
2006-10-07 14:24:52 +00:00
Rafael Espindola 58c368bc4f implement FLDD
llvm-svn: 30802
2006-10-07 14:03:39 +00:00
Rafael Espindola 671f25281d add support for calling functions that return double
llvm-svn: 30771
2006-10-06 19:10:05 +00:00
Rafael Espindola ef01656ea4 fix some bugs affecting functions with no arguments
llvm-svn: 30767
2006-10-06 17:26:30 +00:00
Rafael Espindola 5fe7909e18 add support for calling functions that have double arguments
llvm-svn: 30765
2006-10-06 12:50:22 +00:00
Rafael Espindola e04df41ca2 implement a ArgumentLayout class to factor code common to LowerFORMAL_ARGUMENTS and LowerCALL
implement FMDRR
add support for f64 function arguments

llvm-svn: 30754
2006-10-05 16:48:49 +00:00
Chris Lattner 3d5e9818bd new testcase
llvm-svn: 30751
2006-10-05 06:51:54 +00:00
Andrew Lenharth 16b8f95831 Check that jump tables wind up in the rodata section
llvm-svn: 30747
2006-10-05 03:27:52 +00:00
Chris Lattner bfe59e87e5 Verify that jump tables are emitted to the same section as the function is,
when codegen'ing in pic mode.  This fixes a miscompilation of a switch stmt
in a template, as the template goes to a non-.text section.

llvm-svn: 30743
2006-10-05 03:12:36 +00:00
Chris Lattner 1e21d3a5ae pattern match min/max nodes
llvm-svn: 30718
2006-10-04 06:56:02 +00:00
Rafael Espindola 68d238801c Implement floating point constants
llvm-svn: 30704
2006-10-03 17:27:58 +00:00
Chris Lattner 70a12ec8f8 testcase for PR933
llvm-svn: 30702
2006-10-03 17:17:54 +00:00
Nick Lewycky 755f801adc Move break-crit-edges before the predicate simplifier. Allows us to
optimize in more cases.

llvm-svn: 30699
2006-10-03 14:52:23 +00:00
Chris Lattner 2a7e3c29a1 New testcase for PR932
llvm-svn: 30695
2006-10-03 07:00:13 +00:00
Rafael Espindola d55c0a41df fix the names of the 64bit fp register
initial support for returning 64bit floating point numbers

llvm-svn: 30692
2006-10-02 19:30:56 +00:00
Chris Lattner bfc049ae3f New testcase
llvm-svn: 30683
2006-10-01 22:35:45 +00:00
Chris Lattner c82477f3a8 new testcase, malloc should be promoted to [2 x double].
llvm-svn: 30681
2006-10-01 19:39:45 +00:00
Rafael Espindola 53f78be49e add floating point registers
implement SINT_TO_FP

llvm-svn: 30673
2006-09-29 21:20:16 +00:00
Chris Lattner 754c8cf702 Adjust this to the wonky syntax that GCC expects.
llvm-svn: 30670
2006-09-29 17:34:56 +00:00
Reid Spencer 5f2b79ec4c Use the -emit-llvm switch to generate LLVM assembly that can be parsed
by the test case.

llvm-svn: 30654
2006-09-28 21:36:21 +00:00
Reid Spencer 4fde7faeb0 Add a test case for PR902.
llvm-svn: 30653
2006-09-28 21:20:05 +00:00
Chris Lattner a3542a82be new testcase
llvm-svn: 30651
2006-09-28 20:48:17 +00:00
Chris Lattner 83fb402291 Testcase for PR924
llvm-svn: 30649
2006-09-28 18:58:02 +00:00
Jim Laskey 3bbf884855 Make sure C++ protection shows up in debug info
llvm-svn: 30626
2006-09-27 16:55:19 +00:00
Devang Patel ce73ac3089 Add http://llvm.org/bugs/show_bug.cgi?id=923 test case.
llvm-svn: 30622
2006-09-27 02:58:44 +00:00
Chris Lattner ae7ff8b0c6 test that the no_dead_strip directive is emitted on darwin-x86
llvm-svn: 30607
2006-09-26 03:44:20 +00:00
John Criswell 437d9a3fb2 Regression test for PR#922.
llvm-svn: 30599
2006-09-25 19:12:01 +00:00
Andrew Lenharth 6d8e227ac7 Fix
llvm-svn: 30596
2006-09-25 14:04:53 +00:00
Andrew Lenharth 3cec4952ab basic jump table test
llvm-svn: 30592
2006-09-24 19:42:02 +00:00
Bill Wendling fc0e612b65 Use "%llvmgxx" instead of "llvm-g++".
llvm-svn: 30580
2006-09-22 07:09:01 +00:00
Nate Begeman 9007f5a48d Testcase for better rotate left and mask support
llvm-svn: 30579
2006-09-22 05:49:57 +00:00
Bill Wendling fe95123f58 Regression testcase for PR855.
llvm-svn: 30578
2006-09-22 05:34:25 +00:00
Rafael Espindola 7b700e517a more condition codes
llvm-svn: 30567
2006-09-21 13:06:26 +00:00
Rafael Espindola 0c71a5adc8 if a constant can't be an immediate, add it to the constant pool
llvm-svn: 30566
2006-09-21 11:29:52 +00:00
Chris Lattner 6597e053e1 new testcase
llvm-svn: 30554
2006-09-21 05:11:01 +00:00
Nick Lewycky d74c55f483 Once we're down to "setcc type constant1, constant2", at least come up
with the right answer.

llvm-svn: 30550
2006-09-20 23:02:24 +00:00
Nick Lewycky cfff1c3f86 Use a total ordering to compare instructions.
Fixes infinite loop in resolve().

llvm-svn: 30540
2006-09-20 17:04:01 +00:00
Andrew Lenharth b04e899bb4 catch another constant
llvm-svn: 30533
2006-09-20 15:04:55 +00:00
Chris Lattner 2b09e1d2fc new testcase
llvm-svn: 30516
2006-09-20 06:40:37 +00:00
Andrew Lenharth 731f2d52a3 Inspired by the linux kernel, the more we keep adds in the pointer realm, the better pointer analysis works.
llvm-svn: 30495
2006-09-19 18:23:39 +00:00
Rafael Espindola f7d4a9900c Implement a MachineFunctionPass to fix the mul instruction
llvm-svn: 30485
2006-09-19 15:49:25 +00:00
Chris Lattner dc892c6221 number test right
llvm-svn: 30484
2006-09-19 06:19:19 +00:00
Chris Lattner aa0ad47e97 make this harder
llvm-svn: 30481
2006-09-19 06:17:55 +00:00
Chris Lattner db4fbdd1a6 new testcases
llvm-svn: 30480
2006-09-19 06:16:46 +00:00
Nick Lewycky 5cc1e9b51d Enable dejagnu tests for predicate simplifier.
llvm-svn: 30475
2006-09-19 00:31:54 +00:00
Chris Lattner 165f344721 new testcase
llvm-svn: 30471
2006-09-18 22:28:07 +00:00
Chris Lattner 3425123ced new testcase
llvm-svn: 30464
2006-09-18 18:07:51 +00:00
Chris Lattner 5c1bfd0311 new testcase
llvm-svn: 30458
2006-09-18 07:01:39 +00:00
Chris Lattner 52d170fc94 new testcase
llvm-svn: 30455
2006-09-18 05:25:10 +00:00
Chris Lattner 00a07af638 New testcase, can be an srl instead of sra
llvm-svn: 30449
2006-09-18 04:31:18 +00:00
Chris Lattner 5772ba4f50 Testcase for PR913
llvm-svn: 30404
2006-09-16 03:13:22 +00:00
Chris Lattner 1bcb3d16cc xfail this for now
llvm-svn: 30398
2006-09-15 17:25:22 +00:00
Chris Lattner 84890d2da1 The inliner strips dead allocas now. Add a use to allow this test to
test the right thing.

llvm-svn: 30393
2006-09-15 16:53:11 +00:00
Chris Lattner 4c4e077546 New testcase
llvm-svn: 30378
2006-09-14 21:10:06 +00:00
Chris Lattner 73eedf0a05 new testcase
llvm-svn: 30302
2006-09-13 19:23:43 +00:00
Chris Lattner 8ed3cd4e90 The sense of this branch was backwards
llvm-svn: 30296
2006-09-13 17:58:57 +00:00
Chris Lattner 256aeb321b new testcase
llvm-svn: 30289
2006-09-13 05:59:25 +00:00
Chris Lattner 7789e938b6 New testcase
llvm-svn: 30287
2006-09-13 04:43:26 +00:00
Chris Lattner ecd9bfb303 new testcase
llvm-svn: 30282
2006-09-13 03:21:27 +00:00
Chris Lattner 726bc70c43 testcase for PR908
llvm-svn: 30274
2006-09-12 19:16:04 +00:00
Chris Lattner 2655c59a7b Testcase that crashes the C++ FE.
llvm-svn: 30273
2006-09-12 16:28:14 +00:00
Chris Lattner 3592523342 new testcase for PR906
llvm-svn: 30267
2006-09-11 22:48:23 +00:00
Chris Lattner 3faf86e4f4 new testcase for PR905
llvm-svn: 30265
2006-09-11 21:41:56 +00:00
Evan Cheng e9d1a2fcae Rename a test-not-cmp.ll to cmp-test.ll; add a test.
llvm-svn: 30243
2006-09-11 02:33:29 +00:00
Chris Lattner 33ce390fce add a testcase for this commit: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050606/026673.html
llvm-svn: 30238
2006-09-10 18:52:25 +00:00
Nick Lewycky 9a22d7b60f Replace EquivalenceClasses with a custom-built data structure. Many common
operations (like findProperties) should be faster, at the expense of
unionSets being slower in cases that are rare in practise.

Don't erase a dead Instruction. This fixes a memory corruption issue.

llvm-svn: 30235
2006-09-10 02:27:07 +00:00
Chris Lattner 0d38df3e87 new testcase
llvm-svn: 30233
2006-09-09 22:02:25 +00:00
Chris Lattner b6118b0ad6 new testcase
llvm-svn: 30229
2006-09-09 20:26:04 +00:00
Chris Lattner a4b7de8669 (indirect) test for the __builtin_powi builtin which we now support.
llvm-svn: 30224
2006-09-09 06:02:16 +00:00
Rafael Espindola d11fb5d13b implement shl and sra
llvm-svn: 30191
2006-09-08 17:36:23 +00:00
Rafael Espindola 384a4a9480 fix select.ll to always test a select node
llvm-svn: 30187
2006-09-08 12:52:50 +00:00
Rafael Espindola 778769aafb implement unconditional branches
fix select.ll

llvm-svn: 30186
2006-09-08 12:47:03 +00:00
Evan Cheng 8a29d206c2 New test case.
llvm-svn: 30179
2006-09-08 07:24:20 +00:00
Evan Cheng 5988288494 Add a new test case for 'undef' shuffles.
llvm-svn: 30172
2006-09-08 01:54:32 +00:00
Chris Lattner dc22b97b9a new testcase
llvm-svn: 30157
2006-09-07 21:29:32 +00:00
Chris Lattner f9ed9f60ef This fails
llvm-svn: 30148
2006-09-07 17:43:59 +00:00
Chris Lattner 6a7b824ded New testcase for a switch lowering bug.
llvm-svn: 30141
2006-09-07 01:59:05 +00:00
Chris Lattner 0b5fb52b0e testcase, ensure this never breaks.
llvm-svn: 30137
2006-09-06 21:54:59 +00:00
Chris Lattner 65df0ffadd make this harder
llvm-svn: 30120
2006-09-05 20:27:06 +00:00
Rafael Espindola 8386105f3f add support for returning 64bit values
llvm-svn: 30103
2006-09-04 19:05:01 +00:00
Rafael Espindola 5328ba96e1 add the SETULT condition code
llvm-svn: 30067
2006-09-03 13:19:16 +00:00
Chris Lattner 798e9658d7 Testcase (distilled from crafty) that crashed the local RA on X86.
llvm-svn: 30063
2006-09-03 07:14:47 +00:00
Owen Anderson bcb301c4a2 Make this testcase actually recursive. I accidentally committed the wrong copy last time.
llvm-svn: 30059
2006-09-02 22:46:58 +00:00
Owen Anderson 19b80e76df Make ArgumentPromotion handle recursive functions that pass pointers in their recursive calls.
llvm-svn: 30057
2006-09-02 21:19:44 +00:00
Rafael Espindola c585b6919b add more condition codes
llvm-svn: 30056
2006-09-02 20:24:25 +00:00
Nick Lewycky 8e5599354a Improve handling of SelectInst.
Reorder operations to remove duplicated work.
Fix to leave floating-point types out of the optimization.
Add tests to predsimplify.ll for SwitchInst and SelectInst handling.

llvm-svn: 30055
2006-09-02 19:40:38 +00:00
Evan Cheng 1f15185cbc Another "cyclic DAG" test case.
llvm-svn: 30043
2006-09-01 23:50:17 +00:00
Chris Lattner 315f02a6e5 Make this harder
llvm-svn: 30036
2006-09-01 22:07:00 +00:00
Chris Lattner 4b975e8eea simple multiclass example
llvm-svn: 30028
2006-09-01 21:14:37 +00:00
Nick Lewycky a24fdaea0b This program crashes the PredicateSimplifier. Not marked XFAIL because
the PredicateSimplifier is skipped in make check anyways.

llvm-svn: 29992
2006-08-31 03:13:05 +00:00
Chris Lattner f5da261701 Bugfix for recent coallescer crash
llvm-svn: 29990
2006-08-30 23:03:35 +00:00
Chris Lattner faa6355510 new testcase for pr687
llvm-svn: 29967
2006-08-29 23:09:59 +00:00
Evan Cheng 8dd79a4c14 This is also a 32-bit only test. x86-64 would pass fp parameters through XMM registers.
llvm-svn: 29964
2006-08-29 22:01:39 +00:00
Evan Cheng 65c4409e63 Fix test case so it passes on x86-64.
llvm-svn: 29963
2006-08-29 21:49:58 +00:00
Evan Cheng abb02a35cf Undo xfail.
llvm-svn: 29958
2006-08-29 18:49:41 +00:00
Nick Lewycky b2e8ae1700 Add PredicateSimplifier pass. Collapses equal variables into one form
and simplifies expressions. This implements the optimization described
in PR807.

llvm-svn: 29947
2006-08-28 22:44:55 +00:00
Chris Lattner ac23219233 Update tests now that opt no longer reads .ll files
llvm-svn: 29927
2006-08-27 22:47:14 +00:00
Chris Lattner 358fe85ab4 Adjust tests now that opt doesn't read .ll files.
llvm-svn: 29926
2006-08-27 22:44:20 +00:00
Chris Lattner c7cff24f40 opt no longer reads .ll files. Run llvm-as explicitly.
llvm-svn: 29924
2006-08-27 22:41:58 +00:00
Chris Lattner 77443b7dc0 Move this test from Codegen/PowerPC to CodeGen/Generic. It fails on ia64,
but that's not the ppc backend's fault.

llvm-svn: 29914
2006-08-27 20:52:00 +00:00
Evan Cheng f0b7f06b63 Improved codegen due to Chris' live interval joining changes.
llvm-svn: 29899
2006-08-26 07:38:36 +00:00
Rafael Espindola 9a173c937a test case for varargs functions
llvm-svn: 29877
2006-08-25 17:57:36 +00:00
Owen Anderson e001d811ba Implement unrolling of multiblock loops. This significantly improves the
utility of the LoopUnroll pass.

Also, add a testcase for multiblock-loop unrolling.

llvm-svn: 29859
2006-08-24 21:28:19 +00:00
Rafael Espindola e08b9853cc initial support for branches
llvm-svn: 29854
2006-08-24 13:45:55 +00:00
Rafael Espindola 7930e898b2 run llc with -march=arm in select.ll
llvm-svn: 29821
2006-08-22 16:19:54 +00:00
Chris Lattner 3b944e97af This passes.
llvm-svn: 29813
2006-08-22 06:43:24 +00:00
Reid Spencer f69a17123b Use the correct syntax.
Note to self: test before committing things!

llvm-svn: 29810
2006-08-22 05:40:51 +00:00
Reid Spencer cc2c12feef Add a simple RUN line so this doesn't always fail. XFAIL this until
Rafael can get a chance to fix it.

llvm-svn: 29809
2006-08-22 05:37:43 +00:00
Bill Wendling 568dca96c9 Modified the RUN line from "analyze ..." to "opt -analyze ..." because
Reid removed the analyze tool and incorporated it into the opt tool.

llvm-svn: 29807
2006-08-22 04:37:51 +00:00
Rafael Espindola d0dee77718 initial support for select
llvm-svn: 29802
2006-08-21 22:00:32 +00:00
Bill Wendling 04f2246400 Added a check so that if we have two machine instructions in this form
MOV R0, R1
    MOV R1, R0

the second machine instruction is removed. Added a regression test.

llvm-svn: 29792
2006-08-21 07:33:33 +00:00
Reid Spencer 378f7d5d20 For PR872:
Shrinkify LLVM's footprint by removing the analyze tool and moving its
functionality into the opt tool. THis eliminates one of the largest tools
from LLVM and doesn't make opt much bigger because it already included
most of the analysis passes.  To get the old analyze functionality pass
the -analyze option to opt. Note that the integeration here is dead
simple. The "main" of analyze was just copied to opt and invoked if the
-analyze option was given. There may be opportunities for further
integration such as removing the distinction between transform passes
and analysis passes.

To use the analysis functionality, if you previously did this:
  analyze $FNAME -domset -disable-verify
you would now do this:
  opt -analyze $FNAME -domset -disable-verify
Pretty simple.

llvm-svn: 29762
2006-08-18 06:34:30 +00:00
Chris Lattner ac2610a94a Temporarily xfail this test, evan will look at it in a week or so.
llvm-svn: 29760
2006-08-18 00:18:38 +00:00
Rafael Espindola c3ed77e1b9 add a "load effective address"
llvm-svn: 29748
2006-08-17 17:09:40 +00:00
Evan Cheng 0742d58864 Another cyclic dag test case.
llvm-svn: 29742
2006-08-17 00:00:46 +00:00
Chris Lattner 75b5713bc8 New testcase
llvm-svn: 29714
2006-08-15 23:45:28 +00:00
Chris Lattner c5bbda70e3 new testcase from PR877
llvm-svn: 29672
2006-08-14 21:37:32 +00:00
Rafael Espindola 157971b04a select code like
ldr rx, [ry, #offset]

llvm-svn: 29664
2006-08-14 19:01:24 +00:00
Chris Lattner 54faca1d70 New testcase, this used to take hours to loopsimplify.
llvm-svn: 29646
2006-08-12 05:23:27 +00:00
Chris Lattner 25d0d5c9e0 New testcase
llvm-svn: 29606
2006-08-11 16:46:38 +00:00
Rafael Espindola f5ce475540 fix the spill code
llvm-svn: 29583
2006-08-09 16:41:12 +00:00