Commit Graph

301 Commits

Author SHA1 Message Date
Bill Wendling
46b8b27057 Remove extraneous tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150636 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15 23:44:05 +00:00
Bill Wendling
39c4cd3180 Add a test for the Objective-C garbage collection metadata stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150626 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15 22:44:10 +00:00
Bill Wendling
c54066aed3 Change error tests to coincide with message changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150467 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-14 09:29:21 +00:00
Bill Wendling
d34cb1e09f [WIP] Initial code for module flags.
Module flags are key-value pairs associated with the module. They include a
'behavior' value, indicating how module flags react when mergine two
files. Normally, it's just the union of the two module flags. But if two module
flags have the same key, then the resulting flags are dictated by the behaviors.

Allowable behaviors are:

     Error
       Emits an error if two values disagree.

     Warning
       Emits a warning if two values disagree.

     Require
       Emits an error when the specified value is not present
       or doesn't have the specified value. It is an error for
       two (or more) llvm.module.flags with the same ID to have
       the Require behavior but different values. There may be
       multiple Require flags per ID.

     Override
       Uses the specified value if the two values disagree. It
       is an error for two (or more) llvm.module.flags with the
       same ID to have the Override behavior but different
       values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150300 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-11 11:38:06 +00:00
Rafael Espindola
3ed8815541 Link symbols with different visibilities according to the rules in the
System V Application Binary Interface. This lets us use
-fvisibility-inlines-hidden with LTO.
Fixes PR11697.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147624 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-05 23:02:01 +00:00
Chris Lattner
ea93373a0a Now that PR11464 is fixed, reapply the patch to fix PR11464,
merging types by name when we can.  We still don't guarantee type name linkage
but we do it when obviously the right thing to do.  This makes LTO type names 
easier to read, for example.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146932 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-20 00:12:26 +00:00
Chris Lattner
68910509fd fix PR11464 by preventing the linker from mapping two different struct types from the source module onto the same opaque destination type. An opaque type can only be resolved to one thing or another after all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146929 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-20 00:03:52 +00:00
Chad Rosier
2e6119429f Revert 146728 as it's causing failures on some of the external bots as well as
internal nightly testers.  Original commit message:

By popular demand, link up types by name if they are isomorphic and one is an
autorenamed version of the other.   This makes the IR easier to read, because
we don't end up with random renamed versions of the types after LTO'ing a large
app.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146838 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-17 22:19:53 +00:00
Chris Lattner
9646acfccf By popular demand, link up types by name if they are isomorphic and one is an
autorenamed version of the other.   This makes the IR easier to read, because
we don't end up with random renamed versions of the types after LTO'ing a large app.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146728 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-16 08:36:07 +00:00
Chris Lattner
d2bf432b2b Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145171 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27 06:54:59 +00:00
Nico Weber
e688f8896b Let this test pass even if 'int' is somewhere in its directory path.
On my machine, grep matched:

  ; ModuleID = '/Volumes/MacintoshHD2/src/chrome-git/src/third_party/llvm/test/Linker/2011-08-18-unique-debug-type.ll'
  !9 = metadata !{i32 720932, null, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]

Explicitly filter out the ModuleID line.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142077 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-15 18:07:16 +00:00
Andrew Trick
6ca06cd8a8 Use %% for literals in RUN lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138647 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-26 20:09:48 +00:00
Duncan Sands
3c0e5dc40f Testcase for PR10663.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138231 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-22 10:32:09 +00:00
Devang Patel
727df2ca81 Add another test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137969 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-18 18:50:25 +00:00
Devang Patel
3f52c51e00 Add test to check type uniquing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137968 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-18 18:40:49 +00:00
Devang Patel
1f35b17885 We need to map DebugLoc. It leads to Fuction * (through subprogram entry node) which should be appropriately mapped.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136910 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-04 20:02:18 +00:00
Devang Patel
211da8f7a9 Linke NamedMDNodes after linking global values as comment suggests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136909 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-04 19:44:28 +00:00
Chris Lattner
7305c55a80 fix rdar://9776316 - type remapping needed for inline asm blobs,
fixing some objc llvm-test crashes with LTO.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135324 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-15 23:18:40 +00:00
Chris Lattner
1afcace3a3 Land the long talked about "type system rewrite" patch. This
patch brings numerous advantages to LLVM.  One way to look at it
is through diffstat:
 109 files changed, 3005 insertions(+), 5906 deletions(-)

Removing almost 3K lines of code is a good thing.  Other advantages
include:

1. Value::getType() is a simple load that can be CSE'd, not a mutating
   union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
   uniques them.  This means that the compiler doesn't merge them structurally
   which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
   struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
   in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead 
   "const Type *" everywhere.

Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.  
"LLVM 3.0" is the right time to do this.

There are still some cleanups pending after this, this patch is large enough
as-is.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134829 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-09 17:41:24 +00:00
Chris Lattner
5fe319b3bd remove a test that doesn't make sense in the new world.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134818 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-09 16:52:42 +00:00
Chandler Carruth
898402dba4 Quote two greps which contain parentheses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134353 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-02 20:43:13 +00:00
Rafael Espindola
4e93885bab Correctly merge available_externally and regular definitions when they have
different visibilities.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124650 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-01 05:33:52 +00:00
Chris Lattner
51e62f0f73 fix PR9015, a crash linking recursive metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124099 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-24 03:18:24 +00:00
Michael J. Spencer
ddbb3bcdd7 Make everyone happy this time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123599 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-16 21:34:34 +00:00
Michael J. Spencer
6990433b56 Try and fix this test. For some reason llvm-ar thinks that the file exists when
it shouldn't, but I have no way to verify that it doesn't actually exist on the
buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123594 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-16 20:52:58 +00:00
Michael J. Spencer
c850965ec0 Revert "Archive: Replace all internal uses of PathV1 with PathV2. The external API still uses PathV1."
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123557 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-16 01:43:22 +00:00
Chris Lattner
02efda4b4e one of michael's recent patches broke this, temporarily disable
it so the bots go green


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123555 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-16 01:04:49 +00:00
Rafael Espindola
ba7c38c36a Allow unnamed_addr on declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123529 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-15 08:15:00 +00:00
Rafael Espindola
c2a94da313 Keep unnamed_addr when linking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123364 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-13 05:12:34 +00:00
Rafael Espindola
19785995f6 Fix PR8300 by remembering to keep the bitcast in all cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116788 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19 02:02:57 +00:00
Dan Gohman
6cb8c23db1 Reapply r112091 and r111922, support for metadata linking, with a
fix: add a flag to MapValue and friends which indicates whether
any module-level mappings are being made. In the common case of
inlining, no module-level mappings are needed, so MapValue doesn't
need to examine non-function-local metadata, which can be very
expensive in the case of a large module with really deep metadata
(e.g. a large C++ program compiled with -g).

This flag is a little awkward; perhaps eventually it can be moved
into the ClonedCodeInfo class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112190 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-26 15:41:53 +00:00
Daniel Dunbar
fd406f1ee2 Revert r112091, "Remap metadata attached to instructions when remapping
individual ...", which depends on r111922, which I am reverting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112157 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-26 03:48:08 +00:00
Dan Gohman
ce934260dc Remap metadata attached to instructions when remapping individual
instructions, not when remapping modules.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112091 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25 21:36:50 +00:00
Dan Gohman
e3394d4a49 When a constant's type is refined, update the constant in place
instead of cloning and RAUWing it.

 - Make AbstractTypeUser a friend of Value so that it can offer
   its subclasses a way to update a Value's type in place. This
   is better than a universally visible setType method on Value,
   and it's sufficient for the immediate need.

 - Eliminate the constant "convert" functions. This eliminates a
   lot of logic duplication, and fixes a complicated bug where a
   constant can't actually be cloned during the type refinement
   process because some of the types that its folder needs are
   half-destroyed, being in the middle of refinement themselves.

 - Move the getValType functions from being static overloaded
   functions in Constants.cpp to be members of class template
   specializations in ConstantsContext.h. This means that the
   code ends up getting instantiated twice, however it also
   makes it possible to eliminate all "convert" functions, so
   it's not a big net code size increase. And if desired, the
   duplicate instantiations could be eliminated with some
   reorganization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81861 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-15 15:58:07 +00:00
Dan Gohman
5efe566d9e Use llvm-link -S instead of using llvm-dis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81860 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-15 15:38:31 +00:00
Daniel Dunbar
a3f89829f3 Rename %S metavar to %M (clang uses %S for the basename of the test file).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81087 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-05 12:38:35 +00:00
Devang Patel
faf8fa5664 There is not any need to copy metadata while merging modules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80941 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-03 20:35:57 +00:00
Dan Gohman
fea1dd0804 Remove obsolete -f flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79992 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 15:38:29 +00:00
Devang Patel
ab67e705f5 Link NamedMDNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78696 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 18:01:24 +00:00
Devang Patel
ae709eaeb1 Link metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78652 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-11 06:46:31 +00:00
Chris Lattner
df98617b23 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61558 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:01:27 +00:00
Anton Korobeynikov
747b78dfa0 Add global variable to test for consistency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57597 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 20:22:44 +00:00
Anton Korobeynikov
99131d0a5f This is not failing anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57596 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 20:13:10 +00:00
Chris Lattner
6157e383c4 Reimplement LinkFunctionProtos in terms of GetLinkageResult. This fixes
the second half of link-global-to-func.ll and causes some minor changes in
messages.

There are two TODOs here.  First, this causes a regression in 
2008-07-06-AliasWeakDest.ll, which is now failing (so I xfailed it).  Anton,
I would really appreciate it if you could take a look at this.  It should be
a matter of adding proper alias support to GetLinkageResult, and was probably
already a latent bug that would manifest with globals.

The second todo is to reimplement LinkAlias in the same pattern as 
function and global linking.  This should be pretty straight-forward for 
someone who knows aliases, but isn't a requirement for correctness.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53548 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 07:23:24 +00:00
Chris Lattner
d1ec48c641 implement linking of globals to functions, in one direction
(replacing a function with a global).  This is needed when building
llvm itself with LTO on darwin, because of the EXPLICIT_SYMBOL hack
in lib/system/DynamicLibrary.cpp.

Implementation of linking the other way will need to wait for a 
cleanup of LinkFunctionProtos.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53546 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-14 06:49:45 +00:00
Anton Korobeynikov
7ab23c4297 Testcase for PR2463
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53157 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-05 23:33:40 +00:00
Anton Korobeynikov
e56ac813e6 Testcase for PR2146
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53155 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-05 23:03:46 +00:00
Duncan Sands
accdef219f Use the c modifier to tell llvm-ar not to issue a
warning when creating the archive (the warning
causes the test to fail).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52824 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-27 10:52:12 +00:00
Chris Lattner
a534b0f7bf when linking globals, make sure to preserve the address space of the global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52810 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-27 03:10:24 +00:00
Chris Lattner
ec91ccba3c Fix an error handling redefinition of linkonce functions where the
types differ.  Patch by Nathan Keynes!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52527 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-20 05:29:39 +00:00
Evan Cheng
933b5065e5 Fix some tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52245 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-12 21:23:38 +00:00
Matthijs Kooijman
888fa33cfb 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52182 91177308-0d34-0410-b5e6-96231b3b80d8
2008-06-10 16:04:47 +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
fddaa3193c Update old-style syntax in some "not grep" tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50560 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01 23:50:07 +00:00
Anton Korobeynikov
8b9998ecc5 This passes now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48178 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10 22:34:11 +00:00
Tanya Lattner
ceca194c43 Remove llvm-upgrade and update tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48137 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10 07:21:50 +00:00
Anton Korobeynikov
e2dc21aa1d Temporary XFAIL the test, until I'll commit a fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09 16:24:04 +00:00
Tanya Lattner
76806b6a43 Remove llvm-upgrade and update tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48103 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-09 08:16:40 +00:00
Andrew Lenharth
ebb8d7ba16 much simpler test case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48045 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-08 02:05:22 +00:00
Andrew Lenharth
b009d220aa add dropped section test case for PR2123
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48033 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-07 21:19:43 +00:00
Anton Korobeynikov
6af4a751a2 Fix test not to emit junk into source directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47947 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 15:44:25 +00:00
Anton Korobeynikov
038557dd18 Testcase for PR2054
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47946 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-05 15:43:58 +00:00
Dan Gohman
83935ac59d Use not instead of ignore when an exit status is expected to always
be non-zero.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44866 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-11 15:50:23 +00:00
Reid Spencer
3c1b4012b6 Add a test to ensure that obvious link messages are actually produced on
the standard error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41116 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-16 07:22:43 +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
Reid Spencer
e829e92edc Add a test case for PR1434
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37203 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-18 03:46:50 +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
edca80b5e8 For PR1319: Upgrade to new test harness
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36073 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-15 18:11:57 +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
Reid Spencer
ef9b9a7939 For PR411:
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 20:47:22 +00:00
Reid Spencer
908504347b 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33660 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30 16:16:01 +00:00
Reid Spencer
4a29c48b01 Use -f option so test is repeatable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33589 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 21:10:35 +00:00
Reid Spencer
eb2073bf61 Add a test case for PR411.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33588 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 21:09:03 +00:00
Reid Spencer
0fb79b9374 Make this really do nothing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33587 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 21:08:29 +00:00
Reid Spencer
e3ff5ada8a 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33533 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:25:06 +00:00
Reid Spencer
e5fe98cbb0 Global variables are not renamed by llvm-upgrade any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32925 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 18:37:18 +00:00
Reid Spencer
f6dc65f672 Update test cases that grepped for register names that have now changed
as a result of llvm-upgrade handling collapsed type planes better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32849 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-03 23:47:29 +00:00
Reid Spencer
7e6b4f7a6d For PR1070:
Tweak the RUN: lines of these tests to accommodate the renaming of
variables done by llvm-upgrade. The renaming occurs as a result of avoiding
name collisons for collapsed type planes. Conflicting names have a .u
(unsigned) or .s (signed) suffix added. This patch updates the grep
expression to accommodate the new names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32815 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-02 05:55:05 +00:00
Reid Spencer
eacb7020ec For PR950:
Update the test suite to accommodate the change from signed integer types
to signless integer types. The changes were of only a few kinds:

1. Make sure llvm-upgrade is run on the source which does the bulk of the
   changes automatically.

2. Change things like "grep 'int'" to "grep 'i32'"

3. In several tests bitcasting caused the same name to be reused in the
   same type plane. These had to be manually fixed. The fix was (generally)
   to leave the bitcast and provide the instruction with a new name. This
   should not affect the semantics of the test. In a few cases, the
   bitcasts were known to be superfluous and irrelevant to the test case
   so they were removed.

4. One test case uses a bytecode file which needed to be updated to the
   latest bytecode format.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32789 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31 06:02:00 +00:00
Reid Spencer
73e70822ae Update tests that need to be run through llvm-upgrade. This is necessary
for upcoming changes to the llvm assembly grammar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32768 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-29 20:01:32 +00:00
Reid Spencer
db167271fd Make sure linker output is overwritten so this test can pass multiple times.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32675 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-19 19:29:50 +00:00
Reid Spencer
f2315900fd For PR950:
Upgrade this test in preparation for the SETCC patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32669 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-19 02:14:08 +00:00
Andrew Lenharth
c8782ad4ee extern_weak link test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32602 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-15 17:34:37 +00:00
Reid Spencer
ae8e54af9d These files need llvm-upgrade.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32136 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 20:40:30 +00:00
Reid Spencer
e5d4efa63e 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31896 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-23 15:14:52 +00:00
Chris Lattner
76591ca1eb New testcase, the linker is not merging alignments right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28811 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 01:20:58 +00:00
Tanya Lattner
9727555859 Added the ability to xfail based on llvmgcc version
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27635 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-12 21:57:40 +00:00
Reid Spencer
2676f83776 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".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27009 91177308-0d34-0410-b5e6-96231b3b80d8
2006-03-23 23:41:57 +00:00
Reid Spencer
f20bf3e629 Add a test case for PR697, ensuring the linker works with ConstantPacked.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25475 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-20 01:31:58 +00:00
Chris Lattner
89644753a6 new testcase for PR662
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24618 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-06 17:29:54 +00:00
Chris Lattner
5b7dcaa96b New test, adjust other test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20134 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-12 19:19:36 +00:00
Chris Lattner
23cf18003d Reinstate this test, it is correct after all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20133 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-12 19:14:11 +00:00
Chris Lattner
81efd8c026 Actually, this testcase is invalid, the bug is in the C++ FE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20123 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-11 23:18:40 +00:00
Chris Lattner
94ca3fe5ea New testcase that manyoso found compiling QT 4.0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20122 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-11 23:08:34 +00:00
Chris Lattner
bbdfaf8ec7 Check in an old test that never made it into CVS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19250 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 02:46:29 +00:00
Chris Lattner
f0db7a98ae Do not multiply define symbol
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18461 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-03 19:48:10 +00:00
Tanya Lattner
c8c1f12778 Adding srcdir arg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18020 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 22:45:25 +00:00
Tanya Lattner
28b372f1d3 Adding subdirectory dg.exp files in order to be able to use dejagnu to only run specific tests (located in some subdirectory of Regression)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17712 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13 23:00:45 +00:00
Chris Lattner
5e4f2991a0 Another testcase for constness linkage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16691 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-05 02:16:01 +00:00
Chris Lattner
b2bf71334e Testcase to ensure that the 'constant' flag follows the definition when there
is a question.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16690 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-05 02:12:20 +00:00
Chris Lattner
413c76f3bc Correct test. use "not grep" instead of "grep -v"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13824 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 07:32:25 +00:00
John Criswell
3a386d4929 Regression test for PR#330.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13399 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07 13:57:19 +00:00
Chris Lattner
bf6fd9d832 New testcase for PR245
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11566 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-17 21:58:29 +00:00
Chris Lattner
2cbb7543b2 New testcase for PR 130
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10076 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-19 01:03:16 +00:00
Chris Lattner
27684c8f01 Fix initializers to match
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9529 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-27 16:30:29 +00:00
Chris Lattner
31687702ab New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9528 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-27 16:18:28 +00:00
Chris Lattner
3d6a08d131 New testcase. The linker should not consider it an error if two types
disagree.  It should grumble, then go ahead and do it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9356 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-21 22:46:22 +00:00
John Criswell
26c7d8b7e0 Updated these tests so that they use the new temporary directory as opposed
to the old Output directory for temporary files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8728 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-26 20:20:44 +00:00
John Criswell
473741930e Removing Makefiles. Regression tests are now run by QMTest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8548 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 20:21:38 +00:00
Misha Brukman
b6cb66f1c3 Renamed as' => llvm-as', dis' => llvm-dis', link' => llvm-link'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8545 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-15 20:04:28 +00:00
John Criswell
e3e7c474f2 Checkin of autoconf-style object root.
Updated TestRunner tests so that they work correctly in a separate object root
directory.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8383 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-06 15:15:04 +00:00
Chris Lattner
205f9fce19 Yet ANOTHER complication that the libstdc++ library runs into linking...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8207 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 05:29:38 +00:00
Chris Lattner
38e3fd3475 Ok, the last bug fix was not good enough to fix libstdc++. Maybe this one will be
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8203 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 04:54:23 +00:00
Chris Lattner
0c49b89298 New testcase which is preventing the linking of libstdc++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8201 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-29 04:40:34 +00:00
Brian Gaeke
4dee6d781e Fix spelling error in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8143 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-25 17:29:40 +00:00
Chris Lattner
f687adae9b New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8128 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 19:23:31 +00:00
Chris Lattner
8d8523b27a New testcase, which causes the linker to segv.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8082 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 21:13:26 +00:00
Chris Lattner
6f2ff7ecd5 Test functions as well as globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8079 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 20:30:29 +00:00
Chris Lattner
2fa6c35d69 New testcase, which is basically the problem with 176.gcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8068 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 15:53:38 +00:00
Chris Lattner
a925b47300 new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7987 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-20 19:22:28 +00:00
Chris Lattner
060c1f816c Remove usage of grep-not script
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6966 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 23:32:04 +00:00
Chris Lattner
50e8682f28 Remove explicit control flow through the use of the 'not' script
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6965 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 23:23:34 +00:00
Chris Lattner
1bafd29e0e Second testcase identified by Joel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6543 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02 17:31:24 +00:00
Chris Lattner
5e1803548d New testcase identified by Joel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6541 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02 17:07:42 +00:00
Chris Lattner
8a143e8810 New testcase for behavior we depend on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6483 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 21:14:45 +00:00
Chris Lattner
f5838397cb New linker problem from twolf benchmark
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6224 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-15 16:01:32 +00:00
Chris Lattner
c49b27a7df Add uses of the appending variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6177 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-13 21:32:48 +00:00
Chris Lattner
d450a0a4f1 Add new testcase for appending linkage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6176 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-13 20:48:17 +00:00
Chris Lattner
c43a4a4f84 New test for appending linkage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6175 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-13 20:31:46 +00:00
Chris Lattner
ac0ec635e6 New testcase distilled from a problem identified by sumant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5964 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 20:29:09 +00:00
Chris Lattner
961b05852e New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5878 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 18:38:24 +00:00
Chris Lattner
e709a21d66 Tweak testcases to use linkonce as appropriate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5877 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 18:38:13 +00:00
Chris Lattner
8869c2cb6a New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5826 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-21 21:06:25 +00:00
Chris Lattner
25219a76fe Add tests for linker and linkonce globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5791 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 21:21:35 +00:00
Chris Lattner
233bfb2696 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5440 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-30 20:03:15 +00:00
Chris Lattner
2ff400463f NEw testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5438 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-30 19:28:01 +00:00
Chris Lattner
10806b66d6 Fix broken testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5416 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23 19:52:48 +00:00
Chris Lattner
ac2cbb847d Covnert testcases to not use indexed loads/stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3458 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 16:39:05 +00:00
Chris Lattner
e7e5918755 Fix testcase to not use indexing in non-gep instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3439 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 23:52:57 +00:00
Chris Lattner
f2b6b0288b Cleanup testsuite
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3411 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 19:34:51 +00:00
Chris Lattner
fce9d7002d Clean up testcases to make them proper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3410 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 19:32:17 +00:00
Chris Lattner
730507cb5c New testcase for constexpr problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3409 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 19:29:20 +00:00
Chris Lattner
29ef1f51eb Provide a way to actually run tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3408 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 19:29:08 +00:00
Chris Lattner
f406d28693 TEstcases for old bugs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3024 91177308-0d34-0410-b5e6-96231b3b80d8
2002-07-23 18:26:48 +00:00
Chris Lattner
f493a569c3 Update LLVM tests to use new pointer indexing, and remove unsized array test support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1474 91177308-0d34-0410-b5e6-96231b3b80d8
2001-12-14 16:46:53 +00:00
Chris Lattner
b4b07c788d Add testcases for internal
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1388 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 19:17:06 +00:00
Chris Lattner
230e5efe63 Add some more interesting test cases for the linker
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@816 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-15 03:11:58 +00:00
Chris Lattner
784c52f614 More interesting testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@809 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-14 23:28:56 +00:00
Chris Lattner
285c68d66d Test files for linker
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@783 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-13 07:15:38 +00:00