Reid Spencer [Fri, 5 Jan 2007 17:18:58 +0000 (17:18 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32906
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 5 Jan 2007 17:07:23 +0000 (17:07 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32905
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 5 Jan 2007 17:06:19 +0000 (17:06 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32904
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 5 Jan 2007 16:45:06 +0000 (16:45 +0000)]
Give the assembler some input.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32903
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Jan 2007 08:32:24 +0000 (08:32 +0000)]
Typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32902
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Jan 2007 08:12:59 +0000 (08:12 +0000)]
Add a test case for SSE fcopysign using SSE bitwise operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32901
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Jan 2007 07:55:56 +0000 (07:55 +0000)]
With SSE2, expand FCOPYSIGN to a series of SSE bitwise operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32900
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Jan 2007 07:36:08 +0000 (07:36 +0000)]
Implement InstCombine/vec_shuffle.ll:%test7, simplifying shuffles with
undef operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32899
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Jan 2007 07:35:24 +0000 (07:35 +0000)]
new test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32898
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Jan 2007 07:34:41 +0000 (07:34 +0000)]
manually upgrade this testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32897
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Jan 2007 03:04:57 +0000 (03:04 +0000)]
fold things like a^b != c^a -> b != c. This implements InstCombine/xor.ll:test27
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32893
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Jan 2007 03:03:51 +0000 (03:03 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32892
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Jan 2007 03:03:27 +0000 (03:03 +0000)]
llvm upgrade doesn't accept 'define'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32891
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Jan 2007 02:17:46 +0000 (02:17 +0000)]
Compile X + ~X to -1. This implements Instcombine/add.ll:test34
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 5 Jan 2007 02:16:36 +0000 (02:16 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32889
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 5 Jan 2007 01:46:20 +0000 (01:46 +0000)]
GEP subscript is interpreted as a signed value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32888
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 5 Jan 2007 00:59:10 +0000 (00:59 +0000)]
Correct the documentation for function declarations. They can have dllimport
or extern_weak linkage as well as "externally visible".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32887
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 23:18:14 +0000 (23:18 +0000)]
add missing flags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 22:22:37 +0000 (22:22 +0000)]
fix PowerPC/2007-01-04-ArgExtension.ll, a bug handling K&R prototypes with
the recent signless changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 22:22:07 +0000 (22:22 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 22:01:45 +0000 (22:01 +0000)]
Fix broken links, reported by Baptiste Lepilleur
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32882
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 4 Jan 2007 21:56:39 +0000 (21:56 +0000)]
Expand fcopysign to a series of bitwise of operations when it's profitable to
do so.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 18:46:42 +0000 (18:46 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32880
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 18:45:51 +0000 (18:45 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32879
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 17:55:11 +0000 (17:55 +0000)]
Document this tool as experimental and list its deficiencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 17:50:42 +0000 (17:50 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32877
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 17:47:42 +0000 (17:47 +0000)]
remove xfailed test that depends on obsolete argument to lli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32876
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 16:46:46 +0000 (16:46 +0000)]
Remove a manual renaming of a variable that was introduced before
llvm-upgrade could properly handle collapsed type planes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32875
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 16:43:23 +0000 (16:43 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32874
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Thu, 4 Jan 2007 14:41:33 +0000 (14:41 +0000)]
Add test for constructor and destructor sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32873
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Thu, 4 Jan 2007 14:27:21 +0000 (14:27 +0000)]
Add extload(i1) test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32872
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Thu, 4 Jan 2007 14:24:32 +0000 (14:24 +0000)]
Add test for FCOPYSIGN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32871
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Thu, 4 Jan 2007 14:01:38 +0000 (14:01 +0000)]
Expand SELECT (f32/f64) and FCOPYSIGN (f32/f64).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32870
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 4 Jan 2007 08:38:04 +0000 (08:38 +0000)]
Removed reference to "cnull" because typical users shouldn't need to use
it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 07:08:27 +0000 (07:08 +0000)]
ding dong llvm-gcc3 is dead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32868
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 07:06:05 +0000 (07:06 +0000)]
gcc 4.1.1 on amd64 is broken
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32867
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 05:23:51 +0000 (05:23 +0000)]
Death to useless bitcast instructions!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32866
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 05:22:18 +0000 (05:22 +0000)]
Do not allow packed types for icmp and fcmp instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32865
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 05:19:58 +0000 (05:19 +0000)]
icmp and fcmp do not take packed type operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32864
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 03:06:23 +0000 (03:06 +0000)]
XFAIL this test until such time that code gen can handle a comparison of
packed types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32863
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 02:57:52 +0000 (02:57 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32862
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 02:57:22 +0000 (02:57 +0000)]
Disallow packed types in icmp/fcmp instructions. The code generator is
not prepared to handle them yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32861
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 02:15:37 +0000 (02:15 +0000)]
Now that setcondinst has been eliminated, we can mark Value::SubclassID
const and remove the ugly mutator methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32860
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 02:13:20 +0000 (02:13 +0000)]
fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32859
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 02:12:40 +0000 (02:12 +0000)]
Enable a couple xforms for packed vectors (undef | v) -> -1 for packed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32858
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 01:56:39 +0000 (01:56 +0000)]
fix some bugs handling vectors, avoid host-specific handling of undefined shift results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32857
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 4 Jan 2007 01:49:26 +0000 (01:49 +0000)]
Add a new ConstantPacked::getAllOnesValue method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32856
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 4 Jan 2007 01:27:03 +0000 (01:27 +0000)]
Enable new pass manager, which was accidentally disabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32855
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 00:29:09 +0000 (00:29 +0000)]
Add a test to ensure that we can assembly comparisons of packed values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32854
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 00:06:14 +0000 (00:06 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32853
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 00:05:48 +0000 (00:05 +0000)]
Permit icmp and fcmp to have packed operands.
Make an error message a little more useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32852
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 4 Jan 2007 00:03:37 +0000 (00:03 +0000)]
Test @zext and @sext fully as well as testing the "short" call syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32851
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 23:54:02 +0000 (23:54 +0000)]
Add a test case to test parameter attributes feature.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32850
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 23:47:29 +0000 (23:47 +0000)]
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
Reid Spencer [Wed, 3 Jan 2007 23:45:42 +0000 (23:45 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32848
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 23:45:17 +0000 (23:45 +0000)]
Implement many new type features including upreferences, proper retention
of structure contents, counts of packed and array types, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32847
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 23:43:55 +0000 (23:43 +0000)]
Finish implementation of variable renaming to handle collapsed type planes
by correctly handling up references and enumerated types. Previously there
was some confusion of these two. Thanks to Chris Lattner for demistifying
llvm up references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32846
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 3 Jan 2007 22:37:27 +0000 (22:37 +0000)]
The previous implementation of LLVM Streams wasn't removing symbols. This
one should.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32845
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 20:59:52 +0000 (20:59 +0000)]
Fix a configure warning noticed by Duncan Sands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32844
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 19:56:14 +0000 (19:56 +0000)]
Remove the find_rule label from the output of flex. This will break any
use of the REJECT macro but we don't use it. This just hushes up a warning
in the presence of -Wno-unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32843
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 3 Jan 2007 19:12:31 +0000 (19:12 +0000)]
fix testcase. It's not safe to strictly evaluate a load that should be lazy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32842
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 3 Jan 2007 18:16:48 +0000 (18:16 +0000)]
Private labels start with .L on linux, not just .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32841
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 17:24:59 +0000 (17:24 +0000)]
Fix a comment that referred to the now defunct ubyte type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32840
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 17:24:11 +0000 (17:24 +0000)]
Remove two useless bit casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32839
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 17:03:48 +0000 (17:03 +0000)]
It is no longer permissible to have undefined types in function parameters.
Just fix it by defining the type as opaque.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32838
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 17:01:18 +0000 (17:01 +0000)]
Fix this test case. It is no longer permissible to have undefined types
in function parameters. Fix by just defining the type as opaque.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32837
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 16:49:33 +0000 (16:49 +0000)]
Legalizer doesn't do an ANY_EXTEND if we don't ask for one so make sure
that we default to an ANY_EXTEND if no parameter attribute is set on the
result value of a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32836
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 3 Jan 2007 13:46:20 +0000 (13:46 +0000)]
NULL names should pass validation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32835
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 3 Jan 2007 13:36:40 +0000 (13:36 +0000)]
Silence warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32834
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 3 Jan 2007 11:43:14 +0000 (11:43 +0000)]
Really big cleanup.
- New target type "mingw" was introduced
- Same things for both mingw & cygwin are marked as "cygming" (as in
gcc)
- .lcomm is supported here, so allow LLVM to use it
- Correctly use underscored versions of setjmp & _longjmp for both mingw
& cygwin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32833
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 3 Jan 2007 07:44:30 +0000 (07:44 +0000)]
A bit more debugging printf's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32832
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 05:03:05 +0000 (05:03 +0000)]
Restore previous behavior of defaulting to ZEXT. This works around two
things: (1) preventing PR1071 and (2) working around missing parameter
attributes for bool type. (2) will be fixed shortly. When PR1071 is fixed,
this patch should be undone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32831
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 04:25:33 +0000 (04:25 +0000)]
Two changes:
1. Switch expression and cases are compared signed and are sign extended.
2. For function results needing extended, do SIGN_EXTEND if the SExtAttribute
is set and ZERO_EXTEND if the ZExtAttribute is set, otherwise just let
the Legalizer do ANY_EXTEND.
This fixes the recent regression in kimwitu++ and probably the llvm-gcc
bootstrap issue we had today.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32830
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 04:22:32 +0000 (04:22 +0000)]
Clean up from recent changes. Comment the new parameter to ExpandLibCall.
Consolidate some lines of code and remove duplication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32829
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 3 Jan 2007 04:20:23 +0000 (04:20 +0000)]
Fix this test cases to use parameter attributes for its parameter and
result types. These tests are checking for sext behavior and it won't
happen unless requested with the parameter attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32828
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 3 Jan 2007 00:11:03 +0000 (00:11 +0000)]
Vectors are not supported by ConstantInt::getAllOnesValue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32827
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 21:56:26 +0000 (21:56 +0000)]
This test case previously passed the assembler without error even though
it used an undefined type name as a parameter argument. This bug in the
assembler has been fixed and it is now necessary to define the type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32826
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 21:54:12 +0000 (21:54 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32825
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 21:53:43 +0000 (21:53 +0000)]
Implement checking for unresolved types in the argument types and result
type of function definitions.
This fixes test/Regression/Assember/2007-01-02-Undefined-Arg-Type.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32824
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 2 Jan 2007 21:33:40 +0000 (21:33 +0000)]
Fix naming inconsistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32823
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 2 Jan 2007 21:31:15 +0000 (21:31 +0000)]
- Fixing naming inconsistency: calleesave -> calleesaved.
- Make use of spillCalleeSavedRegisters() and restoreCalleeSavedRegisters().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32822
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 2 Jan 2007 21:30:17 +0000 (21:30 +0000)]
Fix naming inconsistency: calleesave -> calleesaved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32821
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 2 Jan 2007 20:55:17 +0000 (20:55 +0000)]
Add virtual method spillCalleeSaveRegisters() and restoreCalleeSaveRegisters()
to MRegisterInfo. These allow the target to issue instructions to spill and
restore callee saved registers in case where individual stores / loads aren't
the correct / profitable choice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32820
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 20:47:51 +0000 (20:47 +0000)]
Add a test case for abstract parameter and result types in function
definitions. The assembler should produce an error on this input.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32819
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 2 Jan 2007 11:53:52 +0000 (11:53 +0000)]
PR1068 - Unbounded array debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32818
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 06:34:08 +0000 (06:34 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32817
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 06:33:02 +0000 (06:33 +0000)]
Permit signed and unsigned integer constants to be used with either signed
or unsigned integer types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32816
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 05:55:05 +0000 (05:55 +0000)]
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
Reid Spencer [Tue, 2 Jan 2007 05:53:06 +0000 (05:53 +0000)]
For PR1070:
Revert previous patch now that llvm-upgrade can handle collapsed type
plane conversion properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32814
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 05:50:11 +0000 (05:50 +0000)]
Manually upgrade this test case to make sure that the new cast-to-bool
semantics are retained.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32813
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 05:48:32 +0000 (05:48 +0000)]
For PR1070:
Add a test case to ensure that llvm-upgrade retains correct semantics
for the previous definition of "cast to bool" which compared against null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32812
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 05:45:11 +0000 (05:45 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32811
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 05:44:33 +0000 (05:44 +0000)]
For PR1070:
Revise the upgrade parser to keep track of types more faithfully and use
this information to resolve name conflicts resulting from collapsed type
planes. The type planes have collapsed because the integer types are now
signless so that uint and int became i32. Where two planes existed for uint
and int, only i32 exists. Any variable names depending on the type planes
to pmake the identifier unique would cause a conflict. This patch resolves
that conflict for many but not all cases.
Situations involving the integer types and pointers to them are handled
by this patch. However, there are corner cases that are not handled
well, such as:
%t1 = type { uint, int }
%t2 = type { int, uint }
void %myfunc(%t1* one, %t2* two) {
%var = load %t1* one
%var = load %t2* two
}
In the scenario above, %t1 and %t2 are really the same type: { i32, i32 }
Consequently attempting to name %var twice will yield a redefinition error
when assembled.
While this patch is sufficien to allow the llvm/test suite to pass, More
work needs to be to complete the handling of these corner cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32810
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 04:30:40 +0000 (04:30 +0000)]
Reverse last patch, committed by accident.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32809
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 04:19:32 +0000 (04:19 +0000)]
Fix this test case to be legal. There is no ubyte %tmp ever defined!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32808
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 2 Jan 2007 02:08:27 +0000 (02:08 +0000)]
Add some convenience functions for getting the source and destination
types from any Cast instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32807
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 1 Jan 2007 01:22:53 +0000 (01:22 +0000)]
Back out last revision now that llvm-upgrade can remove useless bitcasts.
This serves as a test of that feature.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32806
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 1 Jan 2007 01:20:41 +0000 (01:20 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32805
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 1 Jan 2007 01:20:16 +0000 (01:20 +0000)]
For PR1070:
Remove useless bitcasts by commenting them out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32804
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 22:26:06 +0000 (22:26 +0000)]
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32803
91177308-0d34-0410-b5e6-
96231b3b80d8