summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Hexagon: Remove assembler mapped instruction definitions.Jyotsna Verma2013-04-231-8/+0
| | | | llvm-svn: 180133
* Hexagon: Remove duplicate instructions to handle global/immediate valuesJyotsna Verma2013-04-231-15/+0
| | | | | | for absolute/absolute-set addressing modes. llvm-svn: 180120
* Hexagon: Add emitFrameIndexDebugValue function to emit debug information.Jyotsna Verma2013-03-291-0/+9
| | | | llvm-svn: 178368
* Hexagon: Replace switch-case in isDotNewInst with TSFlags.Jyotsna Verma2013-03-281-0/+14
| | | | llvm-svn: 178281
* Hexagon: Add and enable memops setbit, clrbit, &,|,+,- for byte, short, and ↵Jyotsna Verma2013-03-221-73/+44
| | | | | | word. llvm-svn: 177747
* Hexagon: Removed asserts regarding alignment and offset.Jyotsna Verma2013-03-141-5/+4
| | | | | | We are warning the user about the alignment, so we should not assert. llvm-svn: 177103
* Hexagon: Use MO operand flags to mark constant extended instructions.Jyotsna Verma2013-03-051-454/+37
| | | | llvm-svn: 176500
* Hexagon: Add constant extender support framework.Jyotsna Verma2013-03-011-0/+171
| | | | llvm-svn: 176358
* Hexagon: add support for predicate-GPR copies.Anshuman Dasgupta2013-02-131-0/+12
| | | | llvm-svn: 175102
* Hexagon: Use absolute addressing mode loads/stores for global+offset Jyotsna Verma2013-02-131-127/+0
| | | | | | instead of redefining separate instructions for them. llvm-svn: 175086
* Hexagon: Add support to generate predicated absolute addressing modeJyotsna Verma2013-02-121-20/+123
| | | | | | instructions. llvm-svn: 174973
* Extend Hexagon hardware loop generation to handle various additional cases:Krzysztof Parzyszek2013-02-111-0/+3
| | | | | | | | - variety of compare instructions, - loops with no preheader, - arbitrary lower and upper bounds. llvm-svn: 174904
* Implement HexagonInstrInfo::analyzeCompare.Krzysztof Parzyszek2013-02-111-0/+82
| | | | llvm-svn: 174901
* Replace LDriu*[bhdw]_indexed_V4 instructions with "def Pats".Jyotsna Verma2013-02-011-72/+0
| | | | llvm-svn: 174193
* Add indexed load/store instructions for offset validation check.Jyotsna Verma2013-01-171-0/+4
| | | | | | This patch fixes bug 14902 - http://llvm.org/bugs/show_bug.cgi?id=14902 llvm-svn: 172737
* Use the new script to sort the includes of every file under lib.Chandler Carruth2012-12-031-3/+3
| | | | | | | | | | | | | | | | | Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
* Use multiclass for 'transfer' instructions.Jyotsna Verma2012-11-291-1/+1
| | | | llvm-svn: 168929
* Removing some unused instruction definitions from the Hexagon backend.Jyotsna Verma2012-11-201-18/+0
| | | | llvm-svn: 168388
* Use the relationship models infrastructure to add two relations - getPredOpcodePranav Bhandarkar2012-11-011-18/+10
| | | | | | | | | | and getPredNewOpcode. The first relates non predicated instructions with their predicated forms and the second relates predicated instructions with their predicate-new forms. Patch by Jyotsna Verma! llvm-svn: 167243
* *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-168/+17
| | | | llvm-svn: 156775
* Hexagon: Initialize TBB to 0.Benjamin Kramer2012-05-131-0/+1
| | | | | | Found by valgrind. llvm-svn: 156744
* Make sure new value jump is enabled for Hexagon V5 as well.Sirish Pande2012-05-121-10/+27
| | | | llvm-svn: 156700
* Support for Hexagon feature, New Value Jump.Sirish Pande2012-05-121-0/+25
| | | | llvm-svn: 156698
* Hexagon constant extender support.Brendon Cahoon2012-05-111-17/+168
| | | | | | Patch by Jyotsna Verma. llvm-svn: 156634
* Hexagon V5 FP Support.Sirish Pande2012-05-101-5/+18
| | | | llvm-svn: 156568
* Support for target dependent Hexagon VLIW packetizer.Sirish Pande2012-05-031-39/+1114
| | | | | | This patch creates and optimizes packets as per Hexagon ISA rules. llvm-svn: 156109
* Extensions of Hexagon V4 instructions.Sirish Pande2012-05-031-7/+0
| | | | | | This adds new instructions for Hexagon V4 architecture. llvm-svn: 156071
* Revert r155365, r155366, and r155367. All three of these have regressionChandler Carruth2012-04-231-1156/+49
| | | | | | | | | | | 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
* Hexagon V5 (floating point) support.Sirish Pande2012-04-231-0/+13
| | | | llvm-svn: 155367
* Support for Hexagon architectural feature, new value jump.Sirish Pande2012-04-231-0/+20
| | | | llvm-svn: 155366
* Support for Hexagon VLIW Packetizer.Sirish Pande2012-04-231-50/+1124
| | | | llvm-svn: 155365
* Convert more uses of XXXRegisterClass to &XXXRegClass. No functional change ↵Craig Topper2012-04-201-15/+14
| | | | | | since they are equivalent. llvm-svn: 155188
* This reverts a long string of commits to the Hexagon backend. TheseChandler Carruth2012-04-181-1051/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commits have had several major issues pointed out in review, and those issues are not being addressed in a timely fashion. Furthermore, this was all committed leading up to the v3.1 branch, and we don't need piles of code with outstanding issues in the branch. It is possible that not all of these commits were necessary to revert to get us back to a green state, but I'm going to let the Hexagon maintainer sort that out. They can recommit, in order, after addressing the feedback. Reverted commits, with some notes: Primary commit r154616: HexagonPacketizer - There are lots of review comments here. This is the primary reason for reverting. In particular, it introduced large amount of warnings due to a bad construct in tablegen. - Follow-up commits that should be folded back into this when reposting: - r154622: CMake fixes - r154660: Fix numerous build warnings in release builds. - Please don't resubmit this until the three commits above are included, and the issues in review addressed. Primary commit r154695: Pass to replace transfer/copy ... - Reverted to minimize merge conflicts. I'm not aware of specific issues with this patch. Primary commit r154703: New Value Jump. - Primarily reverted due to merge conflicts. - Follow-up commits that should be folded back into this when reposting: - r154703: Remove iostream usage - r154758: Fix CMake builds - r154759: Fix build warnings in release builds - Please incorporate these fixes and and review feedback before resubmitting. Primary commit r154829: Hexagon V5 (floating point) support. - Primarily reverted due to merge conflicts. - Follow-up commits that should be folded back into this when reposting: - r154841: Remove unused variable (fixing build warnings) There are also accompanying Clang commits that will be reverted for consistency. llvm-svn: 155047
* Hexagon V5 (Floating Point) Support.Sirish Pande2012-04-161-19/+21
| | | | llvm-svn: 154829
* Add support for Hexagon Architectural feature, New Value Jump.Sirish Pande2012-04-131-3/+23
| | | | llvm-svn: 154696
* Silence various build warnings from Hexagon backend that show up in release ↵Craig Topper2012-04-131-207/+203
| | | | | | builds. Mostly converting 'assert(0)' to 'llvm_unreachable' to silence warnings about missing returns. Also fold some variable declarations into asserts to prevent the variables from being unused in release builds. llvm-svn: 154660
* HexagonPacketizer patch.Sirish Pande2012-04-121-2/+1011
| | | | llvm-svn: 154616
* Hexagon: enable assembler output through the MC layer.Evandro Menezes2012-04-121-1/+1
| | | | llvm-svn: 154597
* Reorder includes in Target backends to following coding standards. Remove ↵Craig Topper2012-03-171-1/+1
| | | | | | some superfluous forward declarations. llvm-svn: 152997
* Efficient pattern for store truncate. Patch by Evandro Menezes.Sirish Pande2012-02-221-1/+0
| | | | llvm-svn: 151166
* Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, ↵Jia Liu2012-02-181-1/+1
| | | | | | MSP430, PPC, PTX, Sparc, X86, XCore. llvm-svn: 150878
* Optimize redundant sign extends and negation of predicates.Sirish Pande2012-02-151-16/+472
| | | | llvm-svn: 150606
* Revert "Optimize redundant sign extends and negation of predicates"Eric Christopher2012-02-151-472/+16
| | | | | | | | as it's breaking the build. This reverts commit 11241abca5e2a313412fed594bb9d9fa2a2057fb. llvm-svn: 150604
* Optimize redundant sign extends and negation of predicatesSirish Pande2012-02-151-16/+472
| | | | llvm-svn: 150601
* Use TSFlag bit to describe instruction properties.Brendon Cahoon2012-02-081-206/+2
| | | | | | | | Creating the isPredicated TSFlag enables the code to use the property defined in the instruction format instead of using a large switch statement. llvm-svn: 150078
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-071-9/+6
| | | | llvm-svn: 149961
* Hexagon: Remove forbidden iostream includes (it introduces static initializers)Benjamin Kramer2012-02-061-6/+3
| | | | | | Reorder includes while at it. llvm-svn: 149863
* VLIW specific scheduler framework that utilizes deterministic finite ↵Andrew Trick2012-02-011-0/+30
| | | | | | | | | | automaton (DFA). This new scheduler plugs into the existing selection DAG scheduling framework. It is a top-down critical path scheduler that tracks register pressure and uses a DFA for pipeline modeling. Patch by Sergei Larin! llvm-svn: 149547
* More dead code removal (using -Wunreachable-code)David Blaikie2012-01-201-2/+0
| | | | llvm-svn: 148578
OpenPOWER on IntegriCloud