- Jul 08, 2010
-
-
Jakob Stoklund Olesen authored
EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead. Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg(). The isMoveInstr hook will be removed later. llvm-svn: 107879
-
Jakob Stoklund Olesen authored
Fix X86InstrInfo::convertToThreeAddressWithLEA to generate COPY instead of INSERT_SUBREG. llvm-svn: 107878
-
Benjamin Kramer authored
llvm-svn: 107868
-
Benjamin Kramer authored
(X >s -1) ? C1 : C2 and (X <s 0) ? C2 : C1 into ((X >>s 31) & (C2 - C1)) + C1, avoiding the conditional. This optimization could be extended to take non-const C1 and C2 but we better stay conservative to avoid code size bloat for now. for int sel(int n) { return n >= 0 ? 60 : 100; } we now generate sarl $31, %edi andl $40, %edi leal 60(%rdi), %eax instead of testl %edi, %edi movl $60, %ecx movl $100, %eax cmovnsl %ecx, %eax llvm-svn: 107866
-
Eric Christopher authored
correct the testcase for valid assembly. Needs more tests. llvm-svn: 107860
-
Evan Cheng authored
llvm-svn: 107856
-
Jakob Stoklund Olesen authored
This target hook is intended to replace copyRegToReg entirely, but for now it calls copyRegToReg. Any remaining calls to copyRegToReg wil be replaced by COPY instructions. llvm-svn: 107854
-
Evan Cheng authored
Optimize some vfp comparisons to integer ones. This patch implements the simplest case when the following conditions are met: 1. The arguments are f32. 2. The arguments are loads and they have no uses other than the comparison. 3. The comparison code is EQ or NE. e.g. vldr.32 s0, [r1] vldr.32 s1, [r0] vcmpe.f32 s1, s0 vmrs apsr_nzcv, fpscr beq LBB0_2 => ldr r1, [r1] ldr r0, [r0] cmp r0, r1 beq LBB0_2 More complicated cases will be implemented in subsequent patches. llvm-svn: 107852
-
Dale Johannesen authored
Add explicit testcases for tail calls within the same module. Duplicate some code to humor those who think .w doesn't apply on ARM. Leave this disabled on Thumb1, and add some comments explaining why it's hard and won't gain much. llvm-svn: 107851
-
Dan Gohman authored
Debug info intrinsics win for now. llvm-svn: 107850
-
Jim Grosbach authored
(if there are any) and use the one which remains available for the longest rather than just using the first one. This should help enable better re-use of the loaded frame index values. rdar://7318760 llvm-svn: 107847
-
Chris Lattner authored
address spaces when SRoA'ing memcpy's. llvm-svn: 107846
-
Dan Gohman authored
prefer to materialize as local constants. This fixes the clang bootstrap abort. llvm-svn: 107840
-
Dan Gohman authored
llvm-svn: 107839
-
Chris Lattner authored
PR7399. The asm parser already handles this. This is of dubious utility (see the PR) but the asmprinter was clearly broken here. llvm-svn: 107834
-
Jakob Stoklund Olesen authored
llvm-svn: 107832
-
Jim Grosbach authored
llvm-svn: 107831
-
Jim Grosbach authored
address calculation instructions leading up to a jump table when we're trying to convert them into a TB[H] instruction in Thumb2. This realistically shouldn't happen much, if at all, for well formed inputs, but it's more correct to handle it. rdar://7387682 llvm-svn: 107830
-
Chris Lattner authored
llvm-svn: 107826
-
Chris Lattner authored
in the integrated assembler. Still some discussion to be done. llvm-svn: 107825
-
Bruno Cardoso Lopes authored
llvm-svn: 107823
-
Devang Patel authored
Keep track of abstract subprogram DIEs. llvm-svn: 107822
-
Evan Cheng authored
llvm-svn: 107820
-
- Jul 07, 2010
-
-
Devang Patel authored
llvm-svn: 107818
-
Dan Gohman authored
didn't create a new block, don't reset the insert position. llvm-svn: 107813
-
Jim Grosbach authored
llvm-svn: 107811
-
Devang Patel authored
llvm-svn: 107810
-
Jakob Stoklund Olesen authored
This fixes PR7540. llvm-svn: 107809
-
Devang Patel authored
llvm-svn: 107807
-
Dan Gohman authored
a separate DCE pass over MachineInstrs. llvm-svn: 107804
-
Dan Gohman authored
a bunch of stuff, to allow the target-independent calling convention logic to be employed. llvm-svn: 107800
-
Bruno Cardoso Lopes authored
llvm-svn: 107798
-
Dan Gohman authored
position when emitting multiple blocks when executing a custom inserter. llvm-svn: 107797
-
Devang Patel authored
llvm-svn: 107796
-
Dan Gohman authored
llvm-svn: 107795
-
Dan Gohman authored
around everywhere, and also give it an InsertPt member, to enable isel to operate at an arbitrary position within a block, rather than just appending to a block. llvm-svn: 107791
-
Dan Gohman authored
instance, rather than pointers to all of FunctionLoweringInfo's members. This eliminates an NDEBUG ABI sensitivity. llvm-svn: 107789
-
Dan Gohman authored
allow target-specific fast-isel code to make use of it directly. llvm-svn: 107787
-
Dan Gohman authored
code can do calling-convention queries. This obviates OutputArgReg. llvm-svn: 107786
-
Chris Lattner authored
llvm-svn: 107785
-