| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Make sure JITResolvers don't leave any stubs behind. When a JITResolver was | Jeffrey Yasskin | 2010-03-04 | 1 | -59/+105 |
| | | | | | | | | destroyed, it could leave stubs in the StubToResolverMap, which would confuse the lookup for subsequent lazy compilations. llvm-svn: 97698 | ||||
| * | enhance comment output to specify what recorded slot | Chris Lattner | 2010-03-04 | 3 | -5/+12 |
| | | | | | | | numbers a ComplexPat will match into. llvm-svn: 97696 | ||||
| * | Fix more code to work properly with vector operands. Based on | Dan Gohman | 2010-03-04 | 1 | -5/+5 |
| | | | | | | | a patch my Micah Villmow for PR6465. llvm-svn: 97692 | ||||
| * | Teach the pic16 target to recognize pic16-*-* triples. | John McCall | 2010-03-04 | 1 | -1/+2 |
| | | | | | llvm-svn: 97691 | ||||
| * | inline CannotYetSelectIntrinsic into CannotYetSelect and simplify. | Chris Lattner | 2010-03-04 | 2 | -20/+16 |
| | | | | | llvm-svn: 97690 | ||||
| * | Fix a logic error. An instruction that has a live physical register def ↵ | Evan Cheng | 2010-03-03 | 1 | -2/+5 |
| | | | | | | | cannot be CSE'ed, but it *can* be used to replace a common subexpression. llvm-svn: 97688 | ||||
| * | Remove PHINodeTraits and use MachineInstrExpressionTrait instead. | Evan Cheng | 2010-03-03 | 2 | -39/+2 |
| | | | | | llvm-svn: 97687 | ||||
| * | Expose the rest of the llvm-c scalar opts to ocaml. | Erick Tryzelaar | 2010-03-03 | 4 | -23/+246 |
| | | | | | llvm-svn: 97685 | ||||
| * | Rename some ocaml functions. | Erick Tryzelaar | 2010-03-03 | 3 | -13/+13 |
| | | | | | llvm-svn: 97684 | ||||
| * | Expose the external functions for ocaml's execution engine as an optimization. | Erick Tryzelaar | 2010-03-03 | 1 | -29/+36 |
| | | | | | llvm-svn: 97683 | ||||
| * | Expose alignment and stack alignment attributes to llvm-c and ocaml. | Erick Tryzelaar | 2010-03-03 | 3 | -1/+7 |
| | | | | | llvm-svn: 97682 | ||||
| * | Move MachineInstrExpressionTrait::getHashValue() out of line so it can skip ↵ | Evan Cheng | 2010-03-03 | 2 | -42/+46 |
| | | | | | | | over only virtual register defs. This matches what isEqual() is doing. llvm-svn: 97680 | ||||
| * | Re-apply r97667 but with a little bit of thought put into the patch. This ↵ | Evan Cheng | 2010-03-03 | 2 | -65/+68 |
| | | | | | | | implements a special DenseMapInfo trait for DenseMap<MachineInstr*> that compare the value of the MachineInstr rather than the pointer value. Since the hashing and equality test functions ignore defs it's useful for doing CSE kind optimization. llvm-svn: 97678 | ||||
| * | Modified the asm string of 16-bit Thumb MUL instruction so that it prints: | Johnny Chen | 2010-03-03 | 1 | -1/+1 |
| | | | | | | | | | MULS <Rdm>, <Rn>, <Rdm> according to A8.6.105 MUL Encoding T1. llvm-svn: 97675 | ||||
| * | Revert 97667. It broke a bunch of tests. | Dan Gohman | 2010-03-03 | 2 | -62/+63 |
| | | | | | llvm-svn: 97673 | ||||
| * | Fix funky indentation and add comments. | Evan Cheng | 2010-03-03 | 1 | -17/+24 |
| | | | | | llvm-svn: 97670 | ||||
| * | Move DenseMapInfo for MachineInstr* to MachineInstr.h | Evan Cheng | 2010-03-03 | 2 | -63/+62 |
| | | | | | llvm-svn: 97667 | ||||
| * | Fix a bug in SelectionDAG's ReplaceAllUsesWith in the case where | Dan Gohman | 2010-03-03 | 1 | -4/+45 |
| | | | | | | | | | | | CSE and recursive RAUW calls delete a node from the use list, invalidating the use list iterator. There's currently no known way to reproduce this in an unmodified LLVM, however there's no fundamental reason why a SelectionDAG couldn't be formed which would trigger this case. llvm-svn: 97665 | ||||
| * | Machine CSE work in progress. It's doing some CSE now. But implicit def of ↵ | Evan Cheng | 2010-03-03 | 1 | -24/+61 |
| | | | | | | | physical registers are getting in the way. llvm-svn: 97664 | ||||
| * | Add MachineRegisterInfo::hasOneUse and hasOneNonDBGUse. | Evan Cheng | 2010-03-03 | 3 | -6/+24 |
| | | | | | llvm-svn: 97663 | ||||
| * | don't use always_inline with gcc 3.4, it has some unimplemented features | Chris Lattner | 2010-03-03 | 1 | -1/+3 |
| | | | | | | | | and is too old to really care about the performance of the generated compiler. llvm-svn: 97662 | ||||
| * | TopLevelMap[] reference is a pointer. | Evan Cheng | 2010-03-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 97661 | ||||
| * | Fix PR6444, note still doesn't compile libgcc2 all the way, but fixes that ↵ | Andrew Lenharth | 2010-03-03 | 1 | -1/+2 |
| | | | | | | | error. May not fix it in an ABI complient way. It wasn't clear what gcc does llvm-svn: 97660 | ||||
| * | fix incorrect folding of icmp with undef, PR6481. | Chris Lattner | 2010-03-03 | 3 | -6/+15 |
| | | | | | llvm-svn: 97659 | ||||
| * | Revert... | Bill Wendling | 2010-03-03 | 1 | -3/+3 |
| | | | | | | | | --- Reverse-merging r97592 into '.': U lib/CodeGen/TargetLoweringObjectFileImpl.cpp llvm-svn: 97657 | ||||
| * | Added 32-bit Thumb instructions LDRT, LDRBT, LDRHT,,LDRSBT, LDRSHT, STRT, STRBT, | Johnny Chen | 2010-03-03 | 1 | -0/+41 |
| | | | | | | | and STRHT for disassembly only. llvm-svn: 97655 | ||||
| * | add some of the more obscure predicate types to the | Chris Lattner | 2010-03-03 | 1 | -56/+99 |
| | | | | | | | Scope accelerator. llvm-svn: 97652 | ||||
| * | speed up scope node processing: if the first element of a scope | Chris Lattner | 2010-03-03 | 2 | -42/+148 |
| | | | | | | | | | | | | | | entry we're about to process is obviously going to fail, don't bother pushing a scope only to have it immediately be popped. This avoids a lot of scope stack traffic in common cases. Unfortunately, this requires duplicating some of the predicate dispatch. To avoid duplicating the actual logic I pulled each predicate out to its own static function which gets used in both places. llvm-svn: 97651 | ||||
| * | introduce a new SwitchTypeMatcher node (which is analogous to | Chris Lattner | 2010-03-03 | 6 | -24/+146 |
| | | | | | | | | | SwitchOpcodeMatcher) and have DAGISelMatcherOpt form it. This speeds up selection, particularly for X86 which has lots of variants of instructions with only type differences. llvm-svn: 97645 | ||||
| * | Fix comment. | Bill Wendling | 2010-03-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 97644 | ||||
| * | Make SCEVExpander and LSR more aggressive about hoisting expressions out | Dan Gohman | 2010-03-03 | 2 | -51/+248 |
| | | | | | | | of loops. llvm-svn: 97642 | ||||
| * | Revert r97580; that's not the right way to fix this. | Dan Gohman | 2010-03-03 | 2 | -124/+34 |
| | | | | | llvm-svn: 97639 | ||||
| * | Work in progress. Finding some cse now. | Evan Cheng | 2010-03-03 | 1 | -4/+88 |
| | | | | | llvm-svn: 97635 | ||||
| * | remove nvload and two patterns that use it which are | Chris Lattner | 2010-03-03 | 1 | -23/+0 |
| | | | | | | | better done by dag combine. llvm-svn: 97633 | ||||
| * | Added 32-bit Thumb instructions t2NOP, t2YIELD, t2WFE, t2WFI, t2SEV, and t2DBG | Johnny Chen | 2010-03-03 | 1 | -0/+28 |
| | | | | | | | for disassembly only. llvm-svn: 97632 | ||||
| * | Use APInt instead of zext value. | Bill Wendling | 2010-03-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 97631 | ||||
| * | factor the 'in the default address space' check out to a single | Chris Lattner | 2010-03-03 | 1 | -51/+30 |
| | | | | | | | | 'dsload' pattern. tblgen doesn't check patterns to see if they're textually identical. This allows better factoring. llvm-svn: 97630 | ||||
| * | factor the 'sign extended from 8 bit' patterns better so | Chris Lattner | 2010-03-03 | 3 | -20/+11 |
| | | | | | | | | | that they are not destination type specific. This allows tblgen to factor them and the type check is redundant with what the isel does anyway. llvm-svn: 97629 | ||||
| * | - Change MachineInstr::isIdenticalTo to take a new option that determines ↵ | Evan Cheng | 2010-03-03 | 7 | -63/+54 |
| | | | | | | | | | whether it should skip checking defs or at least virtual register defs. This subsumes part of the TargetInstrInfo::isIdentical functionality. - Eliminate TargetInstrInfo::isIdentical and replace it with produceSameValue. In the default case, produceSameValue just checks whether two machine instructions are identical (except for virtual register defs). But targets may override it to check for unusual cases (e.g. ARM pic loads from constant pools). llvm-svn: 97628 | ||||
| * | Add an option to enable machine cse (it's not doing anything yet. | Evan Cheng | 2010-03-03 | 1 | -0/+5 |
| | | | | | llvm-svn: 97627 | ||||
| * | Ordering forward declarations. | Evan Cheng | 2010-03-03 | 1 | -3/+3 |
| | | | | | llvm-svn: 97626 | ||||
| * | Don't turn assertions on by default. | Bill Wendling | 2010-03-03 | 1 | -1/+1 |
| | | | | | llvm-svn: 97623 | ||||
| * | Eliminate unused instruction classes. | Evan Cheng | 2010-03-03 | 1 | -13/+0 |
| | | | | | llvm-svn: 97617 | ||||
| * | This test case: | Bill Wendling | 2010-03-03 | 4 | -19/+35 |
| | | | | | | | | | | | | | | | | | | | | | | long test(long x) { return (x & 123124) | 3; } Currently compiles to: _test: orl $3, %edi movq %rdi, %rax andq $123127, %rax ret This is because instruction and DAG combiners canonicalize (or (and x, C), D) -> (and (or, D), (C | D)) However, this is only profitable if (C & D) != 0. It gets in the way of the 3-addressification because the input bits are known to be zero. llvm-svn: 97616 | ||||
| * | Added 32-bit Thumb instructions t2DMB variants, t2DSB variants, and t2ISBsy for | Johnny Chen | 2010-03-03 | 1 | -0/+60 |
| | | | | | | | disassembly only. llvm-svn: 97614 | ||||
| * | Use the ocaml tag 0 since we are just returning an option value. | Erick Tryzelaar | 2010-03-02 | 1 | -1/+1 |
| | | | | | llvm-svn: 97612 | ||||
| * | Don't use an ocaml keyword in an ocamldoc comment. | Erick Tryzelaar | 2010-03-02 | 1 | -7/+8 |
| | | | | | llvm-svn: 97611 | ||||
| * | Expose the optimization level for the jit in ocaml. | Erick Tryzelaar | 2010-03-02 | 3 | -31/+10 |
| | | | | | llvm-svn: 97610 | ||||
| * | Remove module providers from ocaml. | Erick Tryzelaar | 2010-03-02 | 13 | -140/+87 |
| | | | | | llvm-svn: 97609 | ||||
| * | Add Module functions in place of module providers. | Erick Tryzelaar | 2010-03-02 | 6 | -39/+139 |
| | | | | | llvm-svn: 97608 | ||||

