Commit Graph

28584 Commits

Author SHA1 Message Date
Reid Spencer d30fd1d723 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.

llvm-svn: 32775
2006-12-31 05:20:51 +00:00
Nick Lewycky bfe93dfdd8 Typo.
llvm-svn: 32774
2006-12-31 03:44:08 +00:00
Reid Spencer 96edbd5c07 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.

llvm-svn: 32773
2006-12-30 16:31:02 +00:00
Reid Spencer dc0a3a2fd2 Regenerate.
llvm-svn: 32772
2006-12-29 20:35:03 +00:00
Reid Spencer 0a53afe5ba 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

llvm-svn: 32771
2006-12-29 20:33:37 +00:00
Reid Spencer 7ce2d2a8fe 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.

llvm-svn: 32770
2006-12-29 20:29:48 +00:00
Reid Spencer 399b10a48c Run llvm-upgrade on test to prepare for new assembly syntax.
llvm-svn: 32769
2006-12-29 20:21:51 +00:00
Reid Spencer 640509924e Update tests that need to be run through llvm-upgrade. This is necessary
for upcoming changes to the llvm assembly grammar.

llvm-svn: 32768
2006-12-29 20:01:32 +00:00
Rafael Espindola 64493fb30d fix comment
llvm-svn: 32767
2006-12-29 14:28:12 +00:00
Reid Spencer c48b0c714d Make a variable private now that the conditions requiring it to be
protected have been removed.

llvm-svn: 32766
2006-12-29 04:12:03 +00:00
Reid Spencer 4b880acf07 Doxygenify a comment.
llvm-svn: 32765
2006-12-29 04:10:59 +00:00
Reid Spencer c329a4e9cc Preview of new calling conventions: cextcc and csretextcc to handle explicit
sign and zero extension in function calls.

llvm-svn: 32764
2006-12-28 16:55:55 +00:00
Lauro Ramos Venancio 8ab8f7df6f Define StaticCtorsSection and StaticDtorsSection for ARM.
llvm-svn: 32763
2006-12-28 13:13:00 +00:00
Lauro Ramos Venancio 7251e57ff8 Implement SELECT_CC (f32/f64) for ARM.
llvm-svn: 32762
2006-12-28 13:11:14 +00:00
Rafael Espindola 865b979833 remove duplicated line
bug noticed by Lauro

llvm-svn: 32761
2006-12-28 12:51:40 +00:00
Lauro Ramos Venancio d0ced3f1e8 This patch defines extloadi1 and fixes an internal compiler error on
arm.

llvm-svn: 32760
2006-12-26 19:30:42 +00:00
Reid Spencer 9d36acf9ec 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.

llvm-svn: 32759
2006-12-24 18:52:08 +00:00
Reid Spencer b15374974d Fix some comments.
llvm-svn: 32758
2006-12-24 18:42:29 +00:00
Reid Spencer 193df25eb9 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.

llvm-svn: 32757
2006-12-24 00:40:59 +00:00
Reid Spencer 910f23f7d7 Shut up some compilers that can't accurately analyze variable usage
correctly and emit "may be used uninitialized" warnings.

llvm-svn: 32756
2006-12-23 19:17:57 +00:00
Reid Spencer 208099bbee Test case for PR1065.
llvm-svn: 32755
2006-12-23 19:14:10 +00:00
Reid Spencer 9aad39af4f Add some documentation to make Nick happy.
llvm-svn: 32754
2006-12-23 19:06:54 +00:00
Reid Spencer 43c77d53ff For PR1065:
Don't allow CmpInst instances to be processed in FoldSelectOpOp because
you can't easily swap their operands.

llvm-svn: 32753
2006-12-23 18:58:04 +00:00
Reid Spencer ccf78ac1d0 Don't overload var names.
llvm-svn: 32752
2006-12-23 10:21:26 +00:00
Reid Spencer 266e42b312 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.

llvm-svn: 32751
2006-12-23 06:05:41 +00:00
Chris Lattner f171af97d5 add a simple fast-path for dead allocas
llvm-svn: 32750
2006-12-22 23:14:42 +00:00
Devang Patel cdd9807cba Enable new pass manager. 2nd attempt.
llvm-svn: 32749
2006-12-22 22:55:30 +00:00
Devang Patel f5a994e5cc ModulePass and ImmutablePass. Force out of line virtual method.
llvm-svn: 32748
2006-12-22 22:49:00 +00:00
Chris Lattner 70e09a2148 add a generic component to this test
llvm-svn: 32747
2006-12-22 22:48:44 +00:00
Chris Lattner b3fbcbea8f let this pass for ppc/linux
llvm-svn: 32746
2006-12-22 22:38:38 +00:00
Anton Korobeynikov 430e68a1b9 Refactored JIT codegen for mingw32. Now we're using standart relocation
type for distinguish JIT & non-JIT instead of "dirty" hacks :)

llvm-svn: 32745
2006-12-22 22:29:05 +00:00
Jim Laskey d7a090ffc4 Need to walk the derived chain of typedefs to get actual size.
llvm-svn: 32744
2006-12-22 20:03:42 +00:00
Evan Cheng 763550323d Debug dump error.
llvm-svn: 32743
2006-12-22 02:04:05 +00:00
Reid Spencer 87fbf70789 Ignore the LibDeps.txt.tmp file.
llvm-svn: 32742
2006-12-22 02:02:45 +00:00
Chris Lattner 959113a5c8 add a note
llvm-svn: 32741
2006-12-22 01:03:22 +00:00
Chris Lattner 5cfa5ef912 Fix for ARM weak symbols, patch by Lauro Ramos Venancio!
llvm-svn: 32740
2006-12-21 22:59:58 +00:00
Reid Spencer b68935a947 Add a new variable, LLVMGCCLIBEXEC to get the libexec directory where the
cc1 and cc1plus executables live.

llvm-svn: 32738
2006-12-21 22:55:41 +00:00
Jim Laskey c4c39aeb1d Grandchildren are covered by protect.
llvm-svn: 32736
2006-12-21 21:24:35 +00:00
Jim Laskey 28663c73ef Changes from Nick Lewycky with a simplified PPCTargetAsmInfo.
llvm-svn: 32735
2006-12-21 20:26:09 +00:00
Reid Spencer ba2297ca7c Integer constants now print out as signed values in the assembly,
regardless of the signedness of the associated type.

llvm-svn: 32734
2006-12-21 19:14:49 +00:00
Reid Spencer 4e0c2a0e41 Just print integer constants as signed values. The actual signedness
doesn't matter as it is determined in the way the constant is used.

llvm-svn: 32733
2006-12-21 19:04:23 +00:00
Reid Spencer cfcec2caac Add a FIXME about signedness.
llvm-svn: 32732
2006-12-21 18:59:16 +00:00
Reid Spencer 6156b02dd3 Simplify all the casting business and get rid of isSigned().
llvm-svn: 32731
2006-12-21 08:28:31 +00:00
Reid Spencer a276d0972c Remove isSigned calls via foreknowledge of main's argument types.
llvm-svn: 32730
2006-12-21 07:49:49 +00:00
Reid Spencer 4720d4d9ef Get rid of a useless if statement whose then and else blocks were identical.
llvm-svn: 32729
2006-12-21 07:15:54 +00:00
Reid Spencer a8a90a2f97 Add some comments about things that can go away once signless types are in.
llvm-svn: 32727
2006-12-21 06:43:46 +00:00
Devang Patel e3068403bd 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.

llvm-svn: 32726
2006-12-21 00:16:50 +00:00
Jim Laskey 39377e4594 These tests all rely on using register mnemonics and thus must behave in the
world of darwin.

llvm-svn: 32725
2006-12-21 00:01:42 +00:00
Jim Laskey 4c90a6df16 Oops.
llvm-svn: 32724
2006-12-20 21:35:00 +00:00
Jim Laskey c2c861d00e Original patch was overly complicated.
llvm-svn: 32723
2006-12-20 21:33:34 +00:00