Manman Ren
39834da697
CSE: allow PerformTrivialCoalescing to check copies across basic block
...
boundaries.
Given the following case:
BB0
%vreg1<def> = SUBrr %vreg0, %vreg7
%vreg2<def> = COPY %vreg7
BB1
%vreg10<def> = SUBrr %vreg0, %vreg2
We should be able to CSE between SUBrr in BB0 and SUBrr in BB1.
rdar://12462006
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168717 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 18:58:41 +00:00
Jakub Staszak
9e3c3886d0
Remove duplicated #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168712 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 18:27:14 +00:00
Ulrich Weigand
dba37a3c43
Never use .lcomm on platforms where it does not accept an alignment
...
argument. Instead, use a pair of .local and .comm directives.
This avoids spurious differences between binaries built by the
integrated assembler vs. those built by the external assembler,
since the external assembler may impose alignment requirements
on .lcomm symbols where the integrated assembler does not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168704 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 16:11:16 +00:00
Eric Christopher
fcdbecbbaf
Revert rearrangement of debug info sections to unblock the bots
...
and O0 + debug codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168680 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 06:49:23 +00:00
Jakub Staszak
df22702db0
Remove unneeded #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168670 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 02:00:27 +00:00
Jakub Staszak
388ffa7f66
Remove unneeded #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168664 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 01:22:15 +00:00
NAKAMURA Takumi
a823f18af4
llvm/CodeGen: Remove empty files in r168659.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168663 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 01:21:50 +00:00
Jakub Staszak
07cde58fa0
Remove unused forward declaration.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168660 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 01:16:37 +00:00
Jakub Staszak
af650354a1
Remove unused MachineLoopRanges analysis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168659 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 01:14:34 +00:00
Eric Christopher
4d26533234
Make comment names match function names.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168644 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 00:41:57 +00:00
Eric Christopher
74802f7e43
Add in sections for the fission case (no change so incorrect) and
...
add a TODO for starting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168643 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 00:41:54 +00:00
Eric Christopher
8ba01175cc
Reorder section output ordering.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168638 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 00:13:58 +00:00
Eric Christopher
bdab800b02
Whitespace cleanup.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168637 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-27 00:13:51 +00:00
Chad Rosier
8d20b5f9ff
Add an assertion to ensure freezeReservedRegs() is only ever called once.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168633 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-26 23:37:07 +00:00
Chad Rosier
728aede2e9
Now that the X86 Maximal Stack Alignment Check pass has been removed (i.e.,
...
r168627), we no longer need to call the freezeReservedRegs() function a second
time. Previously, this pass was conservatively adding the FP to the set of
reserved registers, requiring the second update to the reserved registers.
rdar://12719844
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168631 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-26 23:25:41 +00:00
Chad Rosier
216532ac0a
Now that the X86 Maximal Stack Alignment Check pass has been removed (i.e.,
...
r168627), we no longer need to call the freezeReservedRegs() function a second
time. Previously, this pass was conservatively adding the FP to the set of
reserved registers, requiring the second update to the reserved registers.
rdar://12719844
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168630 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-26 23:14:37 +00:00
Jakub Staszak
bb8ddc7e4f
Don't use iterator after being erased.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168622 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-26 22:14:19 +00:00
Jakub Staszak
ec66ac5318
Remove unneeded #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168608 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-26 21:04:19 +00:00
Craig Topper
327e4cba09
Refactor to make helper method static.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168557 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-25 08:08:58 +00:00
Craig Topper
c1aa638fff
Remove duplicate check of LimitFloatPrecision. It was already checked earlier before IsExp10 could be set to true.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168553 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-25 00:48:58 +00:00
Craig Topper
915562e762
Factor common code out of individual if blocks into common tail.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168551 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-25 00:15:07 +00:00
Craig Topper
134f78cf41
Remove redundant calls to getCurDebugLoc in visitIntrinsicCall. It's already called at the start of the function and captured in a local variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168548 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-24 23:05:23 +00:00
Craig Topper
538cd48455
Refactor a bit to make some helper methods static.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168546 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-24 18:52:06 +00:00
Craig Topper
b315772cc9
Factor some common code out of individual if blocks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168538 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-24 08:22:37 +00:00
Craig Topper
5d1e089eaa
Refactor a bit to make some helper functions static.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168524 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-23 18:38:31 +00:00
Patrik Hägglund
d5f03186e5
Cleanup: Simplify loop end logic in computeRegisterProperties().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168507 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-23 08:35:04 +00:00
Eli Bendersky
9f696c8157
Fix 80-col violation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168498 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-22 14:10:40 +00:00
Lang Hames
b47ec4087c
llvm.fmuladd.* lowering should be checking isOperationLegalOrCustom, rather than
...
isOperationLegal. Thanks to Craig Topper for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168485 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-22 03:31:45 +00:00
Eric Christopher
4117bec41b
Pull some code out into functions to make rearranging them a bit easier.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168481 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-22 00:59:49 +00:00
Eric Christopher
8b4310b806
Whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168402 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 00:34:38 +00:00
Eric Christopher
7ee5f5d61f
Update for some of the coding standard before rearranging functions
...
around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168401 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 00:34:35 +00:00
Eric Christopher
b8a101f39a
Update some comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168400 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 00:17:49 +00:00
Eric Christopher
e6ad6acb19
Update and add some comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168399 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 00:03:31 +00:00
Eric Christopher
c82fbf4cb1
Whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168398 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 00:03:28 +00:00
Eric Christopher
7dc68db9f0
Remove constness from this, it modifies the output stream as does
...
everything else underneath.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168395 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-20 23:30:11 +00:00
Eric Christopher
fbd1975038
Remove unused function argument, add a bit to the comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168387 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-20 22:14:13 +00:00
Eric Christopher
aaa50b9bc5
Formatting.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168384 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-20 20:34:47 +00:00
Eric Christopher
dcc675a4ac
Whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168383 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-20 20:34:44 +00:00
Tim Northover
310f248c22
Fix physical register liveness calculations:
...
+ Take account of clobbers
+ Give outputs priority over inputs since they happen later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168360 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-20 09:56:11 +00:00
Eric Christopher
c4639d6ec2
Remove a function argument and propagate const around accordingly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168338 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-19 22:42:15 +00:00
Eric Christopher
0f1c7f6216
Whitespace and 80-col.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168337 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-19 22:42:10 +00:00
Anton Korobeynikov
239938ff77
Make AsmPrinter::EmitTTypeReference() more robust - put
...
the zero GV check inside, so we won't forget it at the caller side.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168328 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-19 21:17:20 +00:00
Anton Korobeynikov
2386fc8daa
Factor out type info emission into separate routine.
...
It turned out that ARM wants different layout of type infos.
This is yet another patch in attempt to fix PR7187
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168325 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-19 21:06:26 +00:00
Eric Christopher
97c3472bf9
Move section label emission to module end. Nothing should be
...
depending on them being emitted before the text and/or data
sections and testing didn't uncover any.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168321 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-19 19:43:59 +00:00
Jakob Stoklund Olesen
e42561ad0c
Handle mixed normal and early-clobber defs on inline asm.
...
PR14376.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168320 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-19 19:31:10 +00:00
Craig Topper
8f54a53f0e
Move else onto line with preceding closing brace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168294 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-19 00:11:50 +00:00
Andrew Trick
e1f663933a
Broaden isSchedulingBoundary to check aliases of SP.
...
On PPC the stack pointer is X1, but ADJCALLSTACK writes R1.
Fixes PR14315: Register regmask dependency problem with misched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168248 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-17 03:35:11 +00:00
Eli Friedman
43147afd71
Mark FP_EXTEND form v2f32 to v2f64 as "expand" for ARM NEON. Patch by Pete Couperus.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168240 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-17 01:52:46 +00:00
Andrew Trick
cdf493dd0b
Use array_pod_sort instead of std::sort.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168203 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 21:33:38 +00:00
Craig Topper
08ac4691c6
Remove conditions from 'else if' that were guaranteed by preceding 'if'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168191 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-16 20:01:39 +00:00