- Feb 26, 2007
-
-
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
-
Chris Lattner authored
llvm-svn: 34605
-
Chris Lattner authored
llvm-svn: 34604
-
Reid Spencer authored
2. Move comments for methods to .h file, delete them in .cpp file. 3. All places that were doing manual clear of high order bits now call the clearUnusedBits() method in order to not depend on undefined behavior of the >> operator when the number of bits shifted equals the word size. 4. Reduced # of loc by using the new result of clearUnusedBits() method. 5. Simplified logic (decreased indentation) in a few places. 6. Added code comments to larger functions that needed them. 7. Added FIXME notes about weak implementations of things (e.g. bit-by-bit shift right is sub-optimal). llvm-svn: 34603
-
Reid Spencer authored
when the bit size is equal to the word size. This happens to work out okay on x86, but might not on other platforms. The change just detects when there are no bits to clear (because BitWidth is a multiple of the word size) and returns early. Also, move some comments from .cpp file into header. llvm-svn: 34602
-
Chris Lattner authored
external symbols and global addresses. Add the missing ones. one important workaround: PPCISD::CALL is matched by both PPCcall_ELF and PPCcall_Macho, disable the _ELF patterns for now. llvm-svn: 34601
-
Chris Lattner authored
llvm-svn: 34600
-
Chris Lattner authored
llvm-svn: 34599
-
Dale Johannesen authored
llvm-svn: 34598
-