aboutsummaryrefslogtreecommitdiffstats
path: root/test/Linker
Commit message (Collapse)AuthorAgeFilesLines
* Correctly merge available_externally and regular definitions when they haveRafael Espindola2011-02-012-0/+9
| | | | | | different visibilities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124650 91177308-0d34-0410-b5e6-96231b3b80d8
* fix PR9015, a crash linking recursive metadata.Chris Lattner2011-01-242-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124099 91177308-0d34-0410-b5e6-96231b3b80d8
* Make everyone happy this time.Michael J. Spencer2011-01-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123599 91177308-0d34-0410-b5e6-96231b3b80d8
* Try and fix this test. For some reason llvm-ar thinks that the file exists whenMichael J. Spencer2011-01-161-0/+1
| | | | | | | 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
* Revert "Archive: Replace all internal uses of PathV1 with PathV2. The ↵Michael J. Spencer2011-01-161-1/+0
| | | | | | external API still uses PathV1." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123557 91177308-0d34-0410-b5e6-96231b3b80d8
* one of michael's recent patches broke this, temporarily disableChris Lattner2011-01-161-0/+1
| | | | | | | it so the bots go green git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123555 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow unnamed_addr on declarations.Rafael Espindola2011-01-154-27/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123529 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep unnamed_addr when linking.Rafael Espindola2011-01-134-0/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123364 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR8300 by remembering to keep the bitcast in all cases.Rafael Espindola2010-10-191-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116788 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply r112091 and r111922, support for metadata linking, with aDan Gohman2010-08-262-0/+24
| | | | | | | | | | | | | | | 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
* Revert r112091, "Remap metadata attached to instructions when remappingDaniel Dunbar2010-08-262-24/+0
| | | | | | 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
* Remap metadata attached to instructions when remapping individualDan Gohman2010-08-252-0/+24
| | | | | | | instructions, not when remapping modules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112091 91177308-0d34-0410-b5e6-96231b3b80d8
* When a constant's type is refined, update the constant in placeDan Gohman2009-09-152-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use llvm-link -S instead of using llvm-dis.Dan Gohman2009-09-1521-24/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81860 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename %S metavar to %M (clang uses %S for the basename of the test file).Daniel Dunbar2009-09-057-23/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81087 91177308-0d34-0410-b5e6-96231b3b80d8
* There is not any need to copy metadata while merging modules.Devang Patel2009-09-032-0/+55
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80941 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove obsolete -f flags.Dan Gohman2009-08-2518-40/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79992 91177308-0d34-0410-b5e6-96231b3b80d8
* Link NamedMDNodes.Devang Patel2009-08-112-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78696 91177308-0d34-0410-b5e6-96231b3b80d8
* Link metadata.Devang Patel2009-08-112-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78652 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement the old and horrible bison parser for .ll files with a niceChris Lattner2009-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add global variable to test for consistencyAnton Korobeynikov2008-10-152-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57597 91177308-0d34-0410-b5e6-96231b3b80d8
* This is not failing anymoreAnton Korobeynikov2008-10-151-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57596 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement LinkFunctionProtos in terms of GetLinkageResult. This fixesChris Lattner2008-07-144-4/+6
| | | | | | | | | | | | | | | | | | | 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
* implement linking of globals to functions, in one directionChris Lattner2008-07-141-0/+13
| | | | | | | | | | | | (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
* Testcase for PR2463Anton Korobeynikov2008-07-052-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53157 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2146Anton Korobeynikov2008-07-052-0/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53155 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the c modifier to tell llvm-ar not to issue aDuncan Sands2008-06-271-2/+2
| | | | | | | | 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
* when linking globals, make sure to preserve the address space of the global.Chris Lattner2008-06-271-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52810 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an error handling redefinition of linkonce functions where theChris Lattner2008-06-202-1/+9
| | | | | | | types differ. Patch by Nathan Keynes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52527 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some tests.Evan Cheng2008-06-121-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52245 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some escaping and quoting in RUN lines, mainly involving { and <. In twoMatthijs Kooijman2008-06-102-2/+2
| | | | | | | | | | 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
* Eliminate questionable syntax for stdin redirection. This probably also ↵Gabor Greif2008-05-206-6/+6
| | | | | | speeds things up a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51357 91177308-0d34-0410-b5e6-96231b3b80d8
* sabre brings to my attention that the 'tr' suffix is also obsoleteGabor Greif2008-05-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51349 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the last test with .llx extension to .ll, resolve duplicate test by ↵Gabor Greif2008-05-201-1/+1
| | | | | | 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
* Update old-style syntax in some "not grep" tests.Dan Gohman2008-05-011-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50560 91177308-0d34-0410-b5e6-96231b3b80d8
* This passes nowAnton Korobeynikov2008-03-101-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48178 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove llvm-upgrade and update tests.Tanya Lattner2008-03-1016-186/+162
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48137 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporary XFAIL the test, until I'll commit a fixAnton Korobeynikov2008-03-091-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48110 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove llvm-upgrade and update tests.Tanya Lattner2008-03-0915-61/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48103 91177308-0d34-0410-b5e6-96231b3b80d8
* much simpler test caseAndrew Lenharth2008-03-082-442/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48045 91177308-0d34-0410-b5e6-96231b3b80d8
* add dropped section test case for PR2123Andrew Lenharth2008-03-072-0/+460
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48033 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test not to emit junk into source directoryAnton Korobeynikov2008-03-051-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47947 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2054Anton Korobeynikov2008-03-052-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47946 91177308-0d34-0410-b5e6-96231b3b80d8
* Use not instead of ignore when an exit status is expected to alwaysDan Gohman2007-12-112-3/+3
| | | | | | | be non-zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44866 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test to ensure that obvious link messages are actually produced on Reid Spencer2007-08-161-0/+11
| | | | | | | the standard error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41116 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert .cvsignore filesJohn Criswell2007-06-291-5/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37801 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test case for PR1434Reid Spencer2007-05-181-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37203 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1319:Reid Spencer2007-04-161-2/+2
| | | | | | | | | 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
* For PR1319: Upgrade to new test harnessReid Spencer2007-04-1538-104/+108
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36073 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the llvm-runtest function much more amenable by eliminating all theReid Spencer2007-04-111-1/+1
| | | | | | | | | 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