summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Enhance RegionStore::InvalidateRegions() to correctly invalidate bindingsTed Kremenek2010-02-132-12/+63
| | | | | | by scanning through the values of LazyCompoundVals. llvm-svn: 96067
* Enable the inlinehint attribute in the Inliner.Jakob Stoklund Olesen2010-02-131-13/+12
| | | | | | | | | | | | | | | | | | | | Functions explicitly marked inline will get an inlining threshold slightly more aggressive than the default for -O3. This means than -O3 builds are mostly unaffected while -Os builds will be a bit bigger and faster. The difference depends entirely on how many 'inline's are sprinkled on the source. In the CINT2006 suite, only these tests are significantly affected under -Os: Size Time 471.omnetpp +1.63% -1.85% 473.astar +4.01% -6.02% 483.xalancbmk +4.60% 0.00% Note that 483.xalancbmk runs too quickly to give useful timing results. llvm-svn: 96066
* Fixed encodings for invlpg, invept, and invvpid.Sean Callanan2010-02-132-35/+10
| | | | llvm-svn: 96065
* MC/AsmParser: Attempt to constant fold expressions up-front. This ensures we ↵Daniel Dunbar2010-02-134-12/+26
| | | | | | avoid fixups for obvious cases like '-(16)'. llvm-svn: 96064
* Added a bunch of saturating add/subtract instructions for disassembly only.Johnny Chen2010-02-131-0/+72
| | | | llvm-svn: 96063
* Switch the standard DeclarationName comparator to be a tri-valued comparator.John McCall2010-02-133-26/+42
| | | | | | | Use that while fixing a nasty misuse of qsort in vtable codegen which, somehow, has not actually caused a crash. llvm-svn: 96062
* Pull logic for visiting value bindings in InvalidateRegionsWorker into a ↵Ted Kremenek2010-02-131-20/+28
| | | | | | | | separate method. No functionality change. llvm-svn: 96060
* rip out the 'heinous' x86 MCCodeEmitter implementation.Chris Lattner2010-02-135-340/+4
| | | | | | | We still have the templated X86 JIT emitter, *and* the almost-copy in X86InstrInfo for getting instruction sizes. llvm-svn: 96059
* remove special cases for vmlaunch, vmresume, vmxoff, and swapgsChris Lattner2010-02-138-21/+73
| | | | | | fix swapgs to be spelled right. llvm-svn: 96058
* Besides removing phi cycles that reduce to a single value, also remove deadBob Wilson2010-02-136-25/+114
| | | | | | | | phi cycles. Adjust a few tests to keep dead instructions from being optimized away. This (together with my previous change for phi cycles) fixes Apple radar 7627077. llvm-svn: 96057
* Override dominates and properlyDominates for SCEVAddRecExpr, as aDan Gohman2010-02-132-0/+19
| | | | | | | SCEVAddRecExpr doesn't necessarily dominate blocks merely dominated by all of its operands. This fixes an abort compiling 403.gcc. llvm-svn: 96056
* MC/X86: Push immediate operands as immediates not expressions when possible.Daniel Dunbar2010-02-134-20/+24
| | | | llvm-svn: 96055
* Fix for PR6274: teach constant folding to evaluate __builtin_expect.Eli Friedman2010-02-132-2/+6
| | | | llvm-svn: 96054
* if-0 out printf.Eli Friedman2010-02-131-1/+1
| | | | llvm-svn: 96052
* Make PassRegistrar thread-safe since it can be modified by code running inJeffrey Yasskin2010-02-131-0/+9
| | | | | | separate LLVMContexts. llvm-svn: 96051
* Remove special cases for [LM]FENCE, MONITOR and MWAIT fromChris Lattner2010-02-124-41/+9
| | | | | | encoder and decoder by using new MRM_ forms. llvm-svn: 96048
* Add an option to disable the LLVM verifier pass (which is still alwaysJohn McCall2010-02-122-1/+3
| | | | | | | disabled in NDEBUG builds). The option applies only to -cc1 invocations and is: -disable_llvm_verifier llvm-svn: 96046
* add some disassemble testcases for weird instructionsChris Lattner2010-02-121-0/+14
| | | | llvm-svn: 96045
* Funnel changes to the ImportedDecls list in the ASTImporter through aDouglas Gregor2010-02-124-29/+44
| | | | | | | single Imported function, in preparation for fixing a serious design flaw. llvm-svn: 96044
* Reworked the Intel disassembler to support instructionsSean Callanan2010-02-121-17/+51
| | | | | | | | | | | | whose opcodes extend into the ModR/M field using the Form field of the instruction rather than by special casing each instruction. Commented out the special casing of VMCALL, which is the first instruction to use this special form. While I was in the neighborhood, added a few comments for people modifying the Intel disassembler. llvm-svn: 96043
* Fix bug I introduced with assinging a temporary to a StringRef.Ted Kremenek2010-02-122-3/+3
| | | | llvm-svn: 96041
* implement the rest of correct x86-64 encoder support for Chris Lattner2010-02-122-5/+39
| | | | | | rip-relative addresses, and add a testcase. llvm-svn: 96040
* Add the problem I just hacked around in 96015/96020.Dale Johannesen2010-02-121-0/+17
| | | | | | | The solution there produces correct code, but is seriously deficient in several ways. llvm-svn: 96039
* give MCCodeEmitters access to the current MCContext.Chris Lattner2010-02-126-16/+25
| | | | llvm-svn: 96038
* Make JIT::runFunction clean up the generated stub function.Jeffrey Yasskin2010-02-121-2/+6
| | | | | | Patch by Shivram K! llvm-svn: 96037
* implement infrastructure to support fixups for rip-rel Chris Lattner2010-02-122-13/+32
| | | | | | | addressing. This isn't complete because I need an MCContext to generate new MCExprs. llvm-svn: 96036
* Make the following functions thread-safe but having them return an ↵Ted Kremenek2010-02-124-33/+26
| | | | | | | | | | | | std::string that is reconstructed every time they are called: getClangRevision() getClangFullRepositoryVersion() getClangFullVersion() llvm-svn: 96033
* Add YIELD, WFE, WFI, and SEV instructions for disassembly only.Johnny Chen2010-02-122-5/+36
| | | | | | | Plus add two formats: MiscFrm and ThumbMiscFrm. Some of the for disassembly only instructions are changed from Pseudo Format to MiscFrm Format. llvm-svn: 96032
* pull the rip-relative addressing mode case up early.Chris Lattner2010-02-121-5/+12
| | | | llvm-svn: 96031
* fixme resolved!Chris Lattner2010-02-121-1/+0
| | | | llvm-svn: 96029
* start producing reloc_pcrel_4byte/reloc_pcrel_1byte for calls.Chris Lattner2010-02-121-23/+28
| | | | llvm-svn: 96028
* Fix a comment typo.Bob Wilson2010-02-121-1/+1
| | | | llvm-svn: 96027
* enhance the immediate field encoding to know whether the immediateChris Lattner2010-02-123-23/+59
| | | | | | is pc relative or not, mark call and branches as pcrel. llvm-svn: 96026
* Implement AST importing and merging for enumeration types andDouglas Gregor2010-02-125-21/+330
| | | | | | enumerators, along with ImplicitCastExprs to make it work. llvm-svn: 96024
* Load / store multiple instructions cannot load / store sp. Sorry, can't come ↵Evan Cheng2010-02-121-1/+2
| | | | | | up with a reasonable test case. llvm-svn: 96023
* This should have gone in with 26015, see comments there.Dale Johannesen2010-02-121-0/+12
| | | | llvm-svn: 96020
* Add halfword multiply accumulate long SMLALBB/BT/TB/TT for disassembly only.Johnny Chen2010-02-121-1/+33
| | | | llvm-svn: 96019
* doxygenize some comments, patch by Peter Collingbourne!Chris Lattner2010-02-123-53/+53
| | | | llvm-svn: 96018
* Complain if block-literal expression's parameter name isFariborz Jahanian2010-02-123-2/+16
| | | | | | missing (in c/objc mode). Fixes radar 7528255. llvm-svn: 96017
* When save/restoring CR at prolog/epilog, in a largeDale Johannesen2010-02-122-14/+60
| | | | | | | | | | | | | | | | | stack frame, the prolog/epilog code was using the same register for the copy of CR and the address of the save slot. Oops. This is fixed here for Darwin, sort of, by reserving R2 for this case. A better way would be to do the store before the decrement of SP, which is safe on Darwin due to the red zone. SVR4 probably has the same problem, but I don't know how to fix it; there is no red zone and R2 is already used for something else. I'm going to leave it to someone interested in that target. Better still would be to rewrite the CR-saving code completely; spilling each CR subregister individually is horrible code. llvm-svn: 96015
* (1) Correctly format external Javascript link.Ted Kremenek2010-02-1213-20/+41
| | | | | | (2) Reformat "annotations" topics list to use a collapsable tree. llvm-svn: 96013
* Don't error when setting a sub-structure variable via objc propertiesFariborz Jahanian2010-02-121-6/+1
| | | | | | in objective-c++ mode (do it for objective-c only). llvm-svn: 96012
* Add support for a union type in LLVM IR. Patch by Talin!Chris Lattner2010-02-1224-59/+612
| | | | llvm-svn: 96011
* Add SWP (Swap) and SWPB (Swap Byte) for disassembly only.Johnny Chen2010-02-121-0/+21
| | | | llvm-svn: 96010
* Also recognize armv6t2-* and armv5te-* triplets.Evan Cheng2010-02-121-5/+12
| | | | llvm-svn: 96008
* Fix a case of mismatched types in an Add that turned up in 447.dealII.Dan Gohman2010-02-121-0/+2
| | | | llvm-svn: 96007
* Add ARM bitcode file magic.Evan Cheng2010-02-121-3/+32
| | | | llvm-svn: 96006
* Reapply 95979, a compile-time speedup, now that the bug it exposed is fixed.Dan Gohman2010-02-121-1/+1
| | | | llvm-svn: 96005
* fix a bug in SourceManager::getInstantiationLocSlowCase, whereChris Lattner2010-02-122-3/+16
| | | | | | | | | | | we'd add an offset from the spelling location space to the instantiation location, which doesn't make sense and would lead up to the text diagnostics crashing when presented with non-sensical locations. This fixes rdar://7597492, a crash on 255.vortex. llvm-svn: 96004
* Patch to fix a warning which exposed a bug in buildingFariborz Jahanian2010-02-123-13/+69
| | | | | | | a qualified objective-c pointer type. Fixes radar 7638810. (Also removes a FIXME). llvm-svn: 96003
OpenPOWER on IntegriCloud