- Jul 27, 2003
-
-
Chris Lattner authored
llvm-svn: 7349
-
Chris Lattner authored
llvm-svn: 7348
-
Chris Lattner authored
llvm-svn: 7347
-
Chris Lattner authored
llvm-svn: 7345
-
Chris Lattner authored
llvm-svn: 7344
-
Chris Lattner authored
llvm-svn: 7343
-
Chris Lattner authored
llvm-svn: 7342
-
Chris Lattner authored
llvm-svn: 7341
-
Chris Lattner authored
llvm-svn: 7340
-
- Jul 25, 2003
-
-
Vikram S. Adve authored
Single and FP double reg types (which share the same reg class). Now all methods marking/finding unused regs consider the regType within the reg class, and SparcFloatRegClass specializes this code. (2) Remove machine-specific regalloc. methods that are no longer needed. In particular, arguments and return value from a call do not need machine-specific code for allocation. (3) Rename TargetRegInfo::getRegType variants to avoid unintentional overloading when an include file is omitted. llvm-svn: 7334
-
Vikram S. Adve authored
causing a nasty array bound error later. 2. Fix silly typo causing logical shift of unsigned long to use SRL instead of SRLX. llvm-svn: 7330
-
Vikram S. Adve authored
info (since multiple reg types may share the same reg class). (2) Remove machine-specific regalloc. methods that are no longer needed. In particular, arguments and return value from a call do not need machine-specific code for allocation. (3) Rename TargetRegInfo::getRegType variants to avoid unintentional overloading when an include file is omitted. llvm-svn: 7329
-
Vikram S. Adve authored
found to consider regType info (since multiple reg types may share the same reg class, e.g., single and double on Sparc). llvm-svn: 7327
-
Chris Lattner authored
llvm-svn: 7323
-
Chris Lattner authored
llvm-svn: 7322
-
Brian Gaeke authored
<string>, or llvm/Value.h. Move up the inclusion of llvm/Support/Mangler.h. llvm-svn: 7321
-
Brian Gaeke authored
Move up the inclusion of llvm/Support/Mangler.h. llvm-svn: 7320
-
- Jul 24, 2003
-
-
Brian Gaeke authored
Mangler.cpp: Constify parameter to makeNameProper, and use const_iterator. Make Count an unsigned int, and use utostr(). Don't name parameters things that start with underscore. Mangler.h: All of the above, and also: Add Emacs mode-line. Include <set>. llvm-svn: 7301
-
Brian Gaeke authored
into this new support class. llvm-svn: 7300
-
Brian Gaeke authored
SlotCalculator in CWriter. (Unfortunately, all this means a lot of X86/Printer's methods have to be de-constified again. Oh well.) llvm-svn: 7299
-
Chris Lattner authored
llvm-svn: 7295
-
Chris Lattner authored
Now it shoudl be a bit more efficient llvm-svn: 7292
-
Brian Gaeke authored
llvm-svn: 7291
-
Chris Lattner authored
of codes. For example, short kernel (short t1) { t1 >>= 8; t1 <<= 8; return t1; } became: short %kernel(short %t1.1) { %tmp.3 = shr short %t1.1, ubyte 8 ; <short> [#uses=1] %tmp.5 = cast short %tmp.3 to int ; <int> [#uses=1] %tmp.7 = shl int %tmp.5, ubyte 8 ; <int> [#uses=1] %tmp.8 = cast int %tmp.7 to short ; <short> [#uses=1] ret short %tmp.8 } before, now it becomes: short %kernel(short %t1.1) { %tmp.3 = shr short %t1.1, ubyte 8 ; <short> [#uses=1] %tmp.8 = shl short %tmp.3, ubyte 8 ; <short> [#uses=1] ret short %tmp.8 } which will become: short %kernel(short %t1.1) { %tmp.3 = and short %t1.1, 0xFF00 ret short %tmp.3 } This implements cast-set.ll:test4 and test5 llvm-svn: 7290
-
Chris Lattner authored
llvm-svn: 7289
-
Brian Gaeke authored
doFinalization too except that would have made them shadow, not override, the parent class :-P. Allow *any* constant cast expression between pointers and longs, or vice-versa, or any widening (not just same-size) conversion that isLosslesslyConvertibleTo approves. This fixes oopack. llvm-svn: 7288
-
Chris Lattner authored
This fixes a long time annoyance which caused prototypes for bzero, bcopy, bcmp, fputs, and fputs_unlocked to never get deleted. Grr. llvm-svn: 7285
-
- Jul 23, 2003
-
-
Chris Lattner authored
llvm-svn: 7283
-
Chris Lattner authored
- InstCombine: (X & C1) ^ C2 --> (X & C1) | C2 iff (C1&C2) == 0 - InstCombine: (X | C1) ^ C2 --> (X | C1) & ~C2 iff (C1&C2) == C2 llvm-svn: 7282
-
Chris Lattner authored
llvm-svn: 7276
-
Brian Gaeke authored
Printer::doFinalization() out in the cold. Now we pass in a TargetMachine to Printer's constructor and get the TargetData from the TargetMachine. Don't pass TargetMachine or MRegisterInfo objects around in the Printer. Constify TargetData references. X86.h: Update comment and prototype of createX86CodePrinterPass(). X86TargetMachine.cpp: Update callers of createX86CodePrinterPass(). llvm-svn: 7275
-
Chris Lattner authored
one function of the same name llvm-svn: 7274
-
Chris Lattner authored
llvm-svn: 7273
-
Chris Lattner authored
llvm-svn: 7272
-
Chris Lattner authored
- InstCombine: (X | C) & C --> C - InstCombine: (X | C1) & C2 --> (X | (C1&C2)) & C2 llvm-svn: 7269
-
Brian Gaeke authored
Stop passing ostreams around: we already have one perfectly good ostream and we can all share it. Stop stashing a pointer to TargetData in the Pass object, because that will lead to a crash if there are no functions in the module (ouch!) Instead, use addRequired() and getAnalysis(), like we always should have done. Move the check for ConstantExpr up before the check for isPrimitiveType, because we need to be able to catch e.g. ubyte (cast bool false to ubyte), whose type is primitive but which is nevertheless a ConstantExpr, by calling our specialized handler instead of the AsmWriter. This would result in assembler errors when we would try to output something like ".byte (cast bool false to ubyte)". GC some unused variable declarations. llvm-svn: 7265
-
Chris Lattner authored
IC: (X ^ C1) | C2 --> (X | C2) ^ (C1&~C2) We are now guaranteed that all 'or's will be inside of 'and's, and all 'and's will be inside of 'xor's, if the second operands are constants. llvm-svn: 7264
-
Chris Lattner authored
Minor code cleanup llvm-svn: 7262
-
Chris Lattner authored
llvm-svn: 7260
-
Chris Lattner authored
IC: (X | 8) == 4 --> false llvm-svn: 7257
-