- Jun 06, 2012
-
-
Jakob Stoklund Olesen authored
Instead of computing a live interval per physreg, LiveIntervals can compute live intervals per register unit. This makes impossible the confusing situation where aliasing registers could have overlapping live intervals. It should also make fixed interferernce checking cheaper since registers have fewer register units than aliases. Live intervals for regunits are computed on demand, using MRI use-def chains and the new LiveRangeCalc class. Only regunits live in to ABI blocks are precomputed during LiveIntervals::runOnMachineFunction(). The regunit liveness computations don't depend on LiveVariables. llvm-svn: 158029
-
- Jun 05, 2012
-
-
Jakob Stoklund Olesen authored
These LiveRangeCalc methods are to be used when computing a live range from scratch. llvm-svn: 158027
-
Andrew Trick authored
Patch by Ivan Llopard. llvm-svn: 158025
-
Andrew Trick authored
Minimum latency determines per-cycle scheduling groups. Expected latency determines critical path and cost. llvm-svn: 158021
-
Lang Hames authored
expression (a * b + c) that can be implemented as a fused multiply-add (fma) if the target determines that this will be more efficient. This intrinsic will be used to implement FP_CONTRACT support and an aggressive FMA formation mode. If your target has a fast FMA instruction you should override the isFMAFasterThanMulAndAdd method in TargetLowering to return true. llvm-svn: 158014
-
Yuan Lin authored
llvm-svn: 158013
-
Andrew Trick authored
llvm-svn: 158007
-
Roman Divacky authored
llvm-svn: 158004
-
Andrew Trick authored
llvm-svn: 157981
-
Andrew Trick authored
llvm-svn: 157980
-
Andrew Trick authored
This allows a subtarget to explicitly specify the issue width and other properties without providing pipeline stage details for every instruction. llvm-svn: 157979
-
Andrew Trick authored
Use ILP heuristics for long latency instrs if no scoreboard exists. llvm-svn: 157978
-
Andrew Trick authored
valid itinerary but no pipeline stages. An itinerary can contain useful scheduling information without specifying pipeline stages for each instruction. llvm-svn: 157977
-
Andrew Trick authored
llvm-svn: 157976
-
Andrew Trick authored
llvm-svn: 157975
-
Jakob Stoklund Olesen authored
Rematerialization is handled by LiveRangeEdit now. llvm-svn: 157974
-
Jakob Stoklund Olesen authored
It is an old function that does a lot more than required by CalcSpillWeights, which was the only remaining caller. The isRematerializable() function never actually sets the isLoad argument, so don't try to compute that. llvm-svn: 157973
-
Joel Jones authored
llvm-svn: 157972
-
Joel Jones authored
when a compile time constant is known. This occurs when implicitly zero extending function arguments from 16 bits to 32 bits. <rdar://problem/11481151> llvm-svn: 157966
-
Jakob Stoklund Olesen authored
llvm-svn: 157963
-
Rafael Espindola authored
replacement to make it at least as generic as the instruction being replaced. This includes: * dropping nsw/nuw flags * getting the least restrictive tbaa and fpmath metadata * merging ranges Fixes PR12979. llvm-svn: 157958
-
Jakob Stoklund Olesen authored
No functional change. llvm-svn: 157957
-
- Jun 04, 2012
-
-
Jakob Stoklund Olesen authored
Remove the same pointers from all the other LiveRangeCalc functions, simplifying the interface. llvm-svn: 157941
-
Akira Hatanaka authored
inserted after the shift-left-logical node. llvm-svn: 157937
-
Roman Divacky authored
llvm-svn: 157935
-
Hans Wennborg authored
This was mostly done already in r156162, but I missed one place. llvm-svn: 157929
-
Nadav Rotem authored
llvm-svn: 157925
-
Hans Wennborg authored
llvm-svn: 157920
-
Craig Topper authored
llvm-svn: 157917
-
Craig Topper authored
Add VFMADDSUB and VFMSUBADD FMA instructions to folding tables. Also add 213 forms of scalar FMA instructions. llvm-svn: 157914
-
Hal Finkel authored
llvm-svn: 157912
-
Hal Finkel authored
It seems that this no longer causes test suite failures on PPC64 (after r157159), and often gives a performance benefit, so it can be enabled by default. llvm-svn: 157911
-
Rafael Espindola authored
vector. No functionality change. Extracted from a patch by the PaX Team. llvm-svn: 157909
-
Rafael Espindola authored
Part of a patch by the PaX Team. llvm-svn: 157908
-
- Jun 03, 2012
-
-
Craig Topper authored
llvm-svn: 157903
-
Craig Topper authored
llvm-svn: 157902
-
Craig Topper authored
llvm-svn: 157899
-
Craig Topper authored
Rename fma4 intrinsics to just fma since they are now used for both FMA4 and FMA3. Autoupgrade support coming in a separate commit. llvm-svn: 157898
-
Manman Ren authored
llvm-svn: 157896
-
Craig Topper authored
Use sse_load_f32/64 for scalar FMA3 intrinsic patterns instead of 128-bit loads to match instruction behavior. llvm-svn: 157895
-