- Feb 27, 2007
-
-
Reid Spencer authored
2. Rewrite operator=(const APInt& RHS) to allow the RHS to be a different bit width than the LHS. This makes it possible to use APInt as the key of a DenseMap, as needed for the IntConstants map in Constants.cpp 3. Fix operator=(uint64_t) to clear unused bits in case the client assigns a value that has more bits than the APInt allows. 4. Assert that bit widths are equal in operator== 5. Revise getHashValue() to put the bit width in the low order six bits. This should help to make i1 0, i2 0, ... i64 0 all distinct in the IntConstants DenseMap. llvm-svn: 34646
-
- Feb 26, 2007
-
-
Evan Cheng authored
llvm-svn: 34645
-
Reid Spencer authored
llvm-svn: 34643
-
Reid Spencer authored
Fix toString use of getValue to use getZExtValue() llvm-svn: 34642
-
Reid Spencer authored
ConstantInt better. 2. Add a getHashValue() method. llvm-svn: 34641
-
Devang Patel authored
llvm-svn: 34640
-
Chris Lattner authored
llvm-svn: 34639
-
Devang Patel authored
llvm-svn: 34638
-
Chris Lattner authored
llvm-svn: 34637
-
Chris Lattner authored
conventions. This doesn't do anything yet, but may in the future. llvm-svn: 34636
-
Reid Spencer authored
easier to comprehend and might be useful elsewhere. llvm-svn: 34635
-
Reid Spencer authored
llvm-svn: 34634
-
Chris Lattner authored
llvm-svn: 34633
-
Chris Lattner authored
llvm-svn: 34632
-
Chris Lattner authored
mechanics that process it. I'm still not happy with this, but it's a step in the right direction. llvm-svn: 34631
-
Reid Spencer authored
llvm-svn: 34630
-
Reid Spencer authored
2. Fix countTrailingZeros to use a faster algorithm. 3. Simplify sext() slightly by using isNegative(). 4. Implement ashr using word-at-a-time logic instead of bit-at-a-time 5. Rename locals named isNegative so they don't clash with method name. 6. Fix fromString to compute negated value correctly. llvm-svn: 34629
-
Chris Lattner authored
llvm-svn: 34628
-
Chris Lattner authored
llvm-svn: 34627
-
Chris Lattner authored
llvm-svn: 34626
-
Chris Lattner authored
llvm-svn: 34625
-
Chris Lattner authored
llvm-svn: 34624
-
Chris Lattner authored
Capture this so that downstream zext/sext's are optimized out. This compiles: int test(short X) { return (int)X; } to: _test: movl %edi, %eax ret instead of: _test: movswl %di, %eax ret GCC produces this bizarre code: _test: movw %di, -12(%rsp) movswl -12(%rsp),%eax ret llvm-svn: 34623
-
Chris Lattner authored
llvm-svn: 34622
-
Chris Lattner authored
sextinreg if not needed. This is useful in two cases: before legalize, it avoids creating a sextinreg that will be trivially removed. After legalize if the target doesn't support sextinreg, the trunc/sext would not have been removed before. llvm-svn: 34621
-
Chris Lattner authored
llvm-svn: 34620
-
Reid Spencer authored
This is much less expensive than a test against zero. llvm-svn: 34619
-
Reid Spencer authored
This makes it much more efficient. llvm-svn: 34618
-
Reid Spencer authored
llvm-svn: 34617
-
Reid Spencer authored
2. Implement the trunc, sext, and zext operations. 3. Improve fromString to accept negative values as input. llvm-svn: 34616
-
Chris Lattner authored
void foo(short); void bar(unsigned short A) { foo(A); } into: _bar: subq $8, %rsp movswl %di, %edi call _foo addq $8, %rsp ret instead of: _bar: subq $8, %rsp call _foo addq $8, %rsp ret Testcase here: test/CodeGen/X86/x86-64-shortint.ll llvm-svn: 34615
-
Chris Lattner authored
llvm-svn: 34614
-
- Feb 25, 2007
-
-
Chris Lattner authored
night: fastcc returns should only go in XMM0 if we have SSE2 or above. llvm-svn: 34613
-
Chris Lattner authored
llvm-svn: 34612
-
Chris Lattner authored
llvm-svn: 34611
-
Jim Laskey authored
llvm-svn: 34610
-
Jim Laskey authored
llvm-svn: 34609
-
Chris Lattner authored
exprs hanging off a global, even if the global is not otherwise dead. This requires some tricky iterator gymnastics. This implements Transforms/GlobalOpt/constantexpr-dangle.ll by deleting a constantexpr that made it appear that the address of the function was taken. llvm-svn: 34608
-
Chris Lattner authored
llvm-svn: 34607
-
Chris Lattner authored
llvm-svn: 34606
-