Eric Christopher
4c9b119d64
Add in sections for the fission case (no change so incorrect) and
...
add a TODO for starting.
llvm-svn: 168643
2012-11-27 00:41:54 +00:00
Eric Christopher
c800b12bae
Reorder section output ordering.
...
llvm-svn: 168638
2012-11-27 00:13:58 +00:00
Eric Christopher
735401cf29
Whitespace cleanup.
...
llvm-svn: 168637
2012-11-27 00:13:51 +00:00
Chad Rosier
110b73e0e5
Add an assertion to ensure freezeReservedRegs() is only ever called once.
...
llvm-svn: 168633
2012-11-26 23:37:07 +00:00
Chad Rosier
f8a3a62cdb
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
llvm-svn: 168631
2012-11-26 23:25:41 +00:00
Chad Rosier
a44e1825a3
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
llvm-svn: 168630
2012-11-26 23:14:37 +00:00
Jakub Staszak
f18753b8d0
Don't use iterator after being erased.
...
llvm-svn: 168622
2012-11-26 22:14:19 +00:00
Jakub Staszak
e25344225d
Remove unneeded #includes.
...
llvm-svn: 168608
2012-11-26 21:04:19 +00:00
Craig Topper
79bd205d8c
Refactor to make helper method static.
...
llvm-svn: 168557
2012-11-25 08:08:58 +00:00
Craig Topper
268b62288e
Remove duplicate check of LimitFloatPrecision. It was already checked earlier before IsExp10 could be set to true.
...
llvm-svn: 168553
2012-11-25 00:48:58 +00:00
Craig Topper
8571944cf1
Factor common code out of individual if blocks into common tail.
...
llvm-svn: 168551
2012-11-25 00:15:07 +00:00
Craig Topper
d374694b07
Remove redundant calls to getCurDebugLoc in visitIntrinsicCall. It's already called at the start of the function and captured in a local variable.
...
llvm-svn: 168548
2012-11-24 23:05:23 +00:00
Craig Topper
d2638c1894
Refactor a bit to make some helper methods static.
...
llvm-svn: 168546
2012-11-24 18:52:06 +00:00
Craig Topper
4a98175800
Factor some common code out of individual if blocks.
...
llvm-svn: 168538
2012-11-24 08:22:37 +00:00
Craig Topper
bef254ab16
Refactor a bit to make some helper functions static.
...
llvm-svn: 168524
2012-11-23 18:38:31 +00:00
Patrik Hägglund
f77cc055cd
Cleanup: Simplify loop end logic in computeRegisterProperties().
...
llvm-svn: 168507
2012-11-23 08:35:04 +00:00
Eli Bendersky
26e7efeb1a
Fix 80-col violation
...
llvm-svn: 168498
2012-11-22 14:10:40 +00:00
Lang Hames
e9541c820a
llvm.fmuladd.* lowering should be checking isOperationLegalOrCustom, rather than
...
isOperationLegal. Thanks to Craig Topper for pointing this out.
llvm-svn: 168485
2012-11-22 03:31:45 +00:00
Eric Christopher
960ac37832
Pull some code out into functions to make rearranging them a bit easier.
...
llvm-svn: 168481
2012-11-22 00:59:49 +00:00
Eric Christopher
92331fde8c
Whitespace.
...
llvm-svn: 168402
2012-11-21 00:34:38 +00:00
Eric Christopher
7b30f2e43b
Update for some of the coding standard before rearranging functions
...
around.
llvm-svn: 168401
2012-11-21 00:34:35 +00:00
Eric Christopher
5d1cf930df
Update some comments.
...
llvm-svn: 168400
2012-11-21 00:17:49 +00:00
Eric Christopher
55c5181525
Update and add some comments.
...
llvm-svn: 168399
2012-11-21 00:03:31 +00:00
Eric Christopher
27527b2b92
Whitespace.
...
llvm-svn: 168398
2012-11-21 00:03:28 +00:00
Eric Christopher
383719592a
Remove constness from this, it modifies the output stream as does
...
everything else underneath.
llvm-svn: 168395
2012-11-20 23:30:11 +00:00
Eric Christopher
1f0cbb826f
Remove unused function argument, add a bit to the comment.
...
llvm-svn: 168387
2012-11-20 22:14:13 +00:00
Eric Christopher
1d6bd41ee6
Formatting.
...
llvm-svn: 168384
2012-11-20 20:34:47 +00:00
Eric Christopher
7c718e41c7
Whitespace.
...
llvm-svn: 168383
2012-11-20 20:34:44 +00:00
Tim Northover
dd219d06c2
Fix physical register liveness calculations:
...
+ Take account of clobbers
+ Give outputs priority over inputs since they happen later.
llvm-svn: 168360
2012-11-20 09:56:11 +00:00
Eric Christopher
58f4195942
Remove a function argument and propagate const around accordingly.
...
llvm-svn: 168338
2012-11-19 22:42:15 +00:00
Eric Christopher
6a8413853f
Whitespace and 80-col.
...
llvm-svn: 168337
2012-11-19 22:42:10 +00:00
Anton Korobeynikov
097b0e9d6a
Make AsmPrinter::EmitTTypeReference() more robust - put
...
the zero GV check inside, so we won't forget it at the caller side.
llvm-svn: 168328
2012-11-19 21:17:20 +00:00
Anton Korobeynikov
f65a638d94
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
llvm-svn: 168325
2012-11-19 21:06:26 +00:00
Eric Christopher
cebb0ec764
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.
llvm-svn: 168321
2012-11-19 19:43:59 +00:00
Jakob Stoklund Olesen
31ebe55808
Handle mixed normal and early-clobber defs on inline asm.
...
PR14376.
llvm-svn: 168320
2012-11-19 19:31:10 +00:00
Craig Topper
36f29122ef
Move else onto line with preceding closing brace.
...
llvm-svn: 168294
2012-11-19 00:11:50 +00:00
Andrew Trick
28c000b234
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.
llvm-svn: 168248
2012-11-17 03:35:11 +00:00
Eli Friedman
30834940ec
Mark FP_EXTEND form v2f32 to v2f64 as "expand" for ARM NEON. Patch by Pete Couperus.
...
llvm-svn: 168240
2012-11-17 01:52:46 +00:00
Andrew Trick
9d0a1ae946
Use array_pod_sort instead of std::sort.
...
llvm-svn: 168203
2012-11-16 21:33:38 +00:00
Craig Topper
ed756c5fc8
Remove conditions from 'else if' that were guaranteed by preceding 'if'.
...
llvm-svn: 168191
2012-11-16 20:01:39 +00:00
Craig Topper
3669de4c97
Factor out the final FADD that's common to multiple code paths in the visitLog* functions.
...
llvm-svn: 168183
2012-11-16 19:08:44 +00:00
Craig Topper
ae89426f07
Factor some common code to reduce compile size.
...
llvm-svn: 168143
2012-11-16 07:48:23 +00:00
Eli Friedman
e6385e61b5
Mark FP_ROUND for converting NEON v2f64 to v2f32 as expand. Add a missing
...
case to vector legalization so this actually works.
Patch by Pete Couperus. Fixes PR12540.
llvm-svn: 168107
2012-11-15 22:44:27 +00:00
Ulrich Weigand
dcee8ce8ed
Use std::stable_sort instead of std::sort when sorting stack slots
...
to guarantee deterministic code generation.
llvm-svn: 168074
2012-11-15 19:33:30 +00:00
Chad Rosier
2463f67c49
[reg scavenger] Fix the isUsed/isAliasUsed functions so as to not report a false
...
positive.
In this particular case, R6 was being spilled by the register scavenger when it
was in fact dead. The isUsed function reported R6 as used because the R6_R7
alias was reserved (due to the fact that we've reserved R7 as the FP). The
solution is to only check if the original register (i.e., R6) isReserved and
not the aliases. The aliases are only checked to make sure they're available.
The test case is derived from one of the nightly tester benchmarks and is rather
intractable and difficult to reproduce, so I haven't included it.
rdar://12592448
llvm-svn: 168054
2012-11-15 18:13:20 +00:00
Sergei Larin
e822148c80
Fix indeterminism in MI scheduler DAG construction.
...
Similarly to several recent fixes throughout the code replace std::map use with the MapVector.
Add find() method to the MapVector.
llvm-svn: 168051
2012-11-15 17:45:50 +00:00
Craig Topper
61d045781a
Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics.
...
llvm-svn: 168025
2012-11-15 06:51:10 +00:00
Andrew Trick
449eb3f3be
Fix an obvious merge bug in -join-globalcopies (disabled).
...
Jakub Staszak spotted this in review. I don't notice these things
until I manually rerun benchmarks. But reducing unit tests is a very
high priority.
llvm-svn: 168021
2012-11-15 02:32:22 +00:00
Jakub Staszak
ab0139cb90
Use reserve() to avoid vector reallocation.
...
llvm-svn: 167991
2012-11-14 22:42:17 +00:00
Jakub Staszak
542db4a0bc
canJoinPhys method doesn't modify CoalescerPair. Make it const.
...
llvm-svn: 167972
2012-11-14 20:31:04 +00:00