- Jan 19, 2007
-
-
Evan Cheng authored
GetRegForReload() now keeps track which registers have been considered and rejected during its quest to find a suitable reload register. This avoids an infinite loop in case like this: t1 := op t2, t3 t2 <- assigned r0 for use by the reload but ended up reuse r1 t3 <- assigned r1 for use by the reload but ended up reuse r0 t1 <- desires r1 sees r1 is taken by t2, tries t2's reload register r0 sees r0 is taken by t3, tries t3's reload register r1 sees r1 is taken by t2, tries t2's reload register r0 ... llvm-svn: 33382
-
Reid Spencer authored
This is the final patch for this PR. It implements some minor cleanup in the use of IntegerType, to wit: 1. Type::getIntegerTypeMask -> IntegerType::getBitMask 2. Type::Int*Ty changed to IntegerType* from Type* 3. ConstantInt::getType() returns IntegerType* now, not Type* This also fixes PR1120. Patch by Sheng Zhou. llvm-svn: 33370
-
Evan Cheng authored
(shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2) Replace it with: (add (shl (add x, c1), c2), ) -> (add (add (shl x, c2), c1<<c2), ) This fixes test/CodeGen/ARM/smul.ll llvm-svn: 33361
-
- Jan 18, 2007
-
-
Bill Wendling authored
llvm-svn: 33316
-
Chris Lattner authored
llvm-svn: 33314
-
- Jan 17, 2007
-
-
Bill Wendling authored
writers. llvm-svn: 33311
-
Bill Wendling authored
llvm-svn: 33298
-
Bill Wendling authored
llvm-svn: 33289
-
- Jan 16, 2007
-
-
Chris Lattner authored
careful when folding "c ? load p : load q" that C doesn't reach either load. If so, folding this into load (c ? p : q) will induce a cycle in the graph. llvm-svn: 33251
-
Chris Lattner authored
llvm-svn: 33249
-
Bill Wendling authored
LLVM would miscompile ASM dialects when compiling for PPC. Added dialects for the X86 and PPC backends. It defaults to "0", the first variant of a compound inline asm expression. llvm-svn: 33246
-
- Jan 15, 2007
-
-
Chris Lattner authored
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask. This makes naming much more consistent. For example, there are now no longer any instances of IntegerType that are not considered isInteger! :) llvm-svn: 33225
-
Chris Lattner authored
llvm-svn: 33222
-
- Jan 13, 2007
-
-
Reid Spencer authored
llvm-svn: 33159
-
Reid Spencer authored
llvm-svn: 33158
-
- Jan 12, 2007
-
-
Evan Cheng authored
llvm-svn: 33149
-
Chris Lattner authored
llvm-svn: 33123
-
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
-
Evan Cheng authored
llvm-svn: 33105
-
- 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 09, 2007
-
-
Evan Cheng authored
llvm-svn: 33026
-
Evan Cheng authored
- Fixed bugs in sethi-ullman number computation and priority queue comparison functions. - Separate code that handles priority computation special cases from SU number computation. llvm-svn: 33025
-
Chris Lattner authored
This implements CodeGen/PowerPC/unsafe-math.ll llvm-svn: 33024
-
- Jan 08, 2007
-
-
Jim Laskey authored
llvm-svn: 33022
-
- Jan 07, 2007
-
-
Chris Lattner authored
llvm-svn: 32994
-
Chris Lattner authored
llvm-svn: 32992
-
Chris Lattner authored
Change the interface to Module::getOrInsertFunction to be easier to use,to resolve PR1088, and to help PR411. This simplifies many clients also llvm-svn: 32989
-
- Jan 06, 2007
-
-
Evan Cheng authored
llvm-svn: 32940
-
- Jan 05, 2007
-
-
Evan Cheng authored
before or'ing in the sign bit of operand 1. llvm-svn: 32930
-
Evan Cheng authored
llvm-svn: 32929
-
Evan Cheng authored
llvm-svn: 32888
-
- Jan 04, 2007
-
-
Chris Lattner authored
the recent signless changes. llvm-svn: 32884
-
Evan Cheng authored
do so. llvm-svn: 32881
-
- Jan 03, 2007
-
-
Reid Spencer authored
that we default to an ANY_EXTEND if no parameter attribute is set on the result value of a function. llvm-svn: 32836
-
Jim Laskey authored
llvm-svn: 32835
-
Jim Laskey authored
llvm-svn: 32834
-
Reid Spencer authored
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
-
Reid Spencer authored
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
-