summaryrefslogtreecommitdiff
path: root/utils
Commit message (Collapse)AuthorAge
* Add opcode to TargetInstrDescriptor.Evan Cheng2006-11-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31804 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a release version of bugpoint, if found. Include gccld passes.Reid Spencer2006-11-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31786 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the isTwoAddress property from the CodeGenInstruction class. It shouldChris Lattner2006-11-15
| | | | | | | | | | | not be used for anything other than backwards compat constraint handling. Add support for a new DisableEncoding property which contains a list of registers that should not be encoded by the generated code emitter. Convert the codeemitter generator to use this, fixing some PPC JIT regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31769 91177308-0d34-0410-b5e6-96231b3b80d8
* ADd support for adding constraints to suboperandsChris Lattner2006-11-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31748 91177308-0d34-0410-b5e6-96231b3b80d8
* restore some 'magic' code that I removed: it is needed. Add comments explainingChris Lattner2006-11-14
| | | | | | | why. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31743 91177308-0d34-0410-b5e6-96231b3b80d8
* minimal hack to get patterns whose result type is iPTR to be selected.Chris Lattner2006-11-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31742 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some dead codeChris Lattner2006-11-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31740 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for nodes that return iPTR.Chris Lattner2006-11-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31739 91177308-0d34-0410-b5e6-96231b3b80d8
* changes to get ptr_rc to be accepted in patterns. This is needed for ppc preincChris Lattner2006-11-14
| | | | | | | stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31738 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug handling nodes with variable arguments. The code was fixed to assumeChris Lattner2006-11-14
| | | | | | | | | | | | | that there were two input operands before the variable operand portion. This *happened* to be true for all call instructions, which took a chain and a destination, but was not true for the PPC BCTRL instruction, whose destination is implicit. Making this code more general allows elimination of the custom selection logic for BCTRL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31732 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some output so the user is informed while they wait.Reid Spencer2006-11-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31700 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -lstdc++ to the link line for C++ programs.Reid Spencer2006-11-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31678 91177308-0d34-0410-b5e6-96231b3b80d8
* allow ptr_rc to explicitly appear in an instructions operand list, it doesn'tChris Lattner2006-11-10
| | | | | | | have to be a subpart of a complex operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31618 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove M_2_ADDR_FLAG.Evan Cheng2006-11-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31583 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't run bugpoint if we can't find a misoptimization.Reid Spencer2006-11-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31582 91177308-0d34-0410-b5e6-96231b3b80d8
* Print a usage message if too few arguments to program.Reid Spencer2006-11-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31581 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a utility script to find a mis-optimization problem. This sometimesReid Spencer2006-11-09
| | | | | | | | helps when bugpoint can't find the problem directly because it needs the set of optimizations that cause the program to fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31580 91177308-0d34-0410-b5e6-96231b3b80d8
* Divide select methods into groups by SelectionDAG node opcodes (ISD::ADD,Evan Cheng2006-11-08
| | | | | | | | | X86ISD::CMP, etc.) instead of SDNode names (add, x86cmp, etc). We now allow multiple SDNodes to map to the same SelectionDAG node (e.g. store, indexed store). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31575 91177308-0d34-0410-b5e6-96231b3b80d8
* Always pass the root node to ComplexPattern isel matching function.Evan Cheng2006-11-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31570 91177308-0d34-0410-b5e6-96231b3b80d8
* emit TIED_TO correctlyChris Lattner2006-11-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31484 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark predicate operands as such in operand info.Chris Lattner2006-11-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31483 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify the way operand flags and constraints are handled, making it easierChris Lattner2006-11-06
| | | | | | | to extend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31481 91177308-0d34-0410-b5e6-96231b3b80d8
* recognize ppc's blr instruction as predicatedChris Lattner2006-11-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31480 91177308-0d34-0410-b5e6-96231b3b80d8
* regenerateChris Lattner2006-11-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31472 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak VC++ build.Jeff Cohen2006-11-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean up some code.Evan Cheng2006-11-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31451 91177308-0d34-0410-b5e6-96231b3b80d8
* Parse PredicateOperand's. When an instruction takes one, have the generatedChris Lattner2006-11-04
| | | | | | | | isel fill in the instruction operands with the 'execute always' value automatically. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31448 91177308-0d34-0410-b5e6-96231b3b80d8
* First steps to getting PredicateOperand's to work. This handles instructionChris Lattner2006-11-04
| | | | | | | and pat pattern definitions. Codegen is not right for them yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31444 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate need for the NumMIOperands field in Operand.Chris Lattner2006-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31432 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an unused variable.Reid Spencer2006-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31403 91177308-0d34-0410-b5e6-96231b3b80d8
* silence warningChris Lattner2006-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31402 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't write out variables that are never used.Reid Spencer2006-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31396 91177308-0d34-0410-b5e6-96231b3b80d8
* silence warningsChris Lattner2006-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31392 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert last patch which causes tblgen to segfault (why, I'm not sure).Reid Spencer2006-11-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31383 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR786:Reid Spencer2006-11-02
| | | | | | | Remove unused variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31381 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR786:Reid Spencer2006-11-02
| | | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
* Tied-to constraint must be op_with_larger_idx = op_with_smaller_idx or else ↵Evan Cheng2006-11-01
| | | | | | throw an exception. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31361 91177308-0d34-0410-b5e6-96231b3b80d8
* Not meant to be checked in.Evan Cheng2006-11-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31334 91177308-0d34-0410-b5e6-96231b3b80d8
* Add operand constraints to TargetInstrInfo.Evan Cheng2006-11-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31333 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 cols fix.Reid Spencer2006-10-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31050 91177308-0d34-0410-b5e6-96231b3b80d8
* Passing isel root and use operands to ComplexPattern functions, these should ↵Evan Cheng2006-10-16
| | | | | | do the usual load folding checks as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30972 91177308-0d34-0410-b5e6-96231b3b80d8
* When checking if a load can be folded, we check if there is any non-directEvan Cheng2006-10-14
| | | | | | | | way to reach the load via any nodes that would be folded. Start from the root of the matched sub-tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30956 91177308-0d34-0410-b5e6-96231b3b80d8
* Really remove dead nodes from isel queue.Evan Cheng2006-10-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30923 91177308-0d34-0410-b5e6-96231b3b80d8
* Use RemoveDeadNode to kill dead node.Evan Cheng2006-10-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30917 91177308-0d34-0410-b5e6-96231b3b80d8
* Prior load folding check on chain operand was too strict. It requires theEvan Cheng2006-10-12
| | | | | | | | | | chain operand to point to the load being folded. Now we relax this, traversing up the chain, if it doesn't reach the load, then it's ok. We will create a TokenFactor (of all the chain operands and the load's chain) to capture all the control flow dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30897 91177308-0d34-0410-b5e6-96231b3b80d8
* Added properties such as SDNPHasChain to ComplexPattern.Evan Cheng2006-10-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30890 91177308-0d34-0410-b5e6-96231b3b80d8
* regenerateChris Lattner2006-10-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30888 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for let expressions around an mdef. This implements a new partChris Lattner2006-10-11
| | | | | | | of Regression/TableGen/MultiClass.td. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30887 91177308-0d34-0410-b5e6-96231b3b80d8
* Special case tblgen generated code for patterns like (and X, 255) or (or X, 42).Chris Lattner2006-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The dag/inst combiners often 'simplify' the masked value based on whether or not the bits are live or known zero/one. This is good and dandy, but often causes special case patterns to fail, such as alpha's CMPBGE pattern, which looks like "(set GPRC:$RC, (setuge (and GPRC:$RA, 255), (and GPRC:$RB, 255)))". Here the pattern for (and X, 255) should match actual dags like (and X, 254) if the dag combiner proved that the missing bits are already zero (one for 'or'). For CodeGen/Alpha/cmpbge.ll:test2 for example, this results in: sll $16,1,$0 cmpbge $0,$17,$0 ret $31,($26),1 instead of: sll $16,1,$0 and $0,254,$0 and $17,255,$1 cmpule $1,$0,$0 ret $31,($26),1 ... and requires no target-specific code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30871 91177308-0d34-0410-b5e6-96231b3b80d8
* Split some code out into a new method. The generated code is exactlyChris Lattner2006-10-11
| | | | | | | identical, this is just a refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30868 91177308-0d34-0410-b5e6-96231b3b80d8