- Feb 08, 2010
-
-
Chris Lattner authored
llvm-svn: 95593
-
Dan Gohman authored
its current purpose. llvm-svn: 95564
-
- Feb 06, 2010
-
-
Evan Cheng authored
Do not emit callseq instructions around sibcalls. This eliminated some unnecessary stack adjustments. llvm-svn: 95475
-
- Feb 05, 2010
-
-
Chris Lattner authored
llvm-svn: 95408
-
Chris Lattner authored
TSFlags directly instead of a TargetInstrDesc. llvm-svn: 95405
-
Evan Cheng authored
llvm-svn: 95351
-
- Feb 04, 2010
-
-
Evan Cheng authored
llvm-svn: 95295
-
Evan Cheng authored
Indirect tail call has to go through a call preserved register since it's after callee register pops. X86 isel lowering is using EAX / R11 and it was somehow adding that to function live out. That prevented the real function return register from being added to the function live out list and bad things happen. This fixes 483.xalancbmk (with tail call opt). llvm-svn: 95280
-
- Feb 03, 2010
-
-
Evan Cheng authored
Speculatively disable x86 automatic tail call optimization while we track down a self-hosting issue. llvm-svn: 95259
-
Evan Cheng authored
Allow all types of callee's to be tail called. But avoid automatic tailcall if the callee is a result of bitcast to avoid losing necessary zext / sext etc. llvm-svn: 95195
-
Evan Cheng authored
ByVal frame object size should be that of the byval argument, not the size of the type which is just a pointer. This is not known to break stuff but is wrong nevertheless. llvm-svn: 95163
-
Evan Cheng authored
llvm-svn: 95160
-
- Feb 02, 2010
-
-
Evan Cheng authored
llvm-svn: 95130
-
Evan Cheng authored
where callee's arguments are already in the caller's own caller's stack and they line up perfectly. e.g. extern int foo(int a, int b, int c); int bar(int a, int b, int c) { return foo(a, b, c); } llvm-svn: 95053
-
- Feb 01, 2010
-
-
Evan Cheng authored
llvm-svn: 95017
-
Evan Cheng authored
llvm-svn: 94970
-
- Jan 31, 2010
-
-
Evan Cheng authored
llvm-svn: 94949
-
Evan Cheng authored
llvm-svn: 94946
-
- Jan 30, 2010
-
-
Evan Cheng authored
llvm-svn: 94873
-
- Jan 29, 2010
-
-
Evan Cheng authored
llvm-svn: 94804
-
- Jan 28, 2010
-
-
Evan Cheng authored
Fix a bug introduced by r94490 where it created a X86ISD::CMP whose output type is different from its inputs. This fixes PR6146. llvm-svn: 94731
-
- Jan 27, 2010
-
-
Evan Cheng authored
even when -tailcallopt is not specified and it does not require changing ABI. First case is the most trivial one. Perform tail call optimization when both the caller and callee do not return values and when the callee does not take any input arguments. llvm-svn: 94664
-
Evan Cheng authored
Target independent isel should always pass along the "tail call" property. Change target hook LowerCall's parameter "isTailCall" into a refernce. If the target decides it's impossible to honor the tail call request, it should set isTailCall to false to make target independent isel happy. llvm-svn: 94626
-
Evan Cheng authored
llvm-svn: 94610
-
- Jan 26, 2010
-
-
Evan Cheng authored
llvm-svn: 94583
-
Evan Cheng authored
llvm-svn: 94570
-
Chris Lattner authored
which is more convenient, and change getPICJumpTableRelocBaseExpr to take a MachineFunction to match. Next, move the X86 code that create a PICBase symbol to X86TargetLowering::getPICBaseSymbol from X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific library. This eliminates a 'gross hack', and allows us to implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now calls it. This in turn allows us to eliminate the X86AsmPrinter::printPICJumpTableSetLabel method, which was the only overload of printPICJumpTableSetLabel. llvm-svn: 94526
-
Chris Lattner authored
jump table entry kind, instead of overloading AsmPrinter::printPICJumpTableEntry. This has a pretty horrible and inefficient FIXME around how @GOTOFF is currently smashed into the mcsymbol name, but otherwise this is much cleaner. llvm-svn: 94516
-
Evan Cheng authored
llvm-svn: 94490
-
Chris Lattner authored
entries with @GOTOFF whih is EK_GPRel32BlockAddress. llvm-svn: 94474
-
- Jan 25, 2010
-
-
Chris Lattner authored
even on x86-32/elf which uses a GOT. llvm-svn: 94439
-
- Jan 24, 2010
-
-
Mon P Wang authored
the alignment allows. Fixed a bug where we didn't use a vector load/store for PR5626. llvm-svn: 94338
-
- Jan 23, 2010
-
-
Eric Christopher authored
stack may be misaligned. Update test accordingly. Patch by Evan Cheng! llvm-svn: 94291
-
- Jan 15, 2010
-
-
Dan Gohman authored
llvm-svn: 93563
-
- Jan 11, 2010
-
-
Benjamin Kramer authored
- getToken is modeled after StringRef::split but it can split on multiple separator chars and skips leading seperators. - SplitString is a StringRef::split variant for more than 2 elements with the same behaviour as getToken. llvm-svn: 93161
-
- Jan 09, 2010
-
-
http://llvm.org/PR5729Jeffrey Yasskin authored
R11, and then asserting that the target was in R9. Since R9 isn't reserved for the target anymore, and is used as an argument, this patch changes the assertion. llvm-svn: 93065
-
Evan Cheng authored
Fix a critical bug in 64-bit atomic operation lowering for 32-bit. The results of the cmpxchg8b instructions are being thrown away when it branches back to the top of the checking loop. This means the loop always compares against the old value and this can result in a dead lock. llvm-svn: 93028
-
- Jan 08, 2010
-
-
Evan Cheng authored
llvm-svn: 93020
-
- Jan 07, 2010
-
-
Evan Cheng authored
Fix a minor regression from my dag combiner changes. One more place which needs to look pass truncates. llvm-svn: 92885
-
- Jan 06, 2010
-
-
Evan Cheng authored
(OP (trunc x), (trunc y)) -> (trunc (OP x, y)) Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel. This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places. llvm-svn: 92849
-