- May 19, 2011
-
-
Cameron Zwarich authored
on CodeGen/X86/2007-05-07-InvokeSRet.ll. There is probably a bug here that was fixed by r128961, but since there is no test or reference to a source file I have to revert it. llvm-svn: 131618
-
- May 18, 2011
-
-
Duncan Sands authored
Original log entry: Refactor getActionType and getTypeToTransformTo ; place all of the 'decision' code in one place. llvm-svn: 131536
-
Nadav Rotem authored
code in one place. llvm-svn: 131534
-
Jakob Stoklund Olesen authored
llvm-svn: 131524
-
Jakob Stoklund Olesen authored
The 'last use' may not be in the same basic block, and we still want a correct live range. llvm-svn: 131523
-
Jakob Stoklund Olesen authored
LiveInterval::shrinkToUses recomputes the live range from scratch instead of removing snippets. This should avoid the problem with dangling live ranges. Leave physreg identity copies alone. They can be created when joining a virtreg with a physreg. They don't affect register allocation, and they will be removed by the rewriter. llvm-svn: 131521
-
Eli Friedman authored
Make fast-isel miss counting in -stats and -fast-isel-verbose take terminators into account; since there are many fewer isel misses with recent changes, misses caused by terminators are more significant. llvm-svn: 131502
-
Dan Gohman authored
llvm-svn: 131497
-
Dan Gohman authored
llvm-svn: 131495
-
- May 17, 2011
-
-
Stuart Hastings authored
llvm-svn: 131469
-
Stuart Hastings authored
passed as the fifth parameter, insure it's passed correctly (in R9). rdar://problem/6920088 llvm-svn: 131467
-
Jakob Stoklund Olesen authored
The greedy register allocator has live range splitting and register class inflation, so it can actually fully undo this join, including restoring the original register classes. We still don't want to do this for long live ranges, mostly because of the high register pressure of there are many constrained live ranges overlapping. llvm-svn: 131466
-
Jakob Stoklund Olesen authored
When instructions are deleted, they leave tombstone SlotIndex entries. The isZeroLength method should ignore these null indexes. This causes RABasic to sometimes spill a callee-saved register in the abi-isel.ll test, so don't run that test with -regalloc=basic. Prioritizing register allocation according to spill weight can cause more registers to be used. llvm-svn: 131436
-
Dan Gohman authored
llvm-svn: 131430
-
Dan Gohman authored
llvm-svn: 131429
-
Dan Gohman authored
llvm-svn: 131428
-
- May 16, 2011
-
-
Jim Grosbach authored
misses. llvm-svn: 131426
-
Devang Patel authored
Radar 9422775. llvm-svn: 131422
-
Eli Friedman authored
llvm-svn: 131420
-
Eli Friedman authored
llvm-svn: 131419
-
Eli Friedman authored
Basic fast-isel of extractvalue. Not too helpful on its own, given the IR clang generates for cases like this, but it should become more useful soon. llvm-svn: 131417
-
Rafael Espindola authored
corrupted when setjmp returns again. llvm-svn: 131399
-
- May 14, 2011
-
-
Eli Friedman authored
Fix a FIXME by moving the fast-isel implementation of the objectsize intrinsic from the x86 code to the generic code. llvm-svn: 131332
-
- May 13, 2011
-
-
Rafael Espindola authored
to fix PR9900. I will keep it open until sable is able to comment on it. llvm-svn: 131294
-
Stuart Hastings authored
simplified version. <rdar://problem/9298790> llvm-svn: 131274
-
Stuart Hastings authored
rdar://problem/9298790 llvm-svn: 131269
-
Stuart Hastings authored
by non-CMP expressions. The executable test case (129821) would test this as well, if we had an "-O0 -disable-arm-fast-isel" LLVM-GCC tester. Alas, the ARM assembly would be very difficult to check with FileCheck. The thumb2-cbnz.ll test is affected; it generates larger code (tst.w vs. cmp #0), but I believe the new version is correct. rdar://problem/9298790 llvm-svn: 131261
-
Evan Cheng authored
llvm-svn: 131258
-
- May 12, 2011
-
-
Devang Patel authored
s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g llvm-svn: 131244
-
Evan Cheng authored
Re-enable branchfolding common code hoisting optimization. Fixed a liveness test bug and also taught it to update liveins. llvm-svn: 131241
-
Devang Patel authored
Let Objective-C front-end identify class extension, in dwarf output, using an attribute DW_AT_APPLE_objc_class_extension. llvm-svn: 131238
-
Evan Cheng authored
llvm-svn: 131235
-
Evan Cheng authored
markers. In some cases a register def is dead on one path, but not on another. This is passing Clang self-hosting. llvm-svn: 131214
-
- May 11, 2011
-
-
Devang Patel authored
Identify end of prologue (and beginning of function body) using DW_LNS_set_prologue_end line table opcode. llvm-svn: 131194
-
Jakob Stoklund Olesen authored
about to be spilled. This can only happen when two extra snippet registers are included in the spill, and there is a copy between them. Hoisting the spill creates problems because the hoist will mark the copy for later dead code elimination, and spilling the second register will turn the copy into a spill. <rdar://problem/9420853> llvm-svn: 131192
-
Nadav Rotem authored
Fixes a bug in the DAGCombiner. LoadSDNodes have two values (data, chain). If there is a store after the load node, then there is a chain, which means that there is another user. Thus, asking hasOneUser would fail. Instead we ask hasNUsesOfValue on the 'data' value. llvm-svn: 131183
-
Rafael Espindola authored
to provide a reduced testcase. llvm-svn: 131176
-
Bill Wendling authored
intrinsic call. This prevents it from being reordered so that it appears *before* the setjmp intrinsic (thus making it completely useless). <rdar://problem/9409683> llvm-svn: 131174
-
Evan Cheng authored
at the start of basic blocks to their common predecessor. It's actually quite common (e.g. about 50 times in JM/lencod) and has shown to be a nice code size benefit. e.g. pushq %rax testl %edi, %edi jne LBB0_2 ## BB#1: xorb %al, %al popq %rdx ret LBB0_2: xorb %al, %al callq _foo popq %rdx ret => pushq %rax xorb %al, %al testl %edi, %edi je LBB0_2 ## BB#1: callq _foo LBB0_2: popq %rdx ret rdar://9145558 llvm-svn: 131172
-
- May 10, 2011
-
-
Rafael Espindola authored
llvm-svn: 131157
-