Reid Spencer
e1e9aa99ae
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
a6f1f11d07
Regenerate.
...
llvm-svn: 32905
2007-01-05 17:07:23 +00:00
Reid Spencer
4f14887126
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
14db5be69c
Give the assembler some input.
...
llvm-svn: 32903
2007-01-05 16:45:06 +00:00
Evan Cheng
c273c9c830
Typo
...
llvm-svn: 32902
2007-01-05 08:32:24 +00:00
Evan Cheng
818d565b40
Add a test case for SSE fcopysign using SSE bitwise operations.
...
llvm-svn: 32901
2007-01-05 08:12:59 +00:00
Evan Cheng
bcf3d2bd15
With SSE2, expand FCOPYSIGN to a series of SSE bitwise operations.
...
llvm-svn: 32900
2007-01-05 07:55:56 +00:00
Chris Lattner
6cef95214b
Implement InstCombine/vec_shuffle.ll:%test7, simplifying shuffles with
...
undef operands.
llvm-svn: 32899
2007-01-05 07:36:08 +00:00
Chris Lattner
68c36bf43f
new test
...
llvm-svn: 32898
2007-01-05 07:35:24 +00:00
Chris Lattner
2202e966ab
manually upgrade this testcase
...
llvm-svn: 32897
2007-01-05 07:34:41 +00:00
Chris Lattner
79238a345b
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
e423dc395b
new testcase
...
llvm-svn: 32892
2007-01-05 03:03:51 +00:00
Chris Lattner
6cd25f5e1d
llvm upgrade doesn't accept 'define'
...
llvm-svn: 32891
2007-01-05 03:03:27 +00:00
Chris Lattner
f02fdf92a2
Compile X + ~X to -1. This implements Instcombine/add.ll:test34
...
llvm-svn: 32890
2007-01-05 02:17:46 +00:00
Chris Lattner
9075cdd065
new testcase
...
llvm-svn: 32889
2007-01-05 02:16:36 +00:00
Evan Cheng
8d09e52569
GEP subscript is interpreted as a signed value.
...
llvm-svn: 32888
2007-01-05 01:46:20 +00:00
Reid Spencer
2ca3b609dc
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
3f2bfb3c39
add missing flags
...
llvm-svn: 32885
2007-01-04 23:18:14 +00:00
Chris Lattner
45c7c69c77
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
627e21e77b
new testcase
...
llvm-svn: 32883
2007-01-04 22:22:07 +00:00
Chris Lattner
fdc695d04b
Fix broken links, reported by Baptiste Lepilleur
...
llvm-svn: 32882
2007-01-04 22:01:45 +00:00
Evan Cheng
7674a71585
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
6ef6a513f8
regenerate
...
llvm-svn: 32880
2007-01-04 18:46:42 +00:00
Chris Lattner
b3c4e9aa67
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
98fb447ebe
Document this tool as experimental and list its deficiencies.
...
llvm-svn: 32878
2007-01-04 17:55:11 +00:00
Chris Lattner
b0d835856b
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
309a901eb3
remove xfailed test that depends on obsolete argument to lli
...
llvm-svn: 32876
2007-01-04 17:47:42 +00:00
Reid Spencer
2890d2f61a
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
70f0dbeea5
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
8284722e41
Add test for constructor and destructor sections.
...
llvm-svn: 32873
2007-01-04 14:41:33 +00:00
Lauro Ramos Venancio
86c825514f
Add extload(i1) test.
...
llvm-svn: 32872
2007-01-04 14:27:21 +00:00
Lauro Ramos Venancio
c7f5caf1e7
Add test for FCOPYSIGN.
...
llvm-svn: 32871
2007-01-04 14:24:32 +00:00
Lauro Ramos Venancio
078b85bdaa
Expand SELECT (f32/f64) and FCOPYSIGN (f32/f64).
...
llvm-svn: 32870
2007-01-04 14:01:38 +00:00
Bill Wendling
6568e0fb01
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
7355282e63
ding dong llvm-gcc3 is dead
...
llvm-svn: 32868
2007-01-04 07:08:27 +00:00
Chris Lattner
1fc9298de2
gcc 4.1.1 on amd64 is broken
...
llvm-svn: 32867
2007-01-04 07:06:05 +00:00
Reid Spencer
dd9d393e32
Death to useless bitcast instructions!
...
llvm-svn: 32866
2007-01-04 05:23:51 +00:00
Reid Spencer
4b18100144
Do not allow packed types for icmp and fcmp instructions.
...
llvm-svn: 32865
2007-01-04 05:22:18 +00:00
Reid Spencer
9c23bd6133
icmp and fcmp do not take packed type operands.
...
llvm-svn: 32864
2007-01-04 05:19:58 +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
d74df01f8b
Regenerate.
...
llvm-svn: 32862
2007-01-04 02:57:52 +00:00
Reid Spencer
6d0c49f6bd
Disallow packed types in icmp/fcmp instructions. The code generator is
...
not prepared to handle them yet.
llvm-svn: 32861
2007-01-04 02:57:22 +00:00
Chris Lattner
29a821859e
Now that setcondinst has been eliminated, we can mark Value::SubclassID
...
const and remove the ugly mutator methods.
llvm-svn: 32860
2007-01-04 02:15:37 +00:00
Chris Lattner
5eca81644b
fix typo
...
llvm-svn: 32859
2007-01-04 02:13:20 +00:00
Chris Lattner
06b8d30502
Enable a couple xforms for packed vectors (undef | v) -> -1 for packed.
...
llvm-svn: 32858
2007-01-04 02:12:40 +00:00
Chris Lattner
793a771c59
fix some bugs handling vectors, avoid host-specific handling of undefined shift results.
...
llvm-svn: 32857
2007-01-04 01:56:39 +00:00
Chris Lattner
d9342d1db3
Add a new ConstantPacked::getAllOnesValue method
...
llvm-svn: 32856
2007-01-04 01:49:26 +00:00
Devang Patel
6612240497
Enable new pass manager, which was accidentally disabled.
...
llvm-svn: 32855
2007-01-04 01:27:03 +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
878c466bf4
Regenerate.
...
llvm-svn: 32853
2007-01-04 00:06:14 +00:00