summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Spell optimization name correclty.Bill Wendling2012-06-061-1/+1
| | | | llvm-svn: 158123
* Revert r157755.Manman Ren2012-06-065-61/+0
| | | | | | | | The commit is intended to fix rdar://11540023. It is implemented as part of peephole optimization. We can actually implement this in the SelectionDAG lowering phase. llvm-svn: 158122
* Another testcase for r156548.Bill Wendling2012-06-061-0/+162
| | | | | | <rdar://problem/10889741> llvm-svn: 158121
* [llvm-nm] Update documentation to cover object file support and arguments.Michael J. Spencer2012-06-062-38/+73
| | | | llvm-svn: 158120
* Properly verify liveness with bundled machine instructions.Jakob Stoklund Olesen2012-06-061-13/+34
| | | | | | | | Bundles should be treated as one atomic transaction when checking liveness. That is how the register allocator (and VLIW targets) treats bundles. llvm-svn: 158116
* Add accessors for all private members of DisasmContext.Benjamin Kramer2012-06-061-0/+8
| | | | | | LLVM should be -Wunused-private-field clean now. llvm-svn: 158103
* Move RegisterClassInfo.h.Andrew Trick2012-06-0611-11/+11
| | | | | | Allow targets to access this API. It's required for RegisterPressure. llvm-svn: 158102
* Remove dead private member variables from gtest.Benjamin Kramer2012-06-062-3/+1
| | | | llvm-svn: 158101
* Move RegisterPressure.h.Andrew Trick2012-06-064-3/+3
| | | | | | Make it a general utility for use by Targets. llvm-svn: 158097
* Round 2 of dead private variable removal.Benjamin Kramer2012-06-0618-51/+19
| | | | | | | | 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
* Remove unused private fields found by clang's new -Wunused-private-field.Benjamin Kramer2012-06-0624-45/+21
| | | | | | | | 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
* Add support for dynamic stack realignment in the presence of dynamic allocas onChad Rosier2012-06-066-16/+263
| | | | | | | X86. rdar://11496434 llvm-svn: 158087
* Fix combine of uno && ord -> false so that the ordering of the fcmps doesn'tChad Rosier2012-06-062-1/+13
| | | | | | | matter. rdar://11579835 llvm-svn: 158084
* Remove dead debug option -disable-rematerialization.Jakob Stoklund Olesen2012-06-061-4/+0
| | | | | | | Remat has been stable for years, and it isn't done by LiveIntervalAnalysis any longer. (See LiveRangeEdit). llvm-svn: 158079
* Grab-bag of reassociate tweaks. Unify handling of dead instructions andDuncan Sands2012-06-062-127/+117
| | | | | | | | | 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
* Stop leaking RegScavengers from TailDuplication.Benjamin Kramer2012-06-061-3/+4
| | | | llvm-svn: 158069
* Correct decoder for T1 conditional B encodingRichard Barton2012-06-062-3/+12
| | | | llvm-svn: 158055
* Add a new broken compiler.Duncan Sands2012-06-061-0/+1
| | | | llvm-svn: 158053
* Mark several instructions SSE2 instead of SSE3 as they should be.Craig Topper2012-06-062-9/+11
| | | | llvm-svn: 158049
* Fix gtest build issue on Visual Studio 2012 RCJustin Holewinski2012-06-062-0/+12
| | | | llvm-svn: 158046
* Remove extraneous CHECK-NOTs from previous commit and add a new test case.Chad Rosier2012-06-061-2/+10
| | | | llvm-svn: 158045
* FileCheckize this test.Chad Rosier2012-06-061-2/+18
| | | | llvm-svn: 158044
* Move LiveUnionArray into LiveIntervalUnion.hJakob Stoklund Olesen2012-06-054-47/+54
| | | | | | It is useful outside RegAllocBase. llvm-svn: 158041
* Don't print register names in LiveIntervalUnion::print().Jakob Stoklund Olesen2012-06-053-5/+2
| | | | | | | | 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
* Suppress -Wunused-variable in -Asserts buildMatt Beaumont-Gay2012-06-051-0/+1
| | | | llvm-svn: 158037
* Simplify LiveInterval::print().Jakob Stoklund Olesen2012-06-055-49/+20
| | | | | | | | | | 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
* Add experimental support for register unit liveness.Jakob Stoklund Olesen2012-06-052-3/+171
| | | | | | | | | | | | | | | | 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
* Implement LiveRangeCalc::extendToUses() and createDeadDefs().Jakob Stoklund Olesen2012-06-054-2/+108
| | | | | | | These LiveRangeCalc methods are to be used when computing a live range from scratch. llvm-svn: 158027
* MachineInstr::eraseFromParent fix for removing bundled instrs.Andrew Trick2012-06-051-1/+2
| | | | | | Patch by Ivan Llopard. llvm-svn: 158025
* misched: API for minimum vs. expected latency.Andrew Trick2012-06-0511-140/+277
| | | | | | | Minimum latency determines per-cycle scheduling groups. Expected latency determines critical path and cost. llvm-svn: 158021
* Add 3.0 and 3.1 tags to the getting started guide.Benjamin Kramer2012-06-051-0/+2
| | | | llvm-svn: 158020
* Add a new intrinsic: llvm.fmuladd. This intrinsic represents a multiply-addLang Hames2012-06-054-0/+84
| | | | | | | | | | | | 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
* Fix header file include order in NVPTX backend NV_CONTRIBYuan Lin2012-06-051-2/+2
| | | | llvm-svn: 158013
* LoopUnroll: always check for NULL LoopPassManagerAndrew Trick2012-06-051-3/+5
| | | | llvm-svn: 158007
* Remove dead function.Jakob Stoklund Olesen2012-06-051-6/+0
| | | | llvm-svn: 158005
* PPC32 uses R2 as the TLS register. Fix the copy and paste.Roman Divacky2012-06-051-3/+3
| | | | llvm-svn: 158004
* IntegersSubsetMapping: added exclude operation, that allows to exclude ↵Stepan Dyatkovskiy2012-06-052-0/+233
| | | | | | subset of integers from current mapping. llvm-svn: 157989
* IntegersSubsetMapping:Stepan Dyatkovskiy2012-06-053-12/+16
| | | | | | | 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
* X86 itinerary properties.Andrew Trick2012-06-052-2/+29
| | | | llvm-svn: 157981
* ARM itinerary properties.Andrew Trick2012-06-053-22/+10
| | | | llvm-svn: 157980
* misched: Added MultiIssueItineraries.Andrew Trick2012-06-0512-31/+141
| | | | | | | | This allows a subtarget to explicitly specify the issue width and other properties without providing pipeline stage details for every instruction. llvm-svn: 157979
* sdsched: Use the right heuristics when -mcpu is not provided and we have no ↵Andrew Trick2012-06-051-13/+12
| | | | | | | | itinerary. Use ILP heuristics for long latency instrs if no scoreboard exists. llvm-svn: 157978
* misched: Allow disabling scoreboard hazard checking for subtargets with aAndrew Trick2012-06-052-6/+14
| | | | | | | | valid itinerary but no pipeline stages. An itinerary can contain useful scheduling information without specifying pipeline stages for each instruction. llvm-svn: 157977
* whitespaceAndrew Trick2012-06-053-9/+7
| | | | llvm-svn: 157976
* misched: comments from code review.Andrew Trick2012-06-051-3/+3
| | | | llvm-svn: 157975
* Remove the last remat-related code from LiveIntervalAnalysis.Jakob Stoklund Olesen2012-06-052-115/+0
| | | | | | Rematerialization is handled by LiveRangeEdit now. llvm-svn: 157974
* Stop using LiveIntervals::isReMaterializable().Jakob Stoklund Olesen2012-06-052-9/+28
| | | | | | | | | | 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
* Revert commit r157966Joel Jones2012-06-052-43/+0
| | | | llvm-svn: 157972
* This change handles a another case for generating the bic instruction Joel Jones2012-06-042-0/+43
| | | | | | | | | 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
* Delete dead code.Jakob Stoklund Olesen2012-06-042-12/+0
| | | | llvm-svn: 157963
OpenPOWER on IntegriCloud