- Jun 19, 2012
-
-
Rafael Espindola authored
TargetLoweringObjectFileELF. Use this to support it on X86. Unlike ARM, on X86 it is not easy to find out if .init_array should be used or not, so the decision is made via TargetOptions and defaults to off. Add a command line option to llc that enables it. llvm-svn: 158692
-
Manman Ren authored
This change is to be enabled in clang. rdar://9877866 llvm-svn: 158684
-
- Jun 18, 2012
-
-
Hal Finkel authored
This patch changes the type used to hold the FU bitset from unsigned to uint64_t. This will be needed for some upcoming PowerPC itineraries. llvm-svn: 158679
-
Jim Grosbach authored
The NOP, WFE, WFI, SEV and YIELD instructions are all hints w/ a different immediate value in bits [7,0]. Define a generic HINT instruction and refactor NOP, WFI, WFI, SEV and YIELD to be assembly aliases of that. rdar://11600518 llvm-svn: 158674
-
Joel Jones authored
when a compile time constant is known. This occurs when implicitly zero extending function arguments from 16 bits to 32 bits. The 8 bit case doesn't need to be handled, as the 8 bit constants are encoded directly, thereby not needing a separate load instruction to form the constant into a register. <rdar://problem/11481151> llvm-svn: 158659
-
Chandler Carruth authored
This patch causes problems when both dynamic stack realignment and dynamic allocas combine in the same function. With this patch, we no longer build the epilog correctly, and silently restore registers from the wrong position in the stack. Thanks to Matt for tracking this down, and getting at least an initial test case to Chad. I'm going to try to check a variation of that test case in so we can easily track the fixes required. llvm-svn: 158654
-
- Jun 16, 2012
-
-
Hal Finkel authored
This cleans up the method used to find trip counts in order to form CTR loops on PPC. This refactoring allows the pass to find loops which have a constant trip count but also happen to end with a comparison to zero. This also adds explicit FIXMEs to mark two different classes of loops that are currently ignored. In addition, we now search through all potential induction operations instead of just the first. Also, we check the predicate code on the conditional branch and abort the transformation if the code is not EQ or NE, and we then make sure that the branch to be transformed matches the condition register defined by the comparison (multiple possible comparisons will be considered). llvm-svn: 158607
-
Kay Tiong Khoo authored
llvm-svn: 158603
-
NAKAMURA Takumi authored
llvm-svn: 158602
-
Kevin Enderby authored
iaspr, espr and xpsr which also needed to have 0b10 in their mask encoding bits. llvm-svn: 158560
-
- Jun 15, 2012
-
-
Manman Ren authored
This patch will optimize abs(x-y) FROM sub, movs, rsbmi TO subs, rsbmi For abs, we will use cmp instead of movs. This is necessary because we already have an existing peephole pass which optimizes away cmp following sub. rdar: 11633193 llvm-svn: 158551
-
Kay Tiong Khoo authored
llvm-svn: 158543
-
Jakob Stoklund Olesen authored
This probably mostly shows up in bugpoint-generated code. llvm-svn: 158527
-
Craig Topper authored
llvm-svn: 158497
-
Pete Cooper authored
Can someone with more knowledge of this please look at other entries to see if others need moved. llvm-svn: 158474
-
- Jun 14, 2012
-
-
Akira Hatanaka authored
llvm-svn: 158471
-
Akira Hatanaka authored
being used by Mips16 or Micro Mips 2. clean up a few lines too long encountered Patch by Reed Kotler. llvm-svn: 158470
-
NAKAMURA Takumi authored
llvm-svn: 158446
-
Richard Barton authored
llvm-svn: 158445
-
Jush Lu authored
llvm-svn: 158443
-
Akira Hatanaka authored
llvm-svn: 158437
-
Akira Hatanaka authored
llvm-svn: 158436
-
Akira Hatanaka authored
llvm-svn: 158434
-
Akira Hatanaka authored
llvm-svn: 158433
-
Akira Hatanaka authored
as a scratch register when they are expanded to long branches. llvm-svn: 158432
-
Akira Hatanaka authored
to load an immediate that does not fit into 16-bit. llvm-svn: 158431
-
Akira Hatanaka authored
to load an immediate that does not fit into 16-bit. Also, take into consideration the global base register slot on the stack when computing the stack size. llvm-svn: 158430
-
Akira Hatanaka authored
compute the size of basic blocks in a function. Also, define a function which emits a series of instructions to load an immediate. llvm-svn: 158429
-
Akira Hatanaka authored
Long-branches need access to the global base register to get the destination address. llvm-svn: 158428
-
Akira Hatanaka authored
object for the global base register. This is the first of a series of patches which implements long branch expansion for MIPS. llvm-svn: 158427
-
Akira Hatanaka authored
delay slot filler pass of MIPS, per suggestion of Jakob Stoklund Olesen. This change, along with the fix in r158154, enables machine verification to be run after delay slot filling. llvm-svn: 158426
-
- Jun 13, 2012
-
-
Akira Hatanaka authored
pattern: (add v0, (add v1, abs_lo(tjt))) => (add (add v0, v1), abs_lo(tjt)) "tjt" is a TargetJumpTable node. llvm-svn: 158419
-
Akira Hatanaka authored
llvm-svn: 158414
-
Akira Hatanaka authored
llvm-svn: 158413
-
Akira Hatanaka authored
llvm-svn: 158410
-
Richard Osborne authored
llvm-svn: 158409
-
Kay Tiong Khoo authored
llvm-svn: 158404
-
Craig Topper authored
Fix intrinsics for XOP frczss/sd instructions. These instructions only take one source register and zero the upper bits of the destination rather than preserving them. llvm-svn: 158396
-
Hal Finkel authored
llvm-svn: 158393
-
Akira Hatanaka authored
Patch by Reed Kotler. llvm-svn: 158382
-