- Jan 12, 2007
-
-
Evan Cheng authored
llvm-svn: 33114
-
Reid Spencer authored
Implement the arbitrary bit-width integer feature. The feature allows integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 16, 32, and 64 bit integers. This change does several things: 1. Introduces a new Derived Type, IntegerType, to represent the number of bits in an integer. The Type classes SubclassData field is used to store the number of bits. This allows 2^23 bits in an integer type. 2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and 64-bit integers. These are replaced with just IntegerType which is not a primitive any more. 3. Adjust the rest of LLVM to account for this change. Note that while this incremental change lays the foundation for arbitrary bit-width integers, LLVM has not yet been converted to actually deal with them in any significant way. Most optimization passes, for example, will still only deal with the byte-width integer types. Future increments will rectify this situation. llvm-svn: 33113
-
Reid Spencer authored
recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. llvm-svn: 33110
-
- Jan 11, 2007
-
-
Reid Spencer authored
llvm-svn: 33076
-
Zhou Sheng authored
Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
-
- Jan 10, 2007
-
-
Reid Spencer authored
llvm-svn: 33051
-
Reid Spencer authored
in the bytecode writer library. This helps with debugging. llvm-svn: 33050
-
- Jan 09, 2007
-
-
Reid Spencer authored
Invert the "isSigned" logic in calls to printType and printPrimitiveType. We want variables to be declared unsigned by default so that signless operators like + and - perform the unsigned operation that LLVM expects by default. Parameters with the sext attribute will be declared signed and signed instructions will case operand values to signed regardless of the type of the variable. This passes all tests and fixes PR1099. llvm-svn: 33039
-
Reid Spencer authored
Partial fix for this PR. Default function parameters to signed integer, just like everything else in CBE. The bug was caused by incorrectly introducing parameter attributes feature by choosing "signed" parameter if the SExtAttribute was specified. Howeer, if no attribute is specified, this causes it to become unsigned which is incorrect. Reversing the logic so that signedness is detected by "not ZExtAttribute" set fixes the issue. This fixes 197.parser but there is more to do. Any comparison and possibly other operators involving arguments may need to correctly cast the parameter before its use, depending on the sign of the operator. llvm-svn: 33034
-
- Jan 08, 2007
-
-
Reid Spencer authored
Clean up the definitions of the helper functions per Chris' review suggestions so they are easier to read. For PR1091: Print minimum signed integer values as unsigned so that we get no warnings from the C compiler about constant ranges and value comparisons. llvm-svn: 33010
-
Reid Spencer authored
Implemented some llvm_fcmp_{pred} functions at the start of the function bodies and use them for fcmp instructions and constant expressions. These help implement the ordered and unordered comparisons necessary for correct exectuion of these comparisons. llvm-svn: 33007
-
- Jan 07, 2007
-
-
Chris Lattner authored
llvm-svn: 32983
-
Reid Spencer authored
Parameter attributes do have to be specially handled in the CBE. Implement their handling. llvm-svn: 32976
-
Anton Korobeynikov authored
llvm-svn: 32969
-
- Jan 06, 2007
-
-
Chris Lattner authored
broken invites bug reports. llvm-svn: 32961
-
Anton Korobeynikov authored
gnu.linkonce.t.FunctionName). Convert them to "normal" LLVM names, otherwise linker won't be able to merge them. llvm-svn: 32958
-
Reid Spencer authored
Take an incremental step towards type plane elimination. This change separates types from values in the symbol tables by finally making use of the TypeSymbolTable class. This yields more natural interfaces for dealing with types and unclutters the SymbolTable class. llvm-svn: 32956
-
Chris Lattner authored
llvm-svn: 32945
-
Evan Cheng authored
llvm-svn: 32941
-
- Jan 05, 2007
-
-
Evan Cheng authored
or'ing in the sign bit of operand 1. - Tweaking: rather than left shift the sign bit, fp_extend operand 1 first before taking its sign bit if its type is smaller than that of operand 0. llvm-svn: 32932
-
Evan Cheng authored
llvm-svn: 32902
-
Evan Cheng authored
llvm-svn: 32900
-
- Jan 04, 2007
-
-
Lauro Ramos Venancio authored
llvm-svn: 32870
-
- Jan 03, 2007
-
-
Chris Lattner authored
llvm-svn: 32842
-
Chris Lattner authored
llvm-svn: 32841
-
Reid Spencer authored
llvm-svn: 32840
-
Reid Spencer authored
llvm-svn: 32839
-
Anton Korobeynikov authored
- 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
-
- Jan 02, 2007
-
-
Evan Cheng authored
llvm-svn: 32823
-
- Dec 31, 2006
-
-
Rafael Espindola authored
patch by Lauro bug fixed by me llvm-svn: 32795
-
Reid Spencer authored
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. llvm-svn: 32788
-
- Dec 29, 2006
-
-
Rafael Espindola authored
llvm-svn: 32767
-
- Dec 28, 2006
-
-
Lauro Ramos Venancio authored
llvm-svn: 32763
-
Lauro Ramos Venancio authored
llvm-svn: 32762
-
Rafael Espindola authored
bug noticed by Lauro llvm-svn: 32761
-
- Dec 26, 2006
-
-
Lauro Ramos Venancio authored
arm. llvm-svn: 32760
-
- Dec 23, 2006
-
-
Reid Spencer authored
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
-
- Dec 22, 2006
-
-
Anton Korobeynikov authored
type for distinguish JIT & non-JIT instead of "dirty" hacks :) llvm-svn: 32745
-
Chris Lattner authored
llvm-svn: 32741
-
- Dec 21, 2006
-
-
Chris Lattner authored
llvm-svn: 32740
-