31724 Commits

Author SHA1 Message Date
Reid Spencer
1cc9bbd5a3 Changes to parameter attribute syntax.
llvm-svn: 32919
2007-01-05 17:41:34 +00:00
Reid Spencer
791fbf64fc Changes to parameter attributes syntax.
llvm-svn: 32918
2007-01-05 17:40:40 +00:00
Reid Spencer
629aff553a Globals are not being renamed any more.
llvm-svn: 32917
2007-01-05 17:39:54 +00:00
Reid Spencer
ba1ad0236a This test case has been translated to 2.0 assembly so don't run
llvm-upgrade on it.

llvm-svn: 32916
2007-01-05 17:39:07 +00:00
Reid Spencer
ec18a463d7 Fix this to check for the correct error message.
llvm-svn: 32915
2007-01-05 17:37:59 +00:00
Reid Spencer
ab9842ea8b This tests for something that will become illegal soon. The test/Feature
suite has a test for renaming of global variables.

llvm-svn: 32914
2007-01-05 17:36:59 +00:00
Reid Spencer
c01fe62caa Beef up this test case a little by introducing a global variable name
conflict after upgrade resulting from collapsed type planes. The test now
checks to make sure llvm-upgrade produces appropriate warning messages.

llvm-svn: 32913
2007-01-05 17:35:05 +00:00
Reid Spencer
0ea405d0eb Make this test that we can drop the implementation keyword for llvm-as.
llvm-upgrade is irrelevant for this test case.

llvm-svn: 32912
2007-01-05 17:29:41 +00:00
Reid Spencer
6acdd1973d 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
6bcc22ce57 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
fc899e6f74 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
02165c634e Regenerate
llvm-svn: 32908
2007-01-05 17:20:02 +00:00
Reid Spencer
9ca1b589af Adjust to new header file name.
llvm-svn: 32907
2007-01-05 17:19:32 +00:00
Reid Spencer
6ee573f523 Major update of llvm-upgrade:
1. Completely revise the type system so that types are handled as const
   objects and not created multiple times, cloned, or otherwise copied.
   This gets around memory issues, saves memory, and also emulates LLVM's
   no-two-types-of-the-same-shape-created semantics.
2. Adjust the handling of global names. Basically, we cannot rename them
   for a variety of reasons: linking, forward references, etc.
3. Detect global names that have name conflicts as the result of collapsed
   type planes or redefinitions that llvm-as no longer accepts. These will
   produce warnings on stderr and one of the globals will be renamed.
4. Rename ParserInternals.h as UpgradeInternals.h so it doesn't conflict
   in the debugger with ParserInternals.h from lib/AsmParser.
5. Move the guts of the TypeInfo class into the grammar so we aren't
   implementing large functions in a header file. This also helps with
   debugging a bit.

llvm-svn: 32906
2007-01-05 17:18:58 +00:00
Reid Spencer
bf48e3c87d Regenerate.
llvm-svn: 32905
2007-01-05 17:07:23 +00:00
Reid Spencer
136a91c4e7 Change the syntax for parameter attributes:
1. The @ sign is no longer necessary.
2. We now support "function attributes" as parameter attribute 0.
3. Instead of locating the return type attributes after the type of a
   function result, they are now located after the function header's
   closing paranthesis and before any alignment or section options.
4. The way has been prepared for a new "noreturn" function attribute but
   there is no support for recognizing it in the lexer nor doing anything
   with it if it does get set.
5. The FunctionType::getParamAttrsText method now has support for
   returning multiple attributes. This required a change in its interface.

I'm unhappy that this change leads to 6 new shift/reduce conflicts, but
in each case bison's decision to choose the shift is correct so there
shouldn't be any damage from these conflicts.

llvm-svn: 32904
2007-01-05 17:06:19 +00:00
Reid Spencer
edd3ad549a Give the assembler some input.
llvm-svn: 32903
2007-01-05 16:45:06 +00:00
Evan Cheng
8c7094a770 Typo
llvm-svn: 32902
2007-01-05 08:32:24 +00:00
Evan Cheng
e8345f2445 Add a test case for SSE fcopysign using SSE bitwise operations.
llvm-svn: 32901
2007-01-05 08:12:59 +00:00
Evan Cheng
4363e884c0 With SSE2, expand FCOPYSIGN to a series of SSE bitwise operations.
llvm-svn: 32900
2007-01-05 07:55:56 +00:00
Chris Lattner
d7b6ea166d Implement InstCombine/vec_shuffle.ll:%test7, simplifying shuffles with
undef operands.

llvm-svn: 32899
2007-01-05 07:36:08 +00:00
Chris Lattner
e4f7c5cf35 new test
llvm-svn: 32898
2007-01-05 07:35:24 +00:00
Chris Lattner
dc1e33ace7 manually upgrade this testcase
llvm-svn: 32897
2007-01-05 07:34:41 +00:00
Chris Lattner
17c7c030c2 fold things like a^b != c^a -> b != c. This implements InstCombine/xor.ll:test27
llvm-svn: 32893
2007-01-05 03:04:57 +00:00
Chris Lattner
130fff0d03 new testcase
llvm-svn: 32892
2007-01-05 03:03:51 +00:00
Chris Lattner
54ea1ec249 llvm upgrade doesn't accept 'define'
llvm-svn: 32891
2007-01-05 03:03:27 +00:00
Chris Lattner
23eb8ec78b Compile X + ~X to -1. This implements Instcombine/add.ll:test34
llvm-svn: 32890
2007-01-05 02:17:46 +00:00
Chris Lattner
ce0f91ebd6 new testcase
llvm-svn: 32889
2007-01-05 02:16:36 +00:00
Evan Cheng
8ec5283dc4 GEP subscript is interpreted as a signed value.
llvm-svn: 32888
2007-01-05 01:46:20 +00:00
Reid Spencer
92c671e77e Correct the documentation for function declarations. They can have dllimport
or extern_weak linkage as well as "externally visible".

llvm-svn: 32887
2007-01-05 00:59:10 +00:00
Chris Lattner
a0e341f429 add missing flags
llvm-svn: 32885
2007-01-04 23:18:14 +00:00
Chris Lattner
96035bed51 fix PowerPC/2007-01-04-ArgExtension.ll, a bug handling K&R prototypes with
the recent signless changes.

llvm-svn: 32884
2007-01-04 22:22:37 +00:00
Chris Lattner
447a9dd56e new testcase
llvm-svn: 32883
2007-01-04 22:22:07 +00:00
Chris Lattner
bc5cc2e7fa Fix broken links, reported by Baptiste Lepilleur
llvm-svn: 32882
2007-01-04 22:01:45 +00:00
Evan Cheng
003feb03d5 Expand fcopysign to a series of bitwise of operations when it's profitable to
do so.

llvm-svn: 32881
2007-01-04 21:56:39 +00:00
Chris Lattner
c205585943 regenerate
llvm-svn: 32880
2007-01-04 18:46:42 +00:00
Chris Lattner
a0058929bc If we hit a parse error, emit something bad to the output stream. This ensures that
llvm-upgrade < foo | llvm-as | llvm-dis

will fail if llvm-upgrade fails.

llvm-svn: 32879
2007-01-04 18:45:51 +00:00
Reid Spencer
8392ed123a Document this tool as experimental and list its deficiencies.
llvm-svn: 32878
2007-01-04 17:55:11 +00:00
Chris Lattner
11c822d053 remove the 'protected' workaround now that we don't care about gcc 2.95 anymore.
Reid already did this for FunctionType, this just cleans the rest up.

llvm-svn: 32877
2007-01-04 17:50:42 +00:00
Chris Lattner
354a911b90 remove xfailed test that depends on obsolete argument to lli
llvm-svn: 32876
2007-01-04 17:47:42 +00:00
Reid Spencer
2c3d9e64b7 Remove a manual renaming of a variable that was introduced before
llvm-upgrade could properly handle collapsed type planes.

llvm-svn: 32875
2007-01-04 16:46:46 +00:00
Reid Spencer
3e628eb989 Clean up usage of "unsigned" and "signed" in the documentation to indicate
only that specific instructions regard their operands as signed and
unsigned not that the operands *are* signed or unsigned.

llvm-svn: 32874
2007-01-04 16:43:23 +00:00
Lauro Ramos Venancio
4464d208de Add test for constructor and destructor sections.
llvm-svn: 32873
2007-01-04 14:41:33 +00:00
Lauro Ramos Venancio
697f86bbe3 Add extload(i1) test.
llvm-svn: 32872
2007-01-04 14:27:21 +00:00
Lauro Ramos Venancio
8c45da0664 Add test for FCOPYSIGN.
llvm-svn: 32871
2007-01-04 14:24:32 +00:00
Lauro Ramos Venancio
7284073ec2 Expand SELECT (f32/f64) and FCOPYSIGN (f32/f64).
llvm-svn: 32870
2007-01-04 14:01:38 +00:00
Bill Wendling
4d95e91eca Removed reference to "cnull" because typical users shouldn't need to use
it.

llvm-svn: 32869
2007-01-04 08:38:04 +00:00
Chris Lattner
424d4dc713 ding dong llvm-gcc3 is dead
llvm-svn: 32868
2007-01-04 07:08:27 +00:00
Chris Lattner
13ce918505 gcc 4.1.1 on amd64 is broken
llvm-svn: 32867
2007-01-04 07:06:05 +00:00
Reid Spencer
6ff3e73db6 Death to useless bitcast instructions!
llvm-svn: 32866
2007-01-04 05:23:51 +00:00