- Jun 06, 2012
-
-
Andrew Trick authored
Make it a general utility for use by Targets. llvm-svn: 158097
-
Benjamin Kramer authored
LLVM is now -Wunused-private-field clean except for - lib/MC/MCDisassembler/Disassembler.h. Not sure why it keeps all those unaccessible fields. - gtest. llvm-svn: 158096
-
Benjamin Kramer authored
There are some that I didn't remove this round because they looked like obvious stubs. There are dead variables in gtest too, they should be fixed upstream. llvm-svn: 158090
-
Chad Rosier authored
X86. rdar://11496434 llvm-svn: 158087
-
Chad Rosier authored
matter. rdar://11579835 llvm-svn: 158084
-
Jakob Stoklund Olesen authored
Remat has been stable for years, and it isn't done by LiveIntervalAnalysis any longer. (See LiveRangeEdit). llvm-svn: 158079
-
Duncan Sands authored
instructions to reoptimize. Exploit this to more systematically eliminate dead instructions (this isn't very useful in practice but is convenient for analysing some testcase I am working on). No need for WeakVH any more: use an AssertingVH instead. llvm-svn: 158073
-
Benjamin Kramer authored
llvm-svn: 158069
-
Richard Barton authored
llvm-svn: 158055
-
Duncan Sands authored
llvm-svn: 158053
-
Craig Topper authored
llvm-svn: 158049
-
Justin Holewinski authored
llvm-svn: 158046
-
Chad Rosier authored
llvm-svn: 158045
-
Chad Rosier authored
llvm-svn: 158044
-
Jakob Stoklund Olesen authored
It is useful outside RegAllocBase. llvm-svn: 158041
-
Jakob Stoklund Olesen authored
Soon we'll be making LiveIntervalUnions for register units as well. This was the only place using the RepReg member, so just remove it. llvm-svn: 158038
-
Matt Beaumont-Gay authored
llvm-svn: 158037
-
Jakob Stoklund Olesen authored
Don't print out the register number and spill weight, making the TRI argument unnecessary. This allows callers to interpret the reg field. It can currently be a virtual register, a physical register, a spill slot, or a register unit. llvm-svn: 158031
-
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
-
Benjamin Kramer authored
llvm-svn: 158020
-
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
-
Jakob Stoklund Olesen authored
llvm-svn: 158005
-
Roman Divacky authored
llvm-svn: 158004
-
Stepan Dyatkovskiy authored
IntegersSubsetMapping: added exclude operation, that allows to exclude subset of integers from current mapping. llvm-svn: 157989
-
Stepan Dyatkovskiy authored
Changed type of Items collection: from std::vector to std::list. Also some small fixes made in IntegersSubset.h, IntegersSubsetMapping.h and IntegersSubsetTest.cpp. llvm-svn: 157987
-
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
-