| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | New testcase, neither should require a register-register copy | Chris Lattner | 2005-09-09 | 1 | -0/+26 |
| | | | | | llvm-svn: 23290 | ||||
| * | add an accessor to provide more checking | Chris Lattner | 2005-09-09 | 2 | -5/+9 |
| | | | | | llvm-svn: 23289 | ||||
| * | use new accessors to simplify code. Add checking to make sure top-level instr | Chris Lattner | 2005-09-09 | 1 | -4/+12 |
| | | | | | | | definitions are void llvm-svn: 23288 | ||||
| * | add some accessors | Chris Lattner | 2005-09-09 | 1 | -0/+2 |
| | | | | | llvm-svn: 23287 | ||||
| * | Introduce two new concepts: | Chris Lattner | 2005-09-09 | 1 | -11/+75 |
| | | | | | | | | | | | | | | | 1. Add support for defining Pattern's, which can match expressions when there is no instruction that directly implements something. Instructions usually implicitly define patterns. 2. Add support for defining SDNodeXForm's, which are node transformations. This seperates the concept of a node xform out from the existing predicate support. Using this new stuff, we add a few instruction patterns, one for testing, and two for OR/XOR by an arbitrary immediate. llvm-svn: 23286 | ||||
| * | Fix incorrect comment | Chris Lattner | 2005-09-08 | 1 | -3/+2 |
| | | | | | llvm-svn: 23285 | ||||
| * | Implement a complete type inference system for dag patterns, based on the | Chris Lattner | 2005-09-08 | 2 | -13/+234 |
| | | | | | | | | | | | | | | | | constraints defined in the DAG node definitions in the .td files. This allows us to infer (and check!) the types for all nodes in the current ppc .td file. For example, instead of: Inst pattern EQV: (set GPRC:i32:$rT, (xor (xor GPRC:i32:$rA, GPRC:i32:$rB), (imm)<<Predicate_immAllOnes>>)) we now fully infer: Inst pattern EQV: (set:void GPRC:i32:$rT, (xor:i32 (xor:i32 GPRC:i32:$rA, GPRC:i32:$rB), (imm:i32)<<Predicate_immAllOnes>>)) from: (set GPRC:$rT, (not (xor GPRC:$rA, GPRC:$rB))) llvm-svn: 23284 | ||||
| * | whitespace/comment changes, no functionality diffs | Chris Lattner | 2005-09-08 | 1 | -2/+5 |
| | | | | | llvm-svn: 23283 | ||||
| * | Compute the value types that are natively supported by a target. | Chris Lattner | 2005-09-08 | 3 | -2/+25 |
| | | | | | llvm-svn: 23282 | ||||
| * | Parse information about type constraints on SDNodes | Chris Lattner | 2005-09-08 | 2 | -0/+71 |
| | | | | | llvm-svn: 23281 | ||||
| * | use node info in the one place we currently use it | Chris Lattner | 2005-09-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 23280 | ||||
| * | start parsing SDNode info records | Chris Lattner | 2005-09-08 | 2 | -0/+39 |
| | | | | | llvm-svn: 23279 | ||||
| * | Move yet more folds over to the dag combiner from sd.cpp | Nate Begeman | 2005-09-08 | 2 | -12/+68 |
| | | | | | llvm-svn: 23278 | ||||
| * | Add a bunch of stuff needed for node type inference. Move 'BLR' down with | Chris Lattner | 2005-09-08 | 1 | -21/+114 |
| | | | | | | | | the rest of the instructions, add comment markers to seperate portions of the file into logical parts llvm-svn: 23277 | ||||
| * | Fix indentation | Chris Lattner | 2005-09-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 23276 | ||||
| * | regenerate | Chris Lattner | 2005-09-08 | 1 | -224/+259 |
| | | | | | llvm-svn: 23275 | ||||
| * | Add support for automatically created anonymous definitions. | Chris Lattner | 2005-09-08 | 1 | -1/+30 |
| | | | | | | | This implements Regression/TableGen/AnonDefinitionOnDemand.td llvm-svn: 23274 | ||||
| * | x and X should be structurally identical | Chris Lattner | 2005-09-08 | 1 | -0/+12 |
| | | | | | llvm-svn: 23273 | ||||
| * | new expression type | Chris Lattner | 2005-09-08 | 1 | -0/+2 |
| | | | | | llvm-svn: 23272 | ||||
| * | regenerate | Chris Lattner | 2005-09-08 | 2 | -1630/+1141 |
| | | | | | llvm-svn: 23271 | ||||
| * | Tabs to spaces. | Chris Lattner | 2005-09-08 | 1 | -12/+12 |
| | | | | | llvm-svn: 23270 | ||||
| * | Keep names even when inlining. This allows us to realize that ADDI is: | Chris Lattner | 2005-09-08 | 1 | -1/+2 |
| | | | | | | | | | | | | | (set GPRC:i32:$rD, (add GPRC:i32:$rA, (imm)<<Predicate_immSExt16>>:$imm)) not: (set GPRC:i32:$rD, (add GPRC:i32:$rA, (imm)<<Predicate_immSExt16>>)) (we keep the ":$imm") llvm-svn: 23269 | ||||
| * | add patterns for x?oris? | Chris Lattner | 2005-09-08 | 2 | -8/+31 |
| | | | | | llvm-svn: 23268 | ||||
| * | add patterns to the addi/addis/mulli etc instructions. Define predicates | Chris Lattner | 2005-09-08 | 2 | -16/+52 |
| | | | | | | | for matching signed 16-bit and shifted 16-bit ppc immediates llvm-svn: 23267 | ||||
| * | Add patterns for some new instructions, allowing the use of the ineg fragment. | Chris Lattner | 2005-09-08 | 2 | -10/+10 |
| | | | | | llvm-svn: 23266 | ||||
| * | add some missing PPC backend files | Chris Lattner | 2005-09-07 | 1 | -0/+6 |
| | | | | | llvm-svn: 23265 | ||||
| * | Add tblgen fpcmp and the nightly tester to the utils folder | Chris Lattner | 2005-09-07 | 1 | -0/+71 |
| | | | | | llvm-svn: 23264 | ||||
| * | ignore generated files | Chris Lattner | 2005-09-07 | 3 | -0/+3 |
| | | | | | llvm-svn: 23263 | ||||
| * | Remove some cases handled by the generated portion of the isel | Chris Lattner | 2005-09-07 | 1 | -13/+3 |
| | | | | | llvm-svn: 23262 | ||||
| * | Initial cut of the dag isel generator. This is still very much a work in | Chris Lattner | 2005-09-07 | 2 | -1/+643 |
| | | | | | | | | | | | progress. It correctly parses instructions and pattern fragments and glues together pattern fragments into instructions. The only code it generates currently is some boilerplate code for things like the EntryNode. llvm-svn: 23261 | ||||
| * | Another round of dag combiner changes. This fixes some missing XOR folds | Nate Begeman | 2005-09-07 | 2 | -17/+48 |
| | | | | | | | as well as fixing how we replace old values with new values. llvm-svn: 23260 | ||||
| * | Fix a bug that Tzu-Chien Chiu noticed: live interval analysis does NOT | Chris Lattner | 2005-09-07 | 1 | -1/+0 |
| | | | | | | | preserve livevar llvm-svn: 23259 | ||||
| * | Implement a common missing fold, (add (add x, c1), c2) -> (add x, c1+c2). | Nate Begeman | 2005-09-07 | 1 | -8/+14 |
| | | | | | | | | This restores all of stanford to being identical with and without the dag combiner with the add folding turned off in sd.cpp. llvm-svn: 23258 | ||||
| * | On non-apple systems, when using -march=ppc32, do not print: | Chris Lattner | 2005-09-07 | 1 | -1/+1 |
| | | | | | | | | | '' is not a recognized processor for this target (ignoring processor) Default to "generic" instead of "" for the default CPU. llvm-svn: 23257 | ||||
| * | Print: | Chris Lattner | 2005-09-07 | 1 | -4/+4 |
| | | | | | | | | | | | '' is not a recognized processor for this target (ignoring processor) instead of: is not a recognized processor for this target (ignoring processor) llvm-svn: 23256 | ||||
| * | Fix a bug nate ran into with replacealluseswith. In the recursive cse case, | Chris Lattner | 2005-09-07 | 1 | -15/+45 |
| | | | | | | | | | we were losing a node, causing an assertion to fail. Now we eagerly delete discovered CSE's, and provide an optional vector to keep track of these discovered equivalences. llvm-svn: 23255 | ||||
| * | Add a new argument to ReplaceAllUsesWith to keep track of nodes deleted by | Chris Lattner | 2005-09-07 | 1 | -3/+11 |
| | | | | | | | this method llvm-svn: 23254 | ||||
| * | Add an option to the DAG Combiner to enable it for beta runs, and turn on | Nate Begeman | 2005-09-07 | 2 | -5/+25 |
| | | | | | | | that option for PowerPC's beta. llvm-svn: 23253 | ||||
| * | Rename a class. These files are being migrated to the new isel and I want to | Chris Lattner | 2005-09-06 | 2 | -66/+66 |
| | | | | | | | reuse the names llvm-svn: 23252 | ||||
| * | Test the new 64bit i64<->fp functionality | Nate Begeman | 2005-09-06 | 1 | -0/+17 |
| | | | | | llvm-svn: 23251 | ||||
| * | Implement i64<->fp using the fctidz/fcfid instructions on PowerPC when we | Nate Begeman | 2005-09-06 | 4 | -13/+69 |
| | | | | | | | | | | are allowed to generate 64-bit-only PowerPC instructions for 32 bit hosts, such as the PowerPC 970. This speeds up 189.lucas from 81.99 to 32.64 seconds. llvm-svn: 23250 | ||||
| * | regenerate | Chris Lattner | 2005-09-06 | 1 | -86/+90 |
| | | | | | llvm-svn: 23249 | ||||
| * | Tighten up the specification to allow TableGen/nested-comment.td to pass | Chris Lattner | 2005-09-06 | 1 | -3/+3 |
| | | | | | | | (fixing a bug where / in a /* */ comment would cause it to not close). llvm-svn: 23248 | ||||
| * | new testcase: tblgen should grok this. | Chris Lattner | 2005-09-06 | 1 | -0/+12 |
| | | | | | llvm-svn: 23247 | ||||
| * | Fix up the AssertXext problem, as well as adding it at calls | Andrew Lenharth | 2005-09-06 | 2 | -14/+25 |
| | | | | | llvm-svn: 23246 | ||||
| * | Add note about future optimization noted in the ppc compiler writer's guide | Nate Begeman | 2005-09-06 | 1 | -0/+4 |
| | | | | | llvm-svn: 23245 | ||||
| * | Add accessor for 64bit flag, so that we can tell when it is safe to | Nate Begeman | 2005-09-06 | 2 | -1/+3 |
| | | | | | | | generate the fun in-register fp<->long instructions. llvm-svn: 23244 | ||||
| * | Next round of DAGCombiner changes. This version now passes all the tests | Nate Begeman | 2005-09-06 | 1 | -236/+231 |
| | | | | | | | | I have run so far when run before Legalize. It still needs to pick up the SetCC folds, and nodes that use SetCC. llvm-svn: 23243 | ||||
| * | Add a requirement, patch contributed by Henrik Bach. | Chris Lattner | 2005-09-06 | 1 | -0/+6 |
| | | | | | llvm-svn: 23242 | ||||
| * | revert part of the last change, should fix regressions | Andrew Lenharth | 2005-09-04 | 2 | -6/+11 |
| | | | | | llvm-svn: 23241 | ||||

