summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen
Commit message (Collapse)AuthorAgeFilesLines
* Refactoring, no functionality change.Mikhail Glushenkov2009-12-071-98/+163
| | | | llvm-svn: 90764
* Minor code simplification.Dan Gohman2009-12-052-10/+8
| | | | llvm-svn: 90628
* OptParser: Emit HelpText field for option groups.Daniel Dunbar2009-12-041-1/+12
| | | | llvm-svn: 90599
* Forward -save-temps to llvm-gcc.Mikhail Glushenkov2009-12-011-0/+3
| | | | llvm-svn: 90214
* Sketch TableGen disassembler emitter, based on patch by Sean Callanan.Daniel Dunbar2009-11-254-0/+66
| | | | llvm-svn: 89833
* Delete some dead and non-obvious code.Dan Gohman2009-11-242-55/+0
| | | | llvm-svn: 89729
* Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used.Dan Gohman2009-11-231-1/+0
| | | | | | | | Note that "hasDotLocAndDotFile"-style debug info was already broken; people wanting this functionality should implement it in the AsmPrinter/DwarfWriter code. llvm-svn: 89711
* Fix whitespace.Bob Wilson2009-11-223-288/+267
| | | | llvm-svn: 89582
* Fix pr5470. Tablegen handles template arguments by temporarily setting theirBob Wilson2009-11-221-8/+20
| | | | | | | | | | | values, resolving references to them, and then removing the definitions. If a template argument is set to an undefined value, we need to resolve references to that argument to an explicit undefined value. The current code leaves the reference to the template argument as it is, which causes an assertion failure later when the definition of the template argument is removed. llvm-svn: 89581
* Fix some spelling in comments.Bob Wilson2009-11-212-4/+4
| | | | llvm-svn: 89566
* Avoid a redundant assertion.Bob Wilson2009-11-211-2/+1
| | | | llvm-svn: 89565
* TableGen/OptParser: When ordering options, make "sentinel" options appear beforeDaniel Dunbar2009-11-191-3/+10
| | | | | | everything else. llvm-svn: 89368
* De-bork CMake buildDouglas Gregor2009-11-181-0/+1
| | | | llvm-svn: 89272
* TableGen: Add initial backend for clang Driver's option parsing.Daniel Dunbar2009-11-183-10/+248
| | | | llvm-svn: 89245
* Implement DISABLE_INLINE for MSVC. This required changing the position in allBenjamin Kramer2009-11-141-5/+4
| | | | | | forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi! llvm-svn: 88798
* Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to ↵Evan Cheng2009-11-141-0/+18
| | | | | | replace broken code in VirtRegRewriter. llvm-svn: 88753
* Show command-line args and features passed into backend in debug output. ↵Sandeep Patel2009-11-111-0/+4
| | | | | | Approved by Evan Cheng. llvm-svn: 86797
* It is invalid to infer the value type from the result #0 of the nodeAnton Korobeynikov2009-11-081-1/+1
| | | | | | since the instruction might use the other result of different type. llvm-svn: 86462
* clang++ points out that this is pointless.Chris Lattner2009-11-061-1/+1
| | | | llvm-svn: 86239
* Don't print a redundant tab for inline asm, and do use the new printKill.Dan Gohman2009-11-061-2/+1
| | | | llvm-svn: 86206
* mark some constant global const.Chris Lattner2009-11-031-7/+8
| | | | llvm-svn: 85910
* Do not infer the target type for COPY_TO_REGCLASS from dest regclass, this ↵Anton Korobeynikov2009-11-021-1/+0
| | | | | | | won't work if it can contain several types. Require explicit result type for the node for now. This fixes PR5364. PS: It seems that blackfin usage of copy_to_regclass is completely bogus! llvm-svn: 85766
* Initial target-independent CodeGen support for BlockAddresses.Dan Gohman2009-10-301-0/+1
| | | | llvm-svn: 85556
* Move some code from being emitted as boilerplate duplicated in everyDan Gohman2009-10-291-58/+0
| | | | | | *ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp. llvm-svn: 85530
* Rename usesCustomDAGSchedInserter to usesCustomInserter, and update aDan Gohman2009-10-294-5/+4
| | | | | | | | bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. llvm-svn: 85517
* Sorry to break the build.Johnny Chen2009-10-291-1158/+0
| | | | | | | I was trying to check the WIP file to some local repository, but ended up checking in the llvm repository. Oops! llvm-svn: 85470
* Minor tweak to forgo the the curly braces for most case blocks, except whenJohnny Chen2009-10-291-0/+1158
| | | | | | declaring local variables. llvm-svn: 85467
* 80-col violation.Mikhail Glushenkov2009-10-271-1/+2
| | | | llvm-svn: 85215
* Move DataTypes.h to include/llvm/System, update all users. This breaks the lastChandler Carruth2009-10-263-3/+3
| | | | | | direct inclusion edge from System to Support. llvm-svn: 85086
* Make 'unset_option' work on list options.Mikhail Glushenkov2009-10-221-6/+6
| | | | llvm-svn: 84827
* Implement any_[not_]empty and list versions of switch_on and [not_]empty.Mikhail Glushenkov2009-10-211-60/+146
| | | | | | Useful for OptionPreprocessor. llvm-svn: 84728
* More refactoring...Mikhail Glushenkov2009-10-191-46/+55
| | | | llvm-svn: 84537
* Refactoring, no functionality change.Mikhail Glushenkov2009-10-181-69/+158
| | | | llvm-svn: 84450
* Move UnescapeString to a static function for its sole client; its ↵Daniel Dunbar2009-10-171-0/+23
| | | | | | inefficient and broken. llvm-svn: 84358
* Use raw_ostream::write_escaped instead of EscapeString.Daniel Dunbar2009-10-172-12/+13
| | | | llvm-svn: 84356
* First draft of the OptionPreprocessor.Mikhail Glushenkov2009-10-171-32/+191
| | | | | | More to follow... llvm-svn: 84352
* This variable is never used.Mikhail Glushenkov2009-10-171-2/+1
| | | | llvm-svn: 84351
* Disallow multiple instances of PluginPriority.Mikhail Glushenkov2009-10-171-4/+10
| | | | | | | Several instances of PluginPriority in a single file most probably signifies a programming error. llvm-svn: 84350
* Report errors correctly for unselected target intrinsics.Jakob Stoklund Olesen2009-10-152-2/+12
| | | | llvm-svn: 84193
* Omit the 'out_file_index != -1' check when possible.Mikhail Glushenkov2009-10-091-6/+54
| | | | llvm-svn: 83619
* Input files should go before all other options.Mikhail Glushenkov2009-10-081-14/+24
| | | | | | Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'. llvm-svn: 83524
* Add instruction flags: hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. WhenEvan Cheng2009-10-013-0/+6
| | | | | | | | | | set, these flags indicate the instructions source / def operands have special register allocation requirement that are not captured in their register classes. Post-allocation passes (e.g. post-alloc scheduler) should not change their allocations. e.g. ARM::LDRD require the two definitions to be allocated even / odd register pair. llvm-svn: 83196
* Introduce the TargetInstrInfo::KILL machine instruction and get rid of theJakob Stoklund Olesen2009-09-284-9/+11
| | | | | | | | | | unused DECLARE instruction. KILL is not yet used anywhere, it will replace TargetInstrInfo::IMPLICIT_DEF in the places where IMPLICIT_DEF is just used to alter liveness of physical registers. llvm-svn: 83006
* Add a way to query the number of input files.Mikhail Glushenkov2009-09-281-5/+21
| | | | llvm-svn: 82957
* A bit prettier formatting.Mikhail Glushenkov2009-09-281-3/+3
| | | | llvm-svn: 82955
* Improve MachineMemOperand handling.Dan Gohman2009-09-251-18/+11
| | | | | | | | | | | | | | | | | | | | | - Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions. This eliminates MachineInstr's std::list member and allows the data to be created by isel and live for the remainder of codegen, avoiding a lot of copying and unnecessary translation. This also shrinks MemSDNode. - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated fields for MachineMemOperands. - Change MemSDNode to have a MachineMemOperand member instead of its own fields with the same information. This introduces some redundancy, but it's more consistent with what MachineInstr will eventually want. - Ignore alignment when searching for redundant loads for CSE, but remember the greatest alignment. Target-specific code which previously used MemOperandSDNodes with generic SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range so that the SelectionDAG framework knows that MachineMemOperand information is available. llvm-svn: 82794
* Rename getTargetNode to getMachineNode, for consistency with theDan Gohman2009-09-251-3/+3
| | | | | | | | naming scheme used in SelectionDAG, where there are multiple kinds of "target" nodes, but "machine" nodes are nodes which represent a MachineInstr. llvm-svn: 82790
* Make the end-of-itinerary mark explicit. Some cleanup.David Goodwin2009-09-241-5/+3
| | | | llvm-svn: 82709
* Use raw_ostream::indent instead of passing strings.Mikhail Glushenkov2009-09-211-145/+163
| | | | llvm-svn: 82456
* convert some stuff to StringRef to avoid temporary std::strings.Chris Lattner2009-09-182-47/+47
| | | | llvm-svn: 82244
OpenPOWER on IntegriCloud