summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add MachineRegisterInfo::hasOneUse and hasOneNonDBGUse.Evan Cheng2010-03-033-6/+24
| | | | llvm-svn: 97663
* don't use always_inline with gcc 3.4, it has some unimplemented featuresChris Lattner2010-03-031-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 Cheng2010-03-031-1/+1
| | | | llvm-svn: 97661
* Fix PR6444, note still doesn't compile libgcc2 all the way, but fixes that ↵Andrew Lenharth2010-03-031-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 Lattner2010-03-033-6/+15
| | | | llvm-svn: 97659
* Implements mangling of local class names toFariborz Jahanian2010-03-032-13/+88
| | | | | | | | fix a code gen crash. This is WIP as not all ABI cases are covered (there is a FIXME to this effect). Fixes radar 7696748. llvm-svn: 97658
* Revert...Bill Wendling2010-03-031-3/+3
| | | | | | | --- Reverse-merging r97592 into '.': U lib/CodeGen/TargetLoweringObjectFileImpl.cpp llvm-svn: 97657
* add framework for ARM builtins, Patch by Edmund Grimley Evans!Chris Lattner2010-03-036-6/+67
| | | | llvm-svn: 97656
* Added 32-bit Thumb instructions LDRT, LDRBT, LDRHT,,LDRSBT, LDRSHT, STRT, STRBT,Johnny Chen2010-03-031-0/+41
| | | | | | and STRHT for disassembly only. llvm-svn: 97655
* Simplify code a bit and remove unneeded semicolons.Benjamin Kramer2010-03-031-7/+4
| | | | llvm-svn: 97654
* Sketch out an implementation for __builtin_dwarf_cfa. I have no ideaJohn McCall2010-03-031-0/+18
| | | | | | why the front-end is calculating the argument to llvm.eh.dwarf.cfa(). llvm-svn: 97653
* add some of the more obscure predicate types to the Chris Lattner2010-03-031-56/+99
| | | | | | Scope accelerator. llvm-svn: 97652
* speed up scope node processing: if the first element of a scopeChris Lattner2010-03-032-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
* Add '-test-print-linkage-source' option to c-index-testTed Kremenek2010-03-032-1/+55
| | | | | | to test clang_getCursorLinkage() llvm-svn: 97648
* Export clang_getCursorLinkage().Ted Kremenek2010-03-031-0/+1
| | | | llvm-svn: 97647
* Add clang_getCursorLinkage(), which returns theTed Kremenek2010-03-032-0/+45
| | | | | | | underlying linkage for the entity referred to by a CXCursor. llvm-svn: 97646
* introduce a new SwitchTypeMatcher node (which is analogous toChris Lattner2010-03-036-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 Wendling2010-03-031-1/+1
| | | | llvm-svn: 97644
* Implement __builtin_eh_return.John McCall2010-03-031-0/+16
| | | | llvm-svn: 97643
* Make SCEVExpander and LSR more aggressive about hoisting expressions outDan Gohman2010-03-032-51/+248
| | | | | | of loops. llvm-svn: 97642
* Fix a bug with base offset merging that Devang noticed.Anders Carlsson2010-03-032-37/+67
| | | | llvm-svn: 97641
* Implement name hiding for names found through virtual base subobjectsDouglas Gregor2010-03-034-5/+154
| | | | | | | | that are hidden by other derived base subobjects reached along a lookup path that does *not* pass through the hiding subobject (C++ [class.member.lookup]p6). Fixes PR6462. llvm-svn: 97640
* Revert r97580; that's not the right way to fix this.Dan Gohman2010-03-032-124/+34
| | | | llvm-svn: 97639
* Add proper target hooks for __builtin_extract_return_address andJohn McCall2010-03-033-4/+36
| | | | | | | __builtin_frob_return_address. The implementations for both are still trivial in the default case. llvm-svn: 97638
* Don't emit derived-to-base destructor aliases if we don't have a definitionJohn McCall2010-03-032-1/+21
| | | | | | | | for the base destructor, because aliases to declarations aren't legal. Fixes PR 6471. llvm-svn: 97637
* Work in progress. Finding some cse now.Evan Cheng2010-03-031-4/+88
| | | | llvm-svn: 97635
* Refactor CXXRecordDecl::lookupInBases() to push the recursion down aDouglas Gregor2010-03-032-28/+41
| | | | | | | level. No functionality change, and it obeys access control this time. llvm-svn: 97634
* remove nvload and two patterns that use it which are Chris Lattner2010-03-031-23/+0
| | | | | | better done by dag combine. llvm-svn: 97633
* Added 32-bit Thumb instructions t2NOP, t2YIELD, t2WFE, t2WFI, t2SEV, and t2DBGJohnny Chen2010-03-031-0/+28
| | | | | | for disassembly only. llvm-svn: 97632
* Use APInt instead of zext value.Bill Wendling2010-03-031-1/+1
| | | | llvm-svn: 97631
* factor the 'in the default address space' check out to a singleChris Lattner2010-03-031-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 Lattner2010-03-033-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 Cheng2010-03-037-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 Cheng2010-03-031-0/+5
| | | | llvm-svn: 97627
* Ordering forward declarations.Evan Cheng2010-03-031-3/+3
| | | | llvm-svn: 97626
* Use SVN_REVISION, not SVN_VERSION.Ted Kremenek2010-03-031-1/+1
| | | | llvm-svn: 97625
* Fix an algorithmic bug in LiveVariables pointed out by Zhongxing.Ted Kremenek2010-03-031-6/+9
| | | | | | | If an initializer in a DeclStmt references the declared variable, that extends the liveness of that variable. llvm-svn: 97624
* Don't turn assertions on by default.Bill Wendling2010-03-031-1/+1
| | | | llvm-svn: 97623
* Revert r97618. Access control sucksDouglas Gregor2010-03-031-18/+9
| | | | llvm-svn: 97621
* Make getClangRevision() check that SVN_VERSION is an empty string Ted Kremenek2010-03-031-8/+8
| | | | | | | | (even if it is defined). This fixes the issue of this function returning '0' when SVN_VERSION is defined to be "". Fixes: <rdar://problem/7663667> llvm-svn: 97620
* Add comments to test case.Zhongxing Xu2010-03-031-0/+2
| | | | llvm-svn: 97619
* Factor out the recursive lookup into C++ base classes into a separate,Douglas Gregor2010-03-031-9/+18
| | | | | | static function. No functionality change. llvm-svn: 97618
* Eliminate unused instruction classes.Evan Cheng2010-03-031-13/+0
| | | | llvm-svn: 97617
* This test case:Bill Wendling2010-03-034-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
* Initialize your storage, dummyDouglas Gregor2010-03-031-0/+2
| | | | llvm-svn: 97615
* Added 32-bit Thumb instructions t2DMB variants, t2DSB variants, and t2ISBsy forJohnny Chen2010-03-031-0/+60
| | | | | | disassembly only. llvm-svn: 97614
* Don't use echo in the Index test, which I hope will work around an ↵Douglas Gregor2010-03-032-2/+3
| | | | | | intermittent Windows failure llvm-svn: 97613
* Use the ocaml tag 0 since we are just returning an option value.Erick Tryzelaar2010-03-021-1/+1
| | | | llvm-svn: 97612
* Don't use an ocaml keyword in an ocamldoc comment.Erick Tryzelaar2010-03-021-7/+8
| | | | llvm-svn: 97611
* Expose the optimization level for the jit in ocaml.Erick Tryzelaar2010-03-023-31/+10
| | | | llvm-svn: 97610
OpenPOWER on IntegriCloud