#
78c5b7a7 |
| 02-Mar-2010 |
Bill Wendling <isanbard@gmail.com> |
Remove dead parameter passing.
llvm-svn: 97536
|
#
b1af865a |
| 28-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
simplify this code, return only ever has zero or one operands.
llvm-svn: 97408
|
#
19d0b47b |
| 16-Feb-2010 |
Duncan Sands <baldrick@free.fr> |
There are two ways of checking for a given type, for example isa<PointerType>(T) and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris.
llvm-svn: 963
There are two ways of checking for a given type, for example isa<PointerType>(T) and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris.
llvm-svn: 96344
show more ...
|
#
39c6d018 |
| 15-Feb-2010 |
David Greene <greened@obbligato.org> |
Add non-temporal flags and remove an assumption of default arguments.
llvm-svn: 96240
|
#
9dff9bec |
| 15-Feb-2010 |
Duncan Sands <baldrick@free.fr> |
Uniformize the names of type predicates: rather than having isFloatTy and isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris!
llvm-svn: 96223
|
#
45396438 |
| 11-Feb-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use array_pod_sort instead of std::sort for improved code size.
Use SmallVector instead of std::vector for better speed when indirectbr has few successors.
llvm-svn: 95879
|
#
896428d6 |
| 11-Feb-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove duplicate successors from indirectbr instructions before building the machine CFG.
This makes early tail duplication run 60 times faster when compiling the Firefox JavaScript interpreter, see
Remove duplicate successors from indirectbr instructions before building the machine CFG.
This makes early tail duplication run 60 times faster when compiling the Firefox JavaScript interpreter, see PR6186.
llvm-svn: 95831
show more ...
|
#
4a618827 |
| 10-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Fix "the the" and similar typos.
llvm-svn: 95781
|
#
3ebd551a |
| 10-Feb-2010 |
Evan Cheng <evan.cheng@apple.com> |
Emit an error for illegal inline asm constraint (which uses illegal type) rather than asserting.
llvm-svn: 95746
|
#
120cfe23 |
| 08-Feb-2010 |
Dale Johannesen <dalej@apple.com> |
Apply the 95471 fix to SelectionDAGBuilder as well; we can get in here if FastISel gives up in a block. (Actually the two copies of this need to be unified. Later.)
llvm-svn: 95579
|
#
bd374da1 |
| 08-Feb-2010 |
Dan Gohman <gohman@apple.com> |
In guaranteed tailcall mode, don't decline the tailcall optimization for blocks ending in "unreachable".
llvm-svn: 95565
|
#
0a4fa4ca |
| 04-Feb-2010 |
Evan Cheng <evan.cheng@apple.com> |
Fix typo Duncan noticed.
llvm-svn: 95322
|
#
01676f9f |
| 04-Feb-2010 |
Evan Cheng <evan.cheng@apple.com> |
It's too risky to eliminate sext / zext of call results for tail call optimization even if the caller / callee attributes completely match. The callee may have been bitcast'ed (or otherwise lied abou
It's too risky to eliminate sext / zext of call results for tail call optimization even if the caller / callee attributes completely match. The callee may have been bitcast'ed (or otherwise lied about what it's doing).
llvm-svn: 95282
show more ...
|
#
27a41d54 |
| 03-Feb-2010 |
Evan Cheng <evan.cheng@apple.com> |
Revert 94937 and move the noreturn check to codegen.
llvm-svn: 95198
|
#
40905b43 |
| 03-Feb-2010 |
Evan Cheng <evan.cheng@apple.com> |
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
|
#
6f36a083 |
| 02-Feb-2010 |
Evan Cheng <evan.cheng@apple.com> |
Revert 95130.
llvm-svn: 95160
|
#
c1b0116f |
| 02-Feb-2010 |
Evan Cheng <evan.cheng@apple.com> |
Pass callsite return type to TargetLowering::LowerCall and use that to check sibcall eligibility.
llvm-svn: 95130
|
#
f5edeebd |
| 01-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
eliminate a bunch of pointless LLVMContext arguments.
llvm-svn: 95001
|
#
0b30cfc5 |
| 01-Feb-2010 |
Dale Johannesen <dalej@apple.com> |
fix PR 6157. Testcase pending.
llvm-svn: 94996
|
#
954cb187 |
| 28-Jan-2010 |
Bill Wendling <isanbard@gmail.com> |
Assign the ordering of SDNodes in a much less intrusive fashion. After the "visit*" method is called, take the newly created nodes, walk them in a DFS fashion, and if they don't have an ordering set,
Assign the ordering of SDNodes in a much less intrusive fashion. After the "visit*" method is called, take the newly created nodes, walk them in a DFS fashion, and if they don't have an ordering set, then give it one.
llvm-svn: 94757
show more ...
|
#
54c05308 |
| 28-Jan-2010 |
Jim Grosbach <grosbach@apple.com> |
Update of 94055 to track the IR level call site information via an intrinsic. This allows code gen and the exception table writer to cooperate to make sure landing pads are associated with the correc
Update of 94055 to track the IR level call site information via an intrinsic. This allows code gen and the exception table writer to cooperate to make sure landing pads are associated with the correct invoke locations.
llvm-svn: 94726
show more ...
|
#
67a69dd2 |
| 27-Jan-2010 |
Evan Cheng <evan.cheng@apple.com> |
Eliminate target hook IsEligibleForTailCallOptimization.
Target independent isel should always pass along the "tail call" property. Change target hook LowerCall's parameter "isTailCall" into a refer
Eliminate target hook IsEligibleForTailCallOptimization.
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
show more ...
|
#
c35b5a12 |
| 26-Jan-2010 |
Evan Cheng <evan.cheng@apple.com> |
Allow some automatic tailcall optimization without changing ABI.
llvm-svn: 94611
|
#
b6db2c6b |
| 25-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
Rearrange handling of jump tables. Highlights: 1. MachineJumpTableInfo is now created lazily for a function the first time it actually makes a jump table instead of for every function. 2. The enc
Rearrange handling of jump tables. Highlights: 1. MachineJumpTableInfo is now created lazily for a function the first time it actually makes a jump table instead of for every function. 2. The encoding of jump table entries is now described by the MachineJumpTableInfo::JTEntryKind enum. This enum is determined by the TLI::getJumpTableEncoding() hook, instead of by lots of code scattered throughout the compiler that "knows" that jump table entries are always 32-bits in pic mode (for example). 3. The size and alignment of jump table entries is now calculated based on their kind, instead of at machinefunction creation time.
Future work includes using the EntryKind in more places in the compiler, eliminating other logic that "knows" the layout of jump tables in various situations.
llvm-svn: 94470
show more ...
|
#
8cbc25d9 |
| 23-Jan-2010 |
Bill Wendling <isanbard@gmail.com> |
Remove the '-disable-scheduling' flag and replace it with the 'source' option of the '-pre-RA-sched' flag. It actually makes more sense to do it this way. Also, keep track of the SDNode ordering by d
Remove the '-disable-scheduling' flag and replace it with the 'source' option of the '-pre-RA-sched' flag. It actually makes more sense to do it this way. Also, keep track of the SDNode ordering by default. Eventually, we would like to make this ordering a way to break a "tie" in the scheduler. However, doing that now breaks the "CodeGen/X86/abi-isel.ll" test for 32-bit Linux.
llvm-svn: 94308
show more ...
|