summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonInstrInfo.h
Commit message (Collapse)AuthorAgeFilesLines
* CodeGen: TII: Take MachineInstr& in predicate API, NFCDuncan P. N. Exon Smith2016-02-231-6/+6
| | | | | | | | | | | | | Change TargetInstrInfo API to take `MachineInstr&` instead of `MachineInstr*` in the functions related to predicated instructions (I'll try to come back later and get some of the rest). All of these functions require non-null parameters already, so references are more clear. As a bonus, this happens to factor away a host of implicit iterator => pointer conversions. No functionality change intended. llvm-svn: 261605
* [Hexagon] Add utility functions to detect sign- and zero-extending loadsKrzysztof Parzyszek2016-02-121-0/+2
| | | | llvm-svn: 260698
* [Hexagon] Update the Hexagon packetizerKrzysztof Parzyszek2015-12-161-0/+4
| | | | llvm-svn: 255807
* [Hexagon] Add "const" to function parameters in HexagonInstrInfoKrzysztof Parzyszek2015-12-141-11/+12
| | | | llvm-svn: 255544
* [Hexagon] Bring HexagonInstrInfo up to dateKrzysztof Parzyszek2015-11-241-110/+273
| | | | llvm-svn: 253986
* Pass BranchProbability/BlockMass by value instead of const& as they are ↵Cong Hou2015-09-101-3/+3
| | | | | | small. NFC. llvm-svn: 247357
* Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC)Alexander Kornienko2015-06-231-1/+1
| | | | | | Apparently, the style needs to be agreed upon first. llvm-svn: 240390
* Fixed/added namespace ending comments using clang-tidy. NFCAlexander Kornienko2015-06-191-1/+1
| | | | | | | | | | | | | The patch is generated using this command: tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \ llvm/lib/ Thanks to Eugene Kosov for the original patch! llvm-svn: 240137
* [CodeGen] ArrayRef'ize cond/pred in various TII APIs. NFC.Ahmed Bougacha2015-06-111-9/+7
| | | | llvm-svn: 239553
* [InstrInfo] Refactor foldOperandImpl to thread through InsertPt. NFCKeno Fischer2015-06-081-0/+2
| | | | | | | | | | | | | | | | | | Summary: This was a longstanding FIXME and is a necessary precursor to cases where foldOperandImpl may have to create more than one instruction (e.g. to constrain a register class). This is the split out NFC changes from D6262. Reviewers: pete, ributzka, uweigand, mcrosier Reviewed By: mcrosier Subscribers: mcrosier, ted, llvm-commits Differential Revision: http://reviews.llvm.org/D10174 llvm-svn: 239336
* [Hexagon] Update AnalyzeBranch, etc target hooksBrendon Cahoon2015-05-081-2/+9
| | | | | | | | | | | | | Improved the AnalyzeBranch, InsertBranch, and RemoveBranch functions in order to handle more of our branch instructions. This requires changes to analyzeCompare and PredicateInstructions. Specifically, we've added support for new value compare jumps, improved handling of endloop, added more compare instructions, and improved support for predicate instructions. Differential Revision: http://reviews.llvm.org/D9559 llvm-svn: 236876
* [Hexagon] Use constant extenders to fix up hardware loopsBrendon Cahoon2015-04-271-1/+3
| | | | | | | | | | Use a loop instruction with a constant extender for a hardware loop instruction that is too far away from the start of the loop. This is cheaper than changing the SA register value. Differential Revision: http://reviews.llvm.org/D9262 llvm-svn: 235882
* [Hexagon] Consider constant-extended offsets to be validKrzysztof Parzyszek2015-04-221-1/+1
| | | | llvm-svn: 235529
* Expand MUX instructions early on HexagonKrzysztof Parzyszek2015-03-311-3/+1
| | | | | | This time with all files included. llvm-svn: 233696
* Revert 233694. Weak SVN-fu.Krzysztof Parzyszek2015-03-311-1/+3
| | | | llvm-svn: 233695
* Expand MUX instructions early on HexagonKrzysztof Parzyszek2015-03-311-3/+1
| | | | llvm-svn: 233694
* Remove some unnecessary forward declarations and put a couple moreEric Christopher2015-03-121-1/+1
| | | | | | where they're supposed to reside. llvm-svn: 232014
* [Hexagon] Use single tailcall pseudoinst and fix checking for label jumping ↵Colin LeMahieu2015-03-091-0/+8
| | | | | | versus tail calling. llvm-svn: 231713
* ArrayRefize memory operand folding. NFC.Benjamin Kramer2015-02-281-7/+5
| | | | llvm-svn: 230846
* Remove unused argument to CreateTargetScheduleState and changeEric Christopher2014-10-091-3/+2
| | | | | | | the TargetMachine to a TargetSubtargetInfo since everything we wanted is off of that. llvm-svn: 219382
* Canonicalize header guards into a common format.Benjamin Kramer2014-08-131-2/+2
| | | | | | | | | | Add header guards to files that were missing guards. Remove #endif comments as they don't seem common in LLVM (we can easily add them back if we decide they're useful) Changes made by clang-tidy with minor tweaks. llvm-svn: 215558
* [C++11] Add 'override' keywords and remove 'virtual'. Additionally add ↵Craig Topper2014-04-291-99/+96
| | | | | | 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. Hexagon edition llvm-svn: 207508
* [C++] Use 'nullptr'.Craig Topper2014-04-281-1/+1
| | | | llvm-svn: 207394
* Replace ValueTypes.h with MachineValueType.h if possible.Patrik Hagglund2014-03-151-0/+2
| | | | | | | | | Utilize the previous move of MVT to a separate header for all trivial cases (that don't need any further restructuring). Reviewed By: Tim Northover llvm-svn: 204003
* Re-sort all of the includes with ./utils/sort_includes.py so thatChandler Carruth2014-01-071-2/+2
| | | | | | | | | | subsequent changes are easier to review. About to fix some layering issues, and wanted to separate out the necessary churn. Also comment and sink the include of "Windows.h" in three .inc files to match the usage in Memory.inc. llvm-svn: 198685
* [weak vtables] Remove a bunch of weak vtablesJuergen Ributzka2013-11-191-0/+1
| | | | | | | | | | | | This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. The memory leaks in this version have been fixed. Thanks Alexey for pointing them out. Differential Revision: http://llvm-reviews.chandlerc.com/D2068 Reviewed by Andy llvm-svn: 195064
* Revert r194865 and r194874.Alexey Samsonov2013-11-181-2/+0
| | | | | | | | | | | | This change is incorrect. If you delete virtual destructor of both a base class and a subclass, then the following code: Base *foo = new Child(); delete foo; will not cause the destructor for members of Child class. As a result, I observe plently of memory leaks. Notable examples I investigated are: ObjectBuffer and ObjectBufferStream, AttributeImpl and StringSAttributeImpl. llvm-svn: 194997
* [weak vtables] Remove a bunch of weak vtablesJuergen Ributzka2013-11-151-0/+2
| | | | | | | | | | | This patch removes most of the trivial cases of weak vtables by pinning them to a single object file. Differential Revision: http://llvm-reviews.chandlerc.com/D2068 Reviewed by Andy llvm-svn: 194865
* DebugInfo: remove target-specific Frame Index handling for DBG_VALUE ↵David Blaikie2013-06-161-5/+0
| | | | | | | | | | MachineInstrs Frame index handling is now target-agnostic, so delete the target hooks for creation & asm printing of target-specific addressing in DBG_VALUEs and any related functions. llvm-svn: 184067
* Don't cache the instruction and register info from the TargetMachine, becauseBill Wendling2013-06-071-1/+1
| | | | | | the internals of TargetMachine could change. llvm-svn: 183490
* Hexagon: Fix switch statements in GetDotOldOp and IsNewifyStore.Jyotsna Verma2013-05-101-0/+2
| | | | | | No functionality change. llvm-svn: 181628
* Hexagon: Fix switch cases in HexagonVLIWPacketizer.cpp.Jyotsna Verma2013-05-101-0/+2
| | | | llvm-svn: 181624
* Hexagon: Remove switch cases from GetDotNewPredOp and isPostIncrement functions.Jyotsna Verma2013-05-091-0/+3
| | | | | | No functionality change. llvm-svn: 181535
* Hexagon: Add multiclass/encoding bits for the New-Value Jump instructions.Jyotsna Verma2013-05-061-0/+6
| | | | llvm-svn: 181235
* reverting r180953Jyotsna Verma2013-05-021-6/+0
| | | | llvm-svn: 180964
* Hexagon: Add multiclass/encoding bits for the New-Value Jump instructions.Jyotsna Verma2013-05-021-0/+6
| | | | llvm-svn: 180953
* Hexagon: Honor __builtin_expect by using branch probabilities.Jyotsna Verma2013-05-021-2/+3
| | | | | | | | | | | | | * lib/Target/Hexagon/HexagonInstrInfo.cpp (GetDotNewPredOp): Given a jump opcode return the right pred.new jump opcode with a taken vs not-taken hint based on branch probabilities provided by the target independent module. * lib/Target/Hexagon/HexagonVLIWPacketizer.cpp: Use the above function. * lib/Target/Hexagon/HexagonNewValueJump.cpp(getNewvalueJumpOpcode): Enhance existing function use branch probabilities like HexagonInstrInfo::GetDotNewPredOp but for New Value (GPR) Jumps. llvm-svn: 180923
* Hexagon: Use multiclass for Jump instructions.Jyotsna Verma2013-05-011-0/+6
| | | | llvm-svn: 180885
* Hexagon: Add emitFrameIndexDebugValue function to emit debug information.Jyotsna Verma2013-03-291-0/+5
| | | | llvm-svn: 178368
* Hexagon: Replace switch-case in isDotNewInst with TSFlags.Jyotsna Verma2013-03-281-0/+2
| | | | llvm-svn: 178281
* Hexagon: Use MO operand flags to mark constant extended instructions.Jyotsna Verma2013-03-051-2/+1
| | | | llvm-svn: 176500
* Hexagon: Add constant extender support framework.Jyotsna Verma2013-03-011-0/+11
| | | | llvm-svn: 176358
* Implement HexagonInstrInfo::analyzeCompare.Krzysztof Parzyszek2013-02-111-0/+4
| | | | llvm-svn: 174901
* Sort includes for all of the .h files under the 'lib' tree. These wereChandler Carruth2012-12-041-1/+1
| | | | | | | | | | missed in the first pass because the script didn't yet handle include guards. Note that the script is now able to handle all of these headers without manual edits. =] llvm-svn: 169224
* *typo: Cyles changed to CyclesKay Tiong Khoo2012-06-131-1/+1
| | | | llvm-svn: 158404
* Revert 156634 upon request until code improvement changes are made.Brendon Cahoon2012-05-141-2/+0
| | | | llvm-svn: 156775
* Support for Hexagon feature, New Value Jump.Sirish Pande2012-05-121-0/+1
| | | | llvm-svn: 156698
* Hexagon constant extender support.Brendon Cahoon2012-05-111-0/+2
| | | | | | Patch by Jyotsna Verma. llvm-svn: 156634
* Support for target dependent Hexagon VLIW packetizer.Sirish Pande2012-05-031-0/+10
| | | | | | This patch creates and optimizes packets as per Hexagon ISA rules. llvm-svn: 156109
* Revert r155365, r155366, and r155367. All three of these have regressionChandler Carruth2012-04-231-15/+3
| | | | | | | | | | | test suite failures. The failures occur at each stage, and only get worse, so I'm reverting all of them. Please resubmit these patches, one at a time, after verifying that the regression test suite passes. Never submit a patch without running the regression test suite. llvm-svn: 155372
OpenPOWER on IntegriCloud