Commit Graph

166 Commits

Author SHA1 Message Date
Duncan Sands
dc024674ff 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44359 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-27 13:23:08 +00:00
Dan Gohman
82a13c9c48 Move the space in overview output for commands out of each of the
commands and into the common code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42752 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-08 15:45:12 +00:00
Dale Johannesen
4292d1c02a minor long double related changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42439 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-28 18:06:58 +00:00
Dale Johannesen
cdd509aecd Apply feedback from previous patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41774 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-07 21:07:57 +00:00
Dale Johannesen
43421b3dd7 Next round of APFloat changes.
Use APFloat in UpgradeParser and AsmParser.
Change all references to ConstantFP to use the
APFloat interface rather than double.  Remove
the ConstantFP double interfaces.
Use APFloat functions for constant folding arithmetic
and comparisons.
(There are still way too many places APFloat is
just a wrapper around host float/double, but we're
getting there.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41747 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-06 18:13:44 +00:00
David Greene
5fd22a84fd Update generated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41706 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-04 18:46:50 +00:00
David Greene
b8f74793b9 Update GEP constructors to use an iterator interface to fix
GLIBCXX_DEBUG issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41697 91177308-0d34-0410-b5e6-96231b3b80d8
2007-09-04 15:46:09 +00:00
David Greene
f1355a55f8 Update InvokeInst to work like CallInst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41506 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-27 19:04:21 +00:00
David Greene
ae5115dd44 Update .cvs file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41106 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-15 17:58:51 +00:00
David Greene
ba1a750f1d Make this code more efficient
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40899 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:57:55 +00:00
Chandler Carruth
022021951b Regenerating.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40808 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-04 01:56:21 +00:00
Chandler Carruth
6994040a95 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40807 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-04 01:51:18 +00:00
David Greene
718fda37a7 Update generated files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40663 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 03:59:32 +00:00
David Greene
52eec54820 New CallInst interface to address GLIBCXX_DEBUG errors caused by
indexing an empty std::vector.

Updates to all clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40660 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-01 03:43:44 +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
7eea8ff06d Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37207 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-18 05:48:07 +00:00
Chris Lattner
e3c55a52f8 Remove the -emit-bytecode option. Noone in the llvm tree uses it, and this
keeps llvm-upgrade a simple "source to source" tool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36848 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 05:40:41 +00:00
Reid Spencer
4f859aa532 For PR1146:
Make ParamAttrsList objects unique. You can no longer directly create or
destroy them but instead must go through the ParamAttrsList::get()
interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36327 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 05:46:44 +00:00
Reid Spencer
e59f4931f4 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36106 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 03:05:01 +00:00
Reid Spencer
7055dafa7f For PR1336:
Functions without names deserve to be created too. This fixes:
test/CodeGen/Generic/vector-constantexpr.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36105 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 03:04:13 +00:00
Reid Spencer
53bd704b99 For PR1336:
When upgrading global vars, look for conflicts with functions as well. This
fixes test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36103 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 02:56:33 +00:00
Reid Spencer
ff0e448801 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36096 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 00:40:57 +00:00
Reid Spencer
d23c4dd08f For PR1336:
Rewrite the upgrade of GEP indices to be a little less obtuse. This fixes
test/Assembler/2002-08-19-BytecodeReader.llx
test/Assembler/2003-08-21-ConstantExprCast-Fold.llx
test/Assembler/2004-01-11-getelementptrfolding.llx


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36095 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-16 00:39:39 +00:00
Reid Spencer
baba98ae88 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35897 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 12:10:58 +00:00
Reid Spencer
8486744214 Fix a crash-by-unknown-exception caused by attempting to use a null pointer
as the key for a map insertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35896 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 12:10:08 +00:00
Reid Spencer
18da072088 For PR1146:
Put the parameter attributes in their own ParamAttr name space. Adjust the
rest of llvm as a result.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35877 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-11 02:44:20 +00:00
Reid Spencer
7b5d466c88 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35813 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-09 06:16:21 +00:00
Reid Spencer
460dd9b644 For PR1146:
Adapt handling of parameter attributes to use ParamAttrsList class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35812 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-09 06:15:59 +00:00
Reid Spencer
a3b12ddade Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35736 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 16:14:01 +00:00
Reid Spencer
b289f19eae For PR1312:
For the short CALL/INVOKE syntax, the signedness of the result type is two
extractions away from the type argument because its a POINTER to function
type, not a function type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35735 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07 16:10:37 +00:00
Reid Spencer
8166a6c61d Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35579 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 02:08:35 +00:00
Reid Spencer
8918cb42db Upgrade the bit count intrinsics to have an i32 result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35578 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 02:08:05 +00:00
Reid Spencer
41b213e532 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35571 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 01:14:00 +00:00
Reid Spencer
de704f36c6 Don't upgrade functions that look like a bswap intrinsic but aren't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35570 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 01:13:36 +00:00
Reid Spencer
1e70bb6660 Handle upgrade of llvm.bswap.iXX to llvm.bswap.iXX.iXX per new naming
rules for overloaded intrinsic functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35565 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-02 00:50:28 +00:00
Evan Cheng
2b48420c64 Unbreak non-debug builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35264 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-22 07:43:51 +00:00
Reid Spencer
d2920cd3d9 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35237 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-21 17:27:53 +00:00
Reid Spencer
91a9d54d9a For PR1243:
Okay, really fix it this time. Make sure the CurFun.Linkage is set early
and consolidate some duplicate code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35236 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-21 17:26:41 +00:00
Reid Spencer
bb1fd5770d Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35235 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-21 17:15:50 +00:00
Reid Spencer
3e5affd263 For PR1256:
Make Signedness information pervasive throughout all types and values.
There is no easy way to get around this. Because the GEP instruction can
index through an arbitrarily complex value structure, it is necessary to
keep track of signedness information throughout that structure. This change
makes Signedness a full class, capable of representing Signedness in
arbitrarily shaped types. The class is then used throughout llvm-upgrade to
track signedness and differentiate between globals, locals, and functions
based on their signedness.

For PR1243:
This patch also removes bogus warnings about renaming internal globals. It
now only emits such warnings when renaming non-internal globals because
they may affect linkage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35234 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-21 17:14:36 +00:00
Reid Spencer
5eb77c7674 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35116 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-15 03:26:42 +00:00
Reid Spencer
44f87ee746 Revert last changes as they introduced other problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35115 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-15 03:25:34 +00:00
Reid Spencer
3fae7ba5b5 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35113 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-14 23:13:06 +00:00
Reid Spencer
be5c50cb33 The sign information was not propagating into the rename map so only the
last entry stored in the map could be retrieved for a given integer type.
Propagating the sign information required an invasive change to ensure that
all ValueRef (ValID) instances get the right sign information as well. Also,
put in some assertions to ensure the RenameMap always gives us out the type
that is expected.

This fixes PR1256 and
test/Assembler/2007-03-14-UgpradeLocalSignless.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35112 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-14 23:11:45 +00:00
Reid Spencer
c1882215a0 For PR1256:
Carry sign with ValID and make TypeInfo sortable (useful in a map).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35111 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-14 23:08:04 +00:00
Jeff Cohen
91f76be8ac Make older versions of bison happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35099 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-14 15:27:17 +00:00
Chris Lattner
4227bdbf55 remove use of deprecated api
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34416 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-19 07:34:02 +00:00
Reid Spencer
ac9dcb94dd For PR1195:
Change use of "packed" term to "vector" in comments, strings, variable
names, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34300 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15 03:39:18 +00:00
Reid Spencer
9d6565a5b1 For PR1195:
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34293 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15 02:26:10 +00:00
Chris Lattner
cf3d061099 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34225 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13 06:04:17 +00:00