1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-31 16:02:52 +01:00
Commit Graph

252 Commits

Author SHA1 Message Date
Nick Lewycky
eea5412e19 Add support for embedded metadata to LLVM. This introduces two new types of
Constant, MDString and MDNode which can only be used by globals with a name
that starts with "llvm." or as arguments to a function with the same naming
restriction.

llvm-svn: 68420
2009-04-04 07:22:01 +00:00
Duncan Sands
926d062a48 Don't load values out of global constants with weak
linkage: the value may be replaced with something
different at link time.  (Frontends that want to
allow values to be loaded out of weak constants can
give their constants weak_odr linkage).

llvm-svn: 67407
2009-03-20 21:53:29 +00:00
Chris Lattner
f28c74870f Reimplement the old and horrible bison parser for .ll files with a nice
and clean recursive descent parser.

This change has a couple of ramifications:
1. The parser code is about 400 lines shorter (in what we maintain, not
   including what is autogenerated).
2. The code should be significantly faster than the old code because we 
   don't have to work around bison's poor handling of datatypes with 
   ctors/dtors.  This also makes the code much more resistant to memory 
   leaks.
3. We now get caret diagnostics from the .ll parser, woo.
4. The actual diagnostics emited from the parser are completely different
   so a bunch of testcases had to be updated.
5. I now disallow "%ty = type opaque %ty = type i32".  There was no good
   reason to support this, it was just an accident of the old 
   implementation.  I have no reason to think that anyone is actually using
   this.
6. The syntax for sticking a global variable has changed to make it 
   unambiguous.  I don't think anyone is depending on this since only clang
   supports this and it is not solid yet, so I'm not worried about anything
   breaking.
7. This gets rid of the last use of bison, and along with it the .cvs files.
   I'll prune this from the makefiles as a subsequent commit.

There are a few minor cleanups that can be done after this commit (suggestions
welcome!) but this passes dejagnu testing and is ready for its time in the
limelight.

llvm-svn: 61558
2009-01-02 07:01:27 +00:00
Chris Lattner
700ddfea3c add testcase for type parsing.
llvm-svn: 61449
2008-12-27 08:10:46 +00:00
Nick Lewycky
47fa9bd187 Extend the 'noalias' attribute to function return values. This is intended to
indicate functions that allocate, such as operator new, or list::insert. The
actual definition is slightly less strict (for now).

No changes to the bitcode reader/writer, asm printer or verifier were needed.

llvm-svn: 59934
2008-11-24 03:41:24 +00:00
Bill Wendling
3be8dca83f Put CPPBackend tests into their own directory and run them only if they're
supported.

llvm-svn: 53427
2008-07-10 22:35:32 +00:00
Matthijs Kooijman
e8fb62fb3c Fix some escaping and quoting in RUN lines, mainly involving { and <. In two
cases quoting of <{ didn't work out, so I changed the grep to check for }>
instead.

This fixes 7 testcases that were not properly running before.

llvm-svn: 52182
2008-06-10 16:04:47 +00:00
Dan Gohman
2412469191 Remove lingering references to .llx and .tr in the tests.
llvm-svn: 51500
2008-05-23 21:15:35 +00:00
Gabor Greif
b03785f0cd Eliminate questionable syntax for stdin redirection. This probably also speeds things up a bit.
llvm-svn: 51357
2008-05-20 22:07:21 +00:00
Gabor Greif
807c2df887 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
d8a4dbb5da 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
Anton Korobeynikov
dad01d86e0 Update test
llvm-svn: 50272
2008-04-25 17:54:21 +00:00
Nick Lewycky
1b583954ad Start removing 'unwinds to' support from mainline in preparation for 2.3.
llvm-svn: 50086
2008-04-22 05:16:02 +00:00
Dan Gohman
cce2b42edc Upgrade these tests for the current intrinsic prototypes.
llvm-svn: 49669
2008-04-14 18:19:18 +00:00
Anton Korobeynikov
06f3b7f4ee Support chained aliases for LLVM IR printing. This fixes PR2145
llvm-svn: 48684
2008-03-22 08:17:17 +00:00
Chris Lattner
e72cd8b5a4 no need to keep around this output.
llvm-svn: 48285
2008-03-12 17:14:06 +00:00
Nick Lewycky
5dd879d5b5 Turn unwind_to into "unwinds to".
llvm-svn: 48123
2008-03-10 02:20:00 +00:00
Nick Lewycky
635d27b1d5 Exercise the new CFG change.
llvm-svn: 47990
2008-03-06 06:55:58 +00:00
Nick Lewycky
07b03b3119 Oops, can't unwind to the entry block (entry block may have no preds).
llvm-svn: 47808
2008-03-02 03:34:55 +00:00
Nick Lewycky
b02fe64d8b Add an unwind_to field to basic blocks, making them Users instead of Values.
This is the first checkin for PR1269, the new EH infrastructure.

llvm-svn: 47802
2008-03-02 02:48:09 +00:00
Tanya Lattner
726c082fd5 Remove llvm-upgrade and update tests.
llvm-svn: 47784
2008-03-01 07:38:40 +00:00
Dan Gohman
7867eefd96 Use not instead of ignore when an exit status is expected to always
be non-zero.

llvm-svn: 44866
2007-12-11 15:50:23 +00:00
Duncan Sands
3602011bec Fix PR1146: parameter attributes are longer part of
the function type, instead they belong to functions
and function calls.  This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll).  Hopefully
a bitcode guru (who might that be? :) ) will fix it.

llvm-svn: 44359
2007-11-27 13:23:08 +00:00
Nate Begeman
2a8ef3f29a Add support for vectors to int <-> float casts.
llvm-svn: 44204
2007-11-17 03:58:34 +00:00
Chris Lattner
b029483115 llvm/test programs should not be execution programs. This
will hopefully fix Gabor's Sparc problem.

llvm-svn: 43251
2007-10-23 17:56:04 +00:00
Dale Johannesen
f9ca7b6094 Change all floating constants that are not exactly
representable to use hex format.

llvm-svn: 41722
2007-09-05 17:50:36 +00:00
Chandler Carruth
00e56b0e81 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.

llvm-svn: 40807
2007-08-04 01:51:18 +00:00
Dale Johannesen
dda00eb44d Long double, part 1 of N. Support in IR.
llvm-svn: 40774
2007-08-03 01:03:46 +00:00
Dan Gohman
e2dcfd1516 Delete the svn:executable property on these files, which aren't executable.
llvm-svn: 40441
2007-07-23 19:26:08 +00:00
Duncan Sands
5a29993695 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
44d34e9b61 For PR1553:
Change the keywords for the zext and sext parameter attributes to be 
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.

llvm-svn: 40069
2007-07-19 23:13:04 +00:00
John Criswell
57e5ed4b5a Convert .cvsignore files
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Zhou Sheng
09b12fef98 Commit first round work of PR1373. "noalias" is now fully supported in
VMCore, BitCode, and Assembly. Documentation and test case paramattrs.ll
updated also.

llvm-svn: 37432
2007-06-05 05:28:26 +00:00
Reid Spencer
2188a8e48f Make sure we can round-trip an escaped value in a name.
llvm-svn: 37259
2007-05-19 07:22:24 +00:00
Chris Lattner
be5e37bb78 remove libbzip2 from this. This should use llvm-config or something.
llvm-svn: 36879
2007-05-06 19:21:48 +00:00
Anton Korobeynikov
45162c6dad Implement review feedback. Aliasees can be either GlobalValue's or
bitcasts of them.

llvm-svn: 36537
2007-04-28 13:45:00 +00:00
Chris Lattner
06a1069fc1 not fully implemented yet.
llvm-svn: 36530
2007-04-28 06:02:13 +00:00
Andrew Lenharth
359af9d3d1 An example for PR1362
llvm-svn: 36484
2007-04-26 19:28:33 +00:00
Anton Korobeynikov
25dc9a61cb Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part
will follow.

llvm-svn: 36435
2007-04-25 14:27:10 +00:00
Reid Spencer
df17fa8ef9 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.

llvm-svn: 36142
2007-04-16 17:36:08 +00:00
Reid Spencer
cfa86314dd Changes to fix problems with "make check". Apparently you can redefine
functions and Tcl's just tickled with that. The fix is to give the "new"
test system a different interface function name.

llvm-svn: 36022
2007-04-14 22:51:29 +00:00
Reid Spencer
9811e4ba2b Try some alternative syntax.
llvm-svn: 36018
2007-04-14 22:27:05 +00:00
Reid Spencer
c64112d7bd Simplify this test and correct redirection for Tcl exec.
llvm-svn: 36001
2007-04-14 17:49:06 +00:00
Reid Spencer
d04d54345e For PR1319:
Changes necessary for conversion of this directory to run the tests
under the llvm.exp version of llvm_runtest

llvm-svn: 35993
2007-04-14 16:40:08 +00:00
Reid Spencer
424ebf9c39 Fix a missing -f that the new llvm.exp found.
llvm-svn: 35988
2007-04-14 09:45:16 +00:00
Reid Spencer
e44effb288 Fix a missing -f caught by the new llvm.exp script.
llvm-svn: 35987
2007-04-14 09:43:30 +00:00
Chris Lattner
ba8ff05529 vector compares aren't allowed. It doesn't make sense to have an xfailed
test to remind us of this.

llvm-svn: 35949
2007-04-12 18:21:52 +00:00
Reid Spencer
260356bbcf The hello pass actually requires a function to chew on!
llvm-svn: 35937
2007-04-12 01:12:54 +00:00
Reid Spencer
3f92dc65c6 Fix a guard that is supposed to guard against mistakes like this patch fixes!
We *really* need to be running these with tcl's "exec" to catch the errors.

llvm-svn: 35928
2007-04-11 22:40:46 +00:00
Reid Spencer
91097746e8 The "Hello" message is written on stderr so make sure it is duplicated to
stdout so the grep can match it.

llvm-svn: 35925
2007-04-11 21:30:05 +00:00
Reid Spencer
12ee385ec2 Add a test case for PR1318.
llvm-svn: 35923
2007-04-11 21:14:53 +00:00
Reid Spencer
ba51ef894b Use the new %link variable to make this test portable.
llvm-svn: 35921
2007-04-11 21:00:00 +00:00
Reid Spencer
56b310ae49 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
13dc8cea51 Add a test case for testing basic IR features via llvm2cpp. This helps find
bit rot in llvm2cpp and also tests the LLVM C++ IR in ways that llvm-as
doesn't.

llvm-svn: 35917
2007-04-11 19:54:37 +00:00
Reid Spencer
c202a9ae85 Make sure upgrade doesn't fail on this.
llvm-svn: 35916
2007-04-11 19:36:27 +00:00
Reid Spencer
db91083d5a Upgrade this file completely instead of downgrading it. Make sure that
false positives aren't made.

llvm-svn: 35913
2007-04-11 17:51:03 +00:00
Reid Spencer
9569890d38 Make sure this test uses llvm-upgrade.
Don't allow false positives.

llvm-svn: 35900
2007-04-11 12:46:06 +00:00
Reid Spencer
44bc3843a6 Fix to not give false positives.
llvm-svn: 35895
2007-04-11 12:04:33 +00:00
Reid Spencer
f5e95d339f 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.

llvm-svn: 35548
2007-04-01 07:36:28 +00:00
Reid Spencer
50ee6b8557 Remove use of implementation keyword.
llvm-svn: 35412
2007-03-28 02:38:26 +00:00
Reid Spencer
648d9f53ca Add tests for nounwind and noreturn function attributes.
llvm-svn: 35261
2007-03-22 02:15:17 +00:00
Reid Spencer
82293f34de For PR411:
Update these tests to not use the same name even though the type of the
value differs. After PR411 hits, type planes will be gone and it will be
illegal for a name to be used twice, regardless of type.

llvm-svn: 33660
2007-01-30 16:16:01 +00:00
Reid Spencer
6a31ec1259 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
Andrew Lenharth
e009c29b46 Packed structs use packed struct initializers
llvm-svn: 33014
2007-01-08 18:15:35 +00:00
Reid Spencer
9741d8a603 Redefinition of functions is no longer permitted.
llvm-svn: 33000
2007-01-07 19:33:49 +00:00
Reid Spencer
03c96bbe17 For PR1077:
Remove the XFAIL now that global redefinitions are not permitted.

llvm-svn: 32935
2007-01-05 21:51:57 +00:00
Reid Spencer
25f6be8634 Fix the test case for the change in parameter attribute syntax. The @ is
no longer needed and the @(...) syntax has been dropped in favor of a
simple space separated list of attribute names.

llvm-svn: 32911
2007-01-05 17:26:04 +00:00
Reid Spencer
845f216f53 For PR1077:
Split this test case into three cases. globalredefinition.ll just tests
that a global can be forward referenced. globalredefinition2.ll tests
that llvm-upgrade will warn about renaming duplicate global variables.
globalredefinition3.ll tests that llvm-as will generate an error on
duplicate global variables. This last test is currently XFAIL because
the restriction is not implemented yet.

llvm-svn: 32910
2007-01-05 17:25:12 +00:00
Reid Spencer
8453db2776 For PR1077:
Global variable definitions with the same name and same type are no longer
valid so don't attempt to test for this "feature".

llvm-svn: 32909
2007-01-05 17:22:13 +00:00
Reid Spencer
18bed85d6f XFAIL this test until such time that code gen can handle a comparison of
packed types.

llvm-svn: 32863
2007-01-04 03:06:23 +00:00
Reid Spencer
cfbf29b510 Add a test to ensure that we can assembly comparisons of packed values.
llvm-svn: 32854
2007-01-04 00:29:09 +00:00
Reid Spencer
3dda148afd Test @zext and @sext fully as well as testing the "short" call syntax.
llvm-svn: 32851
2007-01-04 00:03:37 +00:00
Reid Spencer
8bd5614a39 Add a test case to test parameter attributes feature.
llvm-svn: 32850
2007-01-03 23:54:02 +00:00
Reid Spencer
01efa49df3 Run llvm-upgrade on test to prepare for new assembly syntax.
llvm-svn: 32769
2006-12-29 20:21:51 +00:00
Reid Spencer
84fdefd1db Add some tests for negative constants to unsigned and large positive
constants to signed.

llvm-svn: 32717
2006-12-20 17:27:58 +00:00
Reid Spencer
503ae10c88 Add a couple little tests for SExt/ZExt of constants of a sign that doesn't
match.

llvm-svn: 32647
2006-12-18 01:11:46 +00:00
Reid Spencer
3991c4af05 Add a test for constant folding of bitcast to/from floating point.
llvm-svn: 32446
2006-12-11 21:25:10 +00:00
Andrew Lenharth
341c77a124 packed initializers too in the test
llvm-svn: 32365
2006-12-08 18:45:38 +00:00
Andrew Lenharth
768021fcb9 feature test for packed structs
llvm-svn: 32363
2006-12-08 18:36:24 +00:00
Reid Spencer
8cf118be24 Remove old intrinsic declarations and usage.
llvm-svn: 32129
2006-12-02 20:30:20 +00:00
Reid Spencer
dc5ddb45f6 Remove a redundant RUN: line.
llvm-svn: 32126
2006-12-02 17:49:38 +00:00
Reid Spencer
7f5ef2d7a5 Use the llvm-upgrade program to upgrade llvm assembly.
llvm-svn: 32115
2006-12-02 04:23:10 +00:00
Reid Spencer
992d9788b3 For PR950:
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.

llvm-svn: 31931
2006-11-27 01:05:10 +00:00
Reid Spencer
95d5641559 Fix some typos.
llvm-svn: 31897
2006-11-23 16:45:52 +00:00
Reid Spencer
43e145ce25 Promote GEP ubyte indices to uint. Backwards compatibility for 1.2 and
older features will be dropped soon and these test cases must not rely
on the upgrade capability.

llvm-svn: 31896
2006-11-23 15:14:52 +00:00
Reid Spencer
97be29a3b4 Fix a problem where dejagnu won't accept the value of global tcl variable
"libdir" for some reason. Changing to llvmlibsdir instead fixes it.

llvm-svn: 28526
2006-05-28 07:22:42 +00:00
Reid Spencer
30094a399d Provide an infrastructure for testing the llvm2cpp program (yet to be
committed). This infrastructure is only activated when RUNLLVM2CPP=1 is
specified on the make command line. Currently it is only supported in the
Feature test suite.

llvm-svn: 28525
2006-05-28 04:21:40 +00:00
Chris Lattner
54a41cdf6f new testcase for csretcc
llvm-svn: 28413
2006-05-19 22:00:54 +00:00
Tanya Lattner
9cd1518d42 Added the ability to xfail based on llvmgcc version
llvm-svn: 27635
2006-04-12 21:57:40 +00:00
Chris Lattner
eb990aaaf6 new testcase for shufflevector
llvm-svn: 27508
2006-04-08 01:17:42 +00:00
Reid Spencer
8f8c063f1c Tired of wading through cvs's list ? files that are generated when building
with srcdir = objdir to see what's okay and what's cruft. So, in goes a
bunch of .cvsignore files to shut cvs up about known output from running
"make check".

llvm-svn: 27009
2006-03-23 23:41:57 +00:00
Chris Lattner
e9e727b2bc new tests for actual inline asm expressions
llvm-svn: 25625
2006-01-25 23:49:54 +00:00
Chris Lattner
e7851fb711 minor syntax change
llvm-svn: 25566
2006-01-24 00:37:20 +00:00
Chris Lattner
e463d8caab new testcase
llvm-svn: 25562
2006-01-23 23:24:13 +00:00
Reid Spencer
21bfb7f6cb Expand test to cover the non-overloaded variants of the arithmetic and
floating point intrinsics.

llvm-svn: 25431
2006-01-19 01:17:06 +00:00
Robert Bocchino
8714c48055 Test case for the insertelement operation.
llvm-svn: 25409
2006-01-17 20:07:30 +00:00
Chris Lattner
8f96cc65bb new testcase for extractelement instruction
llvm-svn: 25186
2006-01-10 20:00:20 +00:00
Chris Lattner
63aaf38163 new testcase
llvm-svn: 24310
2005-11-12 00:10:02 +00:00
Chris Lattner
e859d486df add alignment info for globals and functions
llvm-svn: 24213
2005-11-06 06:52:11 +00:00
Chris Lattner
28c9ac03ef new testcase
llvm-svn: 24202
2005-11-05 22:07:30 +00:00