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
Reid Spencer [Sun, 31 Dec 2006 22:24:55 +0000 (22:24 +0000)]
Convert the intrinsic function definitions to use llvm_i32_ty instead of
llvm_uint_ty or llvm_int_ty. Similarly for i8, i16 and i64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32802
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 22:17:01 +0000 (22:17 +0000)]
Fix a cut-and-paste bug for processing of InvokeInst parameter attributes.
The lookup of parameter attributes was offset by two because of the
additional operands in an invoke instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32801
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 21:47:02 +0000 (21:47 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32800
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 21:46:36 +0000 (21:46 +0000)]
Remove an extra semi-colon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32799
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 21:43:30 +0000 (21:43 +0000)]
Fix a bug in comparison of GEP indices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32798
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 21:30:18 +0000 (21:30 +0000)]
Remove documentation of non-existent cextcc and csretextcc calling
conventions as these have been replaced with parameter attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32797
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 21:25:25 +0000 (21:25 +0000)]
Add a missing colon. Noticed by Jeff Cohen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32796
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 31 Dec 2006 18:52:39 +0000 (18:52 +0000)]
implement missing compares
patch by Lauro
bug fixed by me
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32795
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 17:50:33 +0000 (17:50 +0000)]
Fix a bug in getParamAttrs where an invalid value would be returned if the
index passed in was out of range for the number of parameter attributes set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32794
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 07:20:23 +0000 (07:20 +0000)]
One more try on the table formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32793
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 07:18:34 +0000 (07:18 +0000)]
Clean up some typos and formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32792
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 07:07:53 +0000 (07:07 +0000)]
For PR950:
Update for signless integer types:
1. Replace [us]byte with i8
2. Replace [u]short with i16
3. Replace [u]int with i32
4. Replace [u]long with i64
5. Document the "define" keyword and use it in all examples.
6. Document parameter attributes and how they affect function types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32791
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 06:02:26 +0000 (06:02 +0000)]
For PR950:
Convert signed integer types to signless.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32790
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 06:02:00 +0000 (06:02 +0000)]
For PR950:
Update the test suite to accommodate the change from signed integer types
to signless integer types. The changes were of only a few kinds:
1. Make sure llvm-upgrade is run on the source which does the bulk of the
changes automatically.
2. Change things like "grep 'int'" to "grep 'i32'"
3. In several tests bitcasting caused the same name to be reused in the
same type plane. These had to be manually fixed. The fix was (generally)
to leave the bitcast and provide the instruction with a new name. This
should not affect the semantics of the test. In a few cases, the
bitcasts were known to be superfluous and irrelevant to the test case
so they were removed.
4. One test case uses a bytecode file which needed to be updated to the
latest bytecode format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32789
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:55:36 +0000 (05:55 +0000)]
For PR950:
Three changes:
1. Convert signed integer types to signless versions.
2. Implement the @sext and @zext parameter attributes. Previously the
type of an function parameter was used to determine whether it should
be sign extended or zero extended before the call. This information is
now communicated via the function type's parameter attributes.
3. The interface to LowerCallTo had to be changed in order to accommodate
the parameter attribute information. Although it would have been
convenient to pass in the FunctionType itself, there isn't always one
present in the caller. Consequently, a signedness indication for the
result type and for each parameter was provided for in the interface
to this method. All implementations were changed to make the adjustment
necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32788
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:51:36 +0000 (05:51 +0000)]
For PR950:
Convert signed integer types to signless ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32787
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:50:28 +0000 (05:50 +0000)]
For PR950:
Convert signed integer types to signless.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32786
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:48:39 +0000 (05:48 +0000)]
For PR950:
This patch replaces signed integer types with signless ones:
1. [US]Byte -> Int8
2. [U]Short -> Int16
3. [U]Int -> Int32
4. [U]Long -> Int64.
5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion
and other methods related to signedness. In a few places this warranted
identifying the signedness information from other sources.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32785
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:45:57 +0000 (05:45 +0000)]
For PR950:
Don't attempt to parse both the old and new grammars. It is near impossible
to get it right. Remove support for the new define keyword and don't
attempt to insert parameter attributes because there isn't enough
contextual information for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32784
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:44:24 +0000 (05:44 +0000)]
For PR950:
Update for signless integer types and parameter attribute implementation.
Of significant note:
1. This changes the bytecode format yet again.
2. There are 1/2 as many integer type planes (this is a good thing)
3. GEP indices now use only 1 bit to identify their type which means
more GEP instructions won't be relegated to format 0 (size win)
4. Parameter attributes are implemented but currently being stored
verbosely for each function type. Some other day this needs to be
optimized for size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32783
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:40:51 +0000 (05:40 +0000)]
For PR950:
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32782
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:40:12 +0000 (05:40 +0000)]
For PR950:
Major reorganization. This patch introduces the signedness changes for
the new integer types (i8, i16, i32, i64) which replace the old signed
versions (ubyte, sbyte, ushort, short, etc). This patch also implements
the function type parameter attributes feature. Together these conspired
to introduce new reduce/reduce errors into the grammar. Consequently, it
was necessary to introduce a new keyword into the grammar in order to
disambiguate. Without this, yacc would make incorrect shift/reduce and
reduce/reduce decisions and fail to parse the intended assembly.
Changes in assembly:
1. The "implementation" keyword is superfluous but still supported. You
can use it as a sentry which will ensure there are no remaining up
reference types. However, this is optional as those checks are also
performed elsewhere.
2. Parameter attributes are now implemented using an at sign to
indicate the attribute. The attributes are placed after the type
in a function declaration or after the argument value in a function
call. For example:
i8 @sext %myfunc(i16 @zext)
call i8 @sext %myfunc(i16 @zext %someVal)
The facility is available for supporting additional attributes and
they can be combined using the @(attr1,attr2,attr3) syntax. Right
now the only two supported are @sext and @zext
3. Functions must now be defined with the "define" keyword which is
analagous to the "declare" keyword for function declarations. The
introduction of this keyword disambiguates situations where a
named result type is confused with a new type or gvar definition.
For example:
%MyType = type i16
%MyType %func(%MyType) { ... }
With the introduction of optional parameter attributes between
the function name and the function result type, yacc will pick
the wrong rule to reduce unless it is disambiguated with "define"
before the function definition, as in:
define %MyType @zext %func(%MyType %someArg) { ... }
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32781
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:26:44 +0000 (05:26 +0000)]
For PR950:
Change signed integer type names to unsigned equivalents.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32780
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:25:34 +0000 (05:25 +0000)]
For PR950:
Implement signless integer types and FunctionType parameter attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32779
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:24:50 +0000 (05:24 +0000)]
For PR950:
* Change integer type name from signed to signless
* Implement printing of FunctionType parameter attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32778
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:23:18 +0000 (05:23 +0000)]
For PR950:
Change integer type names for signless integer types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32777
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:22:12 +0000 (05:22 +0000)]
For PR950:
Add a new feature to FunctionType, Parameter Attributes. This allows tags
such as "sext" and "zext" to be associated with a faunction's arguments
or return type. This allows signedness information to be carried forward
from the frontend to the backend for arguments and result types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32776
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 31 Dec 2006 05:20:51 +0000 (05:20 +0000)]
For PR950:
Make integer types signless:
Rename [US]Byte->Int8, [U]Short->Int16, [U]Int->Int32, [U]Long->Int64
Remove methods pertaining to sign of integer types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32775
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 31 Dec 2006 03:44:08 +0000 (03:44 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32774
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 30 Dec 2006 16:31:02 +0000 (16:31 +0000)]
When compiling a C or C++ file to assembly, make the assembly output
depend on the compiler. This works around problems in the Stacker runtime
when the CFE changes in such a way that the assembly file needs to be
updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32773
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 29 Dec 2006 20:35:03 +0000 (20:35 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32772
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 29 Dec 2006 20:33:37 +0000 (20:33 +0000)]
For PR950:
Fix several bugs and update for new assembly syntax. Changes made include:
1. Fixing rules for icmp/fcmp instructions to not require a closing paren
at the end. This was a cut-and-paste error from a previous commit.
2. Changing things like Out << " " to Out << ' '
3. Adding the "define" keyword for function definitions
4. Adding support for packed structures
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32771
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 29 Dec 2006 20:29:48 +0000 (20:29 +0000)]
For PR950:
Remove all grammar conflicts from assembly parsing. This change involves:
1. Making the "type" keyword not a primitive type (removes several
reduce/reduce conflicts)
2. Being more specific about which linkage types are allowed for functions
and global variables. In particular "appending" can no longer be
specified for a function. A differentiation was made between the various
internal and external linkage types.
3. Introduced the "define" keyword which is now required when defining a
function. This disambiguates several cases where a named function return
type could get confused with the definition of a new type. Using the
keyword eliminates all shift/reduce conflicts and the remaining
reduce/reduce conflicts.
These changes are necessary to implement the function parameter attributes
that will be introduced soon. Adding the function parameter attributes in
the presence of the shift/reduce and reduce/reduce conflicts led to severe
ambiguities that caused the parser to report syntax errors that needed to
be resolved. This patch resolves them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32770
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 29 Dec 2006 20:21:51 +0000 (20:21 +0000)]
Run llvm-upgrade on test to prepare for new assembly syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32769
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 29 Dec 2006 20:01:32 +0000 (20:01 +0000)]
Update tests that need to be run through llvm-upgrade. This is necessary
for upcoming changes to the llvm assembly grammar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32768
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 29 Dec 2006 14:28:12 +0000 (14:28 +0000)]
fix comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32767
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 29 Dec 2006 04:12:03 +0000 (04:12 +0000)]
Make a variable private now that the conditions requiring it to be
protected have been removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32766
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 29 Dec 2006 04:10:59 +0000 (04:10 +0000)]
Doxygenify a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32765
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 28 Dec 2006 16:55:55 +0000 (16:55 +0000)]
Preview of new calling conventions: cextcc and csretextcc to handle explicit
sign and zero extension in function calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32764
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Thu, 28 Dec 2006 13:13:00 +0000 (13:13 +0000)]
Define StaticCtorsSection and StaticDtorsSection for ARM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32763
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Thu, 28 Dec 2006 13:11:14 +0000 (13:11 +0000)]
Implement SELECT_CC (f32/f64) for ARM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32762
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Dec 2006 12:51:40 +0000 (12:51 +0000)]
remove duplicated line
bug noticed by Lauro
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32761
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Tue, 26 Dec 2006 19:30:42 +0000 (19:30 +0000)]
This patch defines extloadi1 and fixes an internal compiler error on
arm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32760
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 24 Dec 2006 18:52:08 +0000 (18:52 +0000)]
Cleanup ConstantFoldCompareInstruction:
1. Make the arguments const like the other ConstantFold* functions.
2. Clean up evaluateFCmpRelation so it makes sense for floating point.
3. Implement the use of evaluateFCmpRelation to fold floating point CEs
4. Shorten a variable name so more things fit on one line.
5. Fix various comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32759
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 24 Dec 2006 18:42:29 +0000 (18:42 +0000)]
Fix some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32758
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 24 Dec 2006 00:40:59 +0000 (00:40 +0000)]
For PR1066:
Fix this by ensuring that a bitcast is inserted to do sign switching. This
is only temporarily needed as the merging of signed and unsigned is next
on the SignlessTypes plate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32757
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 23 Dec 2006 19:17:57 +0000 (19:17 +0000)]
Shut up some compilers that can't accurately analyze variable usage
correctly and emit "may be used uninitialized" warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32756
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 23 Dec 2006 19:14:10 +0000 (19:14 +0000)]
Test case for PR1065.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32755
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 23 Dec 2006 19:06:54 +0000 (19:06 +0000)]
Add some documentation to make Nick happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32754
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 23 Dec 2006 18:58:04 +0000 (18:58 +0000)]
For PR1065:
Don't allow CmpInst instances to be processed in FoldSelectOpOp because
you can't easily swap their operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32753
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 23 Dec 2006 10:21:26 +0000 (10:21 +0000)]
Don't overload var names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32752
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 23 Dec 2006 06:05:41 +0000 (06:05 +0000)]
For PR950:
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32751
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Dec 2006 23:14:42 +0000 (23:14 +0000)]
add a simple fast-path for dead allocas
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32750
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 22 Dec 2006 22:55:30 +0000 (22:55 +0000)]
Enable new pass manager. 2nd attempt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32749
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 22 Dec 2006 22:49:00 +0000 (22:49 +0000)]
ModulePass and ImmutablePass. Force out of line virtual method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32748
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Dec 2006 22:48:44 +0000 (22:48 +0000)]
add a generic component to this test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32747
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Dec 2006 22:38:38 +0000 (22:38 +0000)]
let this pass for ppc/linux
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32746
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 22 Dec 2006 22:29:05 +0000 (22:29 +0000)]
Refactored JIT codegen for mingw32. Now we're using standart relocation
type for distinguish JIT & non-JIT instead of "dirty" hacks :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32745
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 22 Dec 2006 20:03:42 +0000 (20:03 +0000)]
Need to walk the derived chain of typedefs to get actual size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32744
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 22 Dec 2006 02:04:05 +0000 (02:04 +0000)]
Debug dump error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32743
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 22 Dec 2006 02:02:45 +0000 (02:02 +0000)]
Ignore the LibDeps.txt.tmp file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Dec 2006 01:03:22 +0000 (01:03 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32741
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Dec 2006 22:59:58 +0000 (22:59 +0000)]
Fix for ARM weak symbols, patch by Lauro Ramos Venancio!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32740
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Dec 2006 22:55:41 +0000 (22:55 +0000)]
Add a new variable, LLVMGCCLIBEXEC to get the libexec directory where the
cc1 and cc1plus executables live.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32738
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 21 Dec 2006 21:24:35 +0000 (21:24 +0000)]
Grandchildren are covered by protect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32736
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 21 Dec 2006 20:26:09 +0000 (20:26 +0000)]
Changes from Nick Lewycky with a simplified PPCTargetAsmInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32735
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Dec 2006 19:14:49 +0000 (19:14 +0000)]
Integer constants now print out as signed values in the assembly,
regardless of the signedness of the associated type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32734
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Dec 2006 19:04:23 +0000 (19:04 +0000)]
Just print integer constants as signed values. The actual signedness
doesn't matter as it is determined in the way the constant is used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32733
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Dec 2006 18:59:16 +0000 (18:59 +0000)]
Add a FIXME about signedness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32732
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Dec 2006 08:28:31 +0000 (08:28 +0000)]
Simplify all the casting business and get rid of isSigned().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32731
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Dec 2006 07:49:49 +0000 (07:49 +0000)]
Remove isSigned calls via foreknowledge of main's argument types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32730
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Dec 2006 07:15:54 +0000 (07:15 +0000)]
Get rid of a useless if statement whose then and else blocks were identical.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32729
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Dec 2006 06:43:46 +0000 (06:43 +0000)]
Add some comments about things that can go away once signless types are in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32727
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 21 Dec 2006 00:16:50 +0000 (00:16 +0000)]
At the beginning of run, initialize analyis info availability for _ALL_
pass managers. Otherwise, stale available analysis info, from the managers not
yet run, may cause pass manager to take wrong turn.
This fixes CBE test failures reported by nightly tester.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32726
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Thu, 21 Dec 2006 00:01:42 +0000 (00:01 +0000)]
These tests all rely on using register mnemonics and thus must behave in the
world of darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32725
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 20 Dec 2006 21:35:00 +0000 (21:35 +0000)]
Oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32724
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 20 Dec 2006 21:33:34 +0000 (21:33 +0000)]
Original patch was overly complicated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32723
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Dec 2006 21:20:13 +0000 (21:20 +0000)]
Fix Regression/Verifier/invoke-1.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32722
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 20 Dec 2006 20:56:46 +0000 (20:56 +0000)]
Changes to target powerpc for non-Darwin assemblers.
1. Patches from Nick Lewycky.
2. Code to filter register names and print them as numeric values on
non-Darwin systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32721
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 20 Dec 2006 20:40:30 +0000 (20:40 +0000)]
Fixed 80 cols & style violation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32720
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 20 Dec 2006 19:57:07 +0000 (19:57 +0000)]
Enable old pass manager. New pass manager causes CBE failures in llvm-test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32719
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Dec 2006 19:50:15 +0000 (19:50 +0000)]
Revert the previous patch which was incorrect. This unbreaks eon, but rebreaks
invoke-1.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32718
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 20 Dec 2006 17:27:58 +0000 (17:27 +0000)]
Add some tests for negative constants to unsigned and large positive
constants to signed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32717
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 20 Dec 2006 17:20:09 +0000 (17:20 +0000)]
Allow negative constants for unsigned integers and unsigned constants
greater than MAX_INT64 for signed integers. This is now valid and is just
waiting for the distinction between signed and unsigned to go away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32716
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Dec 2006 06:21:33 +0000 (06:21 +0000)]
handle undef values much more carefully: generalize the resolveundefbranches
code to handle instructions as well, so that we properly fold things like
X & undef -> 0.
This fixes Transforms/SCCP/2006-12-19-UndefBug.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32715
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Dec 2006 06:20:23 +0000 (06:20 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32714
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Dec 2006 04:23:36 +0000 (04:23 +0000)]
fix a typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32713
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 20 Dec 2006 01:27:29 +0000 (01:27 +0000)]
getLoad() and getStore() calls missed SVOffset operand. Thanks to Dan Gohman
for pointing it out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32712
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 20 Dec 2006 01:03:20 +0000 (01:03 +0000)]
Fixed dllimported symbols support during JIT'ing. JIT on mingw32
platform should be more or less workable. At least, sim is running fine
under lli :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Dec 2006 23:17:40 +0000 (23:17 +0000)]
eliminate constructor from Statistic class. It is now impossible to get a
static constructor for them :). Transition complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32710
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Dec 2006 23:16:47 +0000 (23:16 +0000)]
switch statistics over to not use static ctors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32709
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 19 Dec 2006 23:12:09 +0000 (23:12 +0000)]
Remove documentation for isSigned and isUnsigned methods of Type class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32708
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Dec 2006 23:03:41 +0000 (23:03 +0000)]
switch statistic over, remove misspelt comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32704
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Dec 2006 22:59:26 +0000 (22:59 +0000)]
eliminate static ctors for Statistic objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32703
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Dec 2006 22:56:53 +0000 (22:56 +0000)]
elimiante Statistic static ctors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32702
91177308-0d34-0410-b5e6-
96231b3b80d8