Commit Graph

45 Commits

Author SHA1 Message Date
Dan Gohman
c8054d90fb Eliminate more uses of llvm-as and llvm-dis.
llvm-svn: 81293
2009-09-09 00:09:15 +00:00
Dan Gohman
5c36f4f40c Fix an erroneous check for isFNeg; the FNeg case is handled
a few lines later on.

llvm-svn: 72904
2009-06-04 23:43:29 +00:00
Dan Gohman
a5b9645c4b Split the Add, Sub, and Mul instruction opcodes into separate
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.

For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.

This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt

llvm-svn: 72897
2009-06-04 22:49:04 +00:00
Chris Lattner
35b40f8c2f Fix PR2907 by digging through constant expressions to find FP constants that
are their operands.

llvm-svn: 57956
2008-10-22 04:53:16 +00:00
Dan Gohman
44dfd7bf56 In the CBackend, use casts to force integer add, subtract, and
multiply to be done as unsigned, so that they have well defined
behavior on overflow. This fixes PR2408.

llvm-svn: 53767
2008-07-18 18:43:12 +00:00
Anton Korobeynikov
b4b2f0f741 Remove invalid test
llvm-svn: 52093
2008-06-08 16:59:10 +00:00
Anton Korobeynikov
089018fb05 Testcase for PR2418
llvm-svn: 52047
2008-06-06 16:08:56 +00:00
Chris Lattner
c596ec04e1 Rewrite a bunch of the CBE's inline asm code, giving it the
ability to handle indirect input operands.  This fixes PR2407.

llvm-svn: 51952
2008-06-04 18:03:28 +00:00
Dan Gohman
4e8a512f80 Implement CBE support for first-class structs and array values,
and insertvalue and extractvalue instructions.

First-class array values are not trivial because C doesn't
support them. The approach I took here is to wrap all arrays
in structs. Feedback is welcome.

The 2007-01-15-NamedArrayType.ll test needed to be modified
because it has a "not grep" for a string that now exists,
because array types now have associated struct types, and
those struct types have names.

llvm-svn: 51881
2008-06-02 21:30:49 +00:00
Chris Lattner
c5156a932e update this patch to handle an extraneous &1. This should be pulled
into the 2.3 release branch.

llvm-svn: 51824
2008-05-31 19:50:53 +00:00
Chris Lattner
666d664595 Fix the CBE's handling of instructions whose result is an i1. Previously,
we did not truncate the value down to i1 with (x&1).  This caused a problem
when the computation of x was nontrivial, for example, "add i1 1, 1" would 
return 2 instead of 0.

This makes the testcase compile into:

...
  llvm_cbe_t = (((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u))&1);
  llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t));
...

instead of:

...
  llvm_cbe_t = ((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u));
  llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t));
...

This fixes a miscompilation of mediabench/adpcm/rawdaudio/rawdaudio and
403.gcc with the CBE, regressions from LLVM 2.2. Tanya, please pull 
this into the release branch.

llvm-svn: 51813
2008-05-31 09:23:55 +00:00
Chris Lattner
79be90c3c7 Add support for multiple-return values in inline asm. This should
get inline asm working as well as it did previously with the CBE
with the new MRV support for inline asm.

llvm-svn: 51420
2008-05-22 06:19:37 +00:00
Gabor Greif
1e427c3264 sabre brings to my attention that the 'tr' suffix is also obsolete
llvm-svn: 51349
2008-05-20 21:00:03 +00:00
Gabor Greif
f45ff35bfe 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.
llvm-svn: 51328
2008-05-20 19:52:04 +00:00
Chris Lattner
50fb77f829 rename *.llx -> *.ll
llvm-svn: 49970
2008-04-19 22:29:10 +00:00
Chris Lattner
176542a970 remove an execution test.
llvm-svn: 48135
2008-03-10 06:53:14 +00:00
Chris Lattner
a8b5ed8d3a add a testcase for misc vector stuff
llvm-svn: 47826
2008-03-02 08:57:59 +00:00
Lauro Ramos Venancio
bb979f4b1c Update testcase.
llvm-svn: 47735
2008-02-28 23:13:15 +00:00
Tanya Lattner
3f04773f78 Remove llvm-upgrade and update tests.
llvm-svn: 47296
2008-02-19 01:41:04 +00:00
Lauro Ramos Venancio
192c07b727 CBackend: Implement unaligned load/store.
llvm-svn: 46646
2008-02-01 21:25:59 +00:00
Dale Johannesen
6480cc6f8c Change all floating constants that are not exactly
representable to use hex format.

llvm-svn: 41722
2007-09-05 17:50:36 +00:00
Dan Gohman
f9dd170e36 Convert tests using "| wc -l | grep ..." to use the count script.
llvm-svn: 41097
2007-08-15 13:36:28 +00:00
Duncan Sands
b063fa59d3 The Ada f-e produces various auxiliary output files
that cannot be suppressed and cannot be redirected:
they are dumped in the current working directory.
When running the testsuite this means that these
files do not end up in the Output directory.  The
best solution I could find is to change directory
into Output before running tests.

llvm-svn: 40437
2007-07-23 15:23:35 +00:00
Reid Spencer
f54537370a Remove insignificant test no longer needed.
llvm-svn: 39931
2007-07-16 22:03:36 +00:00
Lauro Ramos Venancio
3d70855dd2 Handle packed structs in the CBackend.
llvm-svn: 39752
2007-07-11 19:56:53 +00:00
John Criswell
2660cef6d7 Convert .cvsignore files
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Reid Spencer
9cdab38520 Reverse last patch .. premature. Depends on uncommitted CBE patch.
llvm-svn: 37039
2007-05-14 17:58:52 +00:00
Reid Spencer
9c6a4d64aa Update this test to match the (corrected) output from the CBE.
llvm-svn: 37038
2007-05-14 17:56:39 +00:00
Reid Spencer
225b2732a4 Use the llvm_supports_target function to prevent running of tests for
targets that LLVM is not configured to support.

llvm-svn: 36315
2007-04-21 20:41:27 +00:00
Reid Spencer
4dcf8bff4b For PR1319:
Fix syntax of tests to ensure grep pattern is properly quoted.

llvm-svn: 36134
2007-04-16 15:31:49 +00:00
Chris Lattner
b21b885cdf fix incorrectly upgraded test, add PR#
llvm-svn: 36114
2007-04-16 05:58:47 +00:00
Reid Spencer
4b4055a1ab For PR1336:
Upgrade the intrinsic to its new form.

llvm-svn: 36108
2007-04-16 03:10:56 +00:00
Reid Spencer
6584cf60f2 For PR1336:
XFAIL tests covered by the PR. These will be un-XFAILed as they are fixed.

llvm-svn: 36093
2007-04-15 23:00:46 +00:00
Reid Spencer
a5626e787f Make this test work.
llvm-svn: 36079
2007-04-15 19:28:23 +00:00
Reid Spencer
41dc9beb80 For PR1319: Upgrade to use new test harness
llvm-svn: 36077
2007-04-15 19:21:54 +00:00
Reid Spencer
d029c7e666 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.

llvm-svn: 35918
2007-04-11 19:56:59 +00:00
Reid Spencer
44259a29c0 Remove use of implementation keyword.
llvm-svn: 35412
2007-03-28 02:38:26 +00:00
Bill Wendling
a33fd51520 Make the testcase correct.
llvm-svn: 34543
2007-02-23 23:23:41 +00:00
Bill Wendling
9d9e5e2b34 Testcase for PR1164
llvm-svn: 34542
2007-02-23 23:19:32 +00:00
Bill Wendling
77a345f000 PR1164:
Generate local names with a "llvm_cbe_" prefix using the actual name of the
variable instead of a temporary name.

llvm-svn: 34540
2007-02-23 22:45:08 +00:00
Reid Spencer
9a3e3222e9 Update this test to compile properly and check against the correct
string generated by the CBE. This is no longer an XFAIL.

llvm-svn: 34327
2007-02-15 21:01:58 +00:00
Chris Lattner
07e13789e5 testcase for pr1181
llvm-svn: 33956
2007-02-06 06:07:34 +00:00
Reid Spencer
ce380568b5 For PR761:
Remove "target endian/pointersize" or add "target datalayout" to make
the test parse properly or set the datalayout because defaults changes.

For PR645:
Make global names use the @ prefix.

For llvm-upgrade changes:
Fix test cases or completely remove use of llvm-upgrade for test cases
that cannot survive the new renaming or upgrade capabilities.

llvm-svn: 33533
2007-01-26 08:25:06 +00:00
Reid Spencer
062a3b8241 For PR1028:
Ensure the CBE generates calls to GCC builtins for stack_save and
stack_restore when it encounters the corresponding intrinsics.

Patch by Gordon Henriksen.

llvm-svn: 33312
2007-01-17 23:20:43 +00:00
Reid Spencer
83b3d82672 Regression is gone, don't try to find it on clean target.
llvm-svn: 33296
2007-01-17 07:59:14 +00:00