31724 Commits

Author SHA1 Message Date
Reid Spencer
438f562e56 Do not allow packed types for icmp and fcmp instructions.
llvm-svn: 32865
2007-01-04 05:22:18 +00:00
Reid Spencer
784ef79b55 icmp and fcmp do not take packed type operands.
llvm-svn: 32864
2007-01-04 05:19:58 +00:00
Reid Spencer
1434f95410 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
494289f70e Regenerate.
llvm-svn: 32862
2007-01-04 02:57:52 +00:00
Reid Spencer
8a1be97a9e 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
f96f4492e0 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
858f4e9362 fix typo
llvm-svn: 32859
2007-01-04 02:13:20 +00:00
Chris Lattner
806adafd95 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
26f13eb1f3 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
ecab54cfc0 Add a new ConstantPacked::getAllOnesValue method
llvm-svn: 32856
2007-01-04 01:49:26 +00:00
Devang Patel
2f0b276731 Enable new pass manager, which was accidentally disabled.
llvm-svn: 32855
2007-01-04 01:27:03 +00:00
Reid Spencer
836567a9d8 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
ca3d1cb840 Regenerate.
llvm-svn: 32853
2007-01-04 00:06:14 +00:00
Reid Spencer
4eda71eec1 Permit icmp and fcmp to have packed operands.
Make an error message a little more useful.

llvm-svn: 32852
2007-01-04 00:05:48 +00:00
Reid Spencer
6fb16b1bce Test @zext and @sext fully as well as testing the "short" call syntax.
llvm-svn: 32851
2007-01-04 00:03:37 +00:00
Reid Spencer
724ffc6cd0 Add a test case to test parameter attributes feature.
llvm-svn: 32850
2007-01-03 23:54:02 +00:00
Reid Spencer
db879b6013 Update test cases that grepped for register names that have now changed
as a result of llvm-upgrade handling collapsed type planes better.

llvm-svn: 32849
2007-01-03 23:47:29 +00:00
Reid Spencer
844c7121c7 Regenerate.
llvm-svn: 32848
2007-01-03 23:45:42 +00:00
Reid Spencer
66ed21c213 Implement many new type features including upreferences, proper retention
of structure contents, counts of packed and array types, etc.

llvm-svn: 32847
2007-01-03 23:45:17 +00:00
Reid Spencer
c13fac5526 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.

llvm-svn: 32846
2007-01-03 23:43:55 +00:00
Bill Wendling
4ec17c3951 The previous implementation of LLVM Streams wasn't removing symbols. This
one should.

llvm-svn: 32845
2007-01-03 22:37:27 +00:00
Reid Spencer
bf671f17cb Fix a configure warning noticed by Duncan Sands.
llvm-svn: 32844
2007-01-03 20:59:52 +00:00
Reid Spencer
b8f3fe8ec5 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.

llvm-svn: 32843
2007-01-03 19:56:14 +00:00
Chris Lattner
f9cf05370f fix testcase. It's not safe to strictly evaluate a load that should be lazy.
llvm-svn: 32842
2007-01-03 19:12:31 +00:00
Chris Lattner
4889a7af36 Private labels start with .L on linux, not just .
llvm-svn: 32841
2007-01-03 18:16:48 +00:00
Reid Spencer
e87b5e9825 Fix a comment that referred to the now defunct ubyte type.
llvm-svn: 32840
2007-01-03 17:24:59 +00:00
Reid Spencer
fb4070521a Remove two useless bit casts.
llvm-svn: 32839
2007-01-03 17:24:11 +00:00
Reid Spencer
95c466a52b It is no longer permissible to have undefined types in function parameters.
Just fix it by defining the type as opaque.

llvm-svn: 32838
2007-01-03 17:03:48 +00:00
Reid Spencer
98fd5eb48c Fix this test case. It is no longer permissible to have undefined types
in function parameters. Fix by just defining the type as opaque.

llvm-svn: 32837
2007-01-03 17:01:18 +00:00
Reid Spencer
e6f81876eb 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.

llvm-svn: 32836
2007-01-03 16:49:33 +00:00
Jim Laskey
7601f2f36e NULL names should pass validation.
llvm-svn: 32835
2007-01-03 13:46:20 +00:00
Jim Laskey
751314fab9 Silence warning.
llvm-svn: 32834
2007-01-03 13:36:40 +00:00
Anton Korobeynikov
4efbbc963f 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

llvm-svn: 32833
2007-01-03 11:43:14 +00:00
Evan Cheng
a50e3919b1 A bit more debugging printf's.
llvm-svn: 32832
2007-01-03 07:44:30 +00:00
Reid Spencer
2a34b91666 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.

llvm-svn: 32831
2007-01-03 05:03:05 +00:00
Reid Spencer
0917adf614 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.

llvm-svn: 32830
2007-01-03 04:25:33 +00:00
Reid Spencer
791864c6a5 Clean up from recent changes. Comment the new parameter to ExpandLibCall.
Consolidate some lines of code and remove duplication.

llvm-svn: 32829
2007-01-03 04:22:32 +00:00
Reid Spencer
a6fda18b13 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.

llvm-svn: 32828
2007-01-03 04:20:23 +00:00
Jim Laskey
c4ba9c161b Vectors are not supported by ConstantInt::getAllOnesValue.
llvm-svn: 32827
2007-01-03 00:11:03 +00:00
Reid Spencer
ab2fccd9eb 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.

llvm-svn: 32826
2007-01-02 21:56:26 +00:00
Reid Spencer
87622ae03d Regenerate.
llvm-svn: 32825
2007-01-02 21:54:12 +00:00
Reid Spencer
6130ae0000 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

llvm-svn: 32824
2007-01-02 21:53:43 +00:00
Evan Cheng
74b46e8c05 Fix naming inconsistency.
llvm-svn: 32823
2007-01-02 21:33:40 +00:00
Evan Cheng
92484c2aa4 - Fixing naming inconsistency: calleesave -> calleesaved.
- Make use of spillCalleeSavedRegisters() and restoreCalleeSavedRegisters().

llvm-svn: 32822
2007-01-02 21:31:15 +00:00
Evan Cheng
07140c22c7 Fix naming inconsistency: calleesave -> calleesaved.
llvm-svn: 32821
2007-01-02 21:30:17 +00:00
Evan Cheng
f43d679951 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.

llvm-svn: 32820
2007-01-02 20:55:17 +00:00
Reid Spencer
42a1cb7c0c Add a test case for abstract parameter and result types in function
definitions. The assembler should produce an error on this input.

llvm-svn: 32819
2007-01-02 20:47:51 +00:00
Jim Laskey
a131cf78ad PR1068 - Unbounded array debug info.
llvm-svn: 32818
2007-01-02 11:53:52 +00:00
Reid Spencer
03c80e72d1 Regenerate.
llvm-svn: 32817
2007-01-02 06:34:08 +00:00
Reid Spencer
77283c18a1 Permit signed and unsigned integer constants to be used with either signed
or unsigned integer types.

llvm-svn: 32816
2007-01-02 06:33:02 +00:00