summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Added LDRT/LDRBT/STRT/STRBT for disassembly only.Johnny Chen2010-02-111-0/+32
| | | | llvm-svn: 95916
* unbreak the build.Chris Lattner2010-02-111-1/+1
| | | | llvm-svn: 95915
* llvm-db was removed.Dan Gohman2010-02-111-16/+0
| | | | llvm-svn: 95904
* Destroy MDNodes while destructing llvm context.Devang Patel2010-02-111-1/+4
| | | | llvm-svn: 95903
* refactor x86 conditional branches to use a multipatternChris Lattner2010-02-111-1/+1
| | | | | | | that generates the 1-byte and 4-byte immediate versions from one definition. llvm-svn: 95902
* refactor the conditional jump instructions in the .td file toChris Lattner2010-02-116-133/+111
| | | | | | | use a multipattern that generates both the 1-byte and 4-byte versions from the same defm llvm-svn: 95901
* Make Kaleidoscope not link against the interpreter, since that didn'tJeffrey Yasskin2010-02-1112-21/+53
| | | | | | | | work anyway (Interpreter::getPointerToFunction doesn't return a callable pointer), and improve the error message when an ExecutionEngine can't be created. llvm-svn: 95896
* Forgot to also check in this file for vcvt (floating-point <-> fixed-point, ↵Johnny Chen2010-02-111-0/+9
| | | | | | | | VFP). Sorry! llvm-svn: 95892
* Allow for more than one DBG_VALUE targeting theDale Johannesen2010-02-111-4/+4
| | | | | | same dead instruction. llvm-svn: 95890
* Don't allow DBG_VALUE to affect codegen.Dale Johannesen2010-02-111-0/+3
| | | | llvm-svn: 95889
* Added VCVT (between floating-point and fixed-point, VFP) for disassembly.Johnny Chen2010-02-111-0/+95
| | | | | | A8.6.297 llvm-svn: 95885
* Added BKPT/tBKPT (breakpoint) to the instruction table for disassembly purpose.Johnny Chen2010-02-112-0/+17
| | | | llvm-svn: 95884
* Use array_pod_sort instead of std::sort for improved code size.Jakob Stoklund Olesen2010-02-111-2/+2
| | | | | | | Use SmallVector instead of std::vector for better speed when indirectbr has few successors. llvm-svn: 95879
* Make sure that ConstantExpr offsets also aren't off of externEric Christopher2010-02-112-2/+23
| | | | | | | | symbols. Thanks to Duncan Sands for the testcase! llvm-svn: 95877
* Add pseudo instruction TRAP for disassembly, which is encoded according to A5-21Johnny Chen2010-02-111-0/+10
| | | | | | as the "Permanently UNDEFINED" instruction. llvm-svn: 95873
* Use .empty() instead of .size().Bill Wendling2010-02-111-2/+2
| | | | llvm-svn: 95871
* dont' call getX86RegNum on X86::RIP, it doesn't like that. ThisChris Lattner2010-02-112-3/+7
| | | | | | fixes the remaining x86-64 jit failures afaik. llvm-svn: 95867
* fix a really nasty bug I introduced in r95693: r12 (and r12d, Chris Lattner2010-02-112-7/+12
| | | | | | | | | r12b, etc) also encodes to a R/M value of 4, which is just as illegal as ESP/RSP for the non-sib version an address. This fixes x86-64 jit miscompilations of a bunch of programs. llvm-svn: 95866
* Fix (harmless) memory leak found by memcheck.Jeffrey Yasskin2010-02-111-0/+1
| | | | llvm-svn: 95862
* Add and commonize encoder support for all immediates.Chris Lattner2010-02-111-110/+35
| | | | | | | | | | | | | | | Stub out some dummy fixups to make things work. We can now emit fixups like this: subl $20, %esp ## encoding: [0x83,0xec,A] ## fixup A - offset: 2, value: 20, kind: fixup_1byte_imm Emitting $20 as a single-byte fixup to be later resolved by the assembler is ridiculous of course (vs just emitting the byte) but this is a failure of the matcher, which should be producing an imm of 20, not an MCExpr of 20. llvm-svn: 95860
* generalize EmitDisplacementField to work with any sizeChris Lattner2010-02-111-14/+13
| | | | | | and rename it to EmitImmediate. llvm-svn: 95859
* eliminate the dead IsPCRel argument.Chris Lattner2010-02-111-9/+6
| | | | llvm-svn: 95858
* eliminate the dead "PCAdj" logic.Chris Lattner2010-02-111-22/+9
| | | | llvm-svn: 95857
* Fix some of the memcheck errors found in the JIT unittests.Jeffrey Yasskin2010-02-115-31/+20
| | | | llvm-svn: 95856
* Rename ValueRequiresCast to ShouldOptimizeCast, to better reflectChris Lattner2010-02-114-55/+113
| | | | | | | | | | | | | | what it does. Enhance it to return false to optimizing vector sign extensions from vector comparisions, which is the idiom used to get a splatted vector for a vector comparison. Doing this breaks vector-casts.ll, add some compensating transformations to handle the important case they cover without depending on this canonicalization. This fixes rdar://7434900 a serious pessimization of vector compares. llvm-svn: 95855
* convert to filecheck.Chris Lattner2010-02-111-4/+2
| | | | llvm-svn: 95854
* Make DSE only scan blocks that are reachable from the entryChris Lattner2010-02-112-1/+21
| | | | | | | | | block. Other blocks may have pointer cycles that will crash basicaa and other alias analyses. In any case, there is no point wasting cycles optimizing dead blocks. This fixes rdar://7635088 llvm-svn: 95852
* a testcase that doesn't crash GVN but could someday.Chris Lattner2010-02-111-3/+19
| | | | llvm-svn: 95851
* Make jump threading honor x|undef -> true and x&undef -> false,Chris Lattner2010-02-112-3/+77
| | | | | | instead of considering x|undef -> x, which may not be true. llvm-svn: 95850
* Add ConstantExpr handling to Intrinsic::objectsize lowering.Eric Christopher2010-02-112-3/+27
| | | | | | | Update testcase accordingly now that we can optimize another section. llvm-svn: 95846
* test case for r95842.Devang Patel2010-02-111-0/+7
| | | | llvm-svn: 95844
* Fix to get it to compile.Bill Wendling2010-02-111-1/+1
| | | | llvm-svn: 95840
* Don't print out a default newline when emitting the section offset. There areBill Wendling2010-02-112-2/+1
| | | | | | almost always comments afterwards that need printing. llvm-svn: 95839
* Make it possible to create multiple JIT instances at the same time, by removingJeffrey Yasskin2010-02-115-43/+297
| | | | | | | | | | the global TheJIT and TheJITResolver variables. Lazy compilation is supported by a global map from a stub address to the JITResolver that knows how to compile it. Patch by Olivier Meurant! llvm-svn: 95837
* Reuse operand location when updating PHI instructions.Jakob Stoklund Olesen2010-02-111-7/+26
| | | | | | | | Calling RemoveOperand is very expensive on huge PHI instructions. This makes early tail duplication run twice as fast on the Firefox JavaScript interpreter. llvm-svn: 95832
* Remove duplicate successors from indirectbr instructions before building the ↵Jakob Stoklund Olesen2010-02-111-2/+8
| | | | | | | | | machine CFG. This makes early tail duplication run 60 times faster when compiling the Firefox JavaScript interpreter, see PR6186. llvm-svn: 95831
* Ignore dbg info intrinsics.Devang Patel2010-02-111-0/+4
| | | | llvm-svn: 95828
* Remove the few # TAILCALL comments that snuck in. As they may fail on linux.Kevin Enderby2010-02-111-4/+4
| | | | llvm-svn: 95827
* Update the X86 assembler matcher test case now that a few more things matchKevin Enderby2010-02-111-5/+161
| | | | | | with some of the recent changes that have gone into llvm-mc. llvm-svn: 95826
* Add support to llvm-extract for extracting multiple functions and/orDan Gohman2010-02-102-24/+36
| | | | | | multiple global variables at a time. llvm-svn: 95825
* The previous fix of widening divides that trap was too fragile as it depends ↵Mon P Wang2010-02-105-24/+141
| | | | | | | | | | | on custom lowering and requires that certain types exist in ValueTypes.h. Modified widening to check if an op can trap and if so, the widening algorithm will apply only the op on the defined elements. It is safer to do this in widening because the optimizer can't guarantee removing unused ops in some cases. llvm-svn: 95823
* Ignore debug info one more place during coalescing.Dale Johannesen2010-02-101-0/+2
| | | | llvm-svn: 95819
* Allow isDebug inquiry on any MO.Dale Johannesen2010-02-101-1/+0
| | | | llvm-svn: 95818
* Delete dead PHI machine instructions. These can be created due to typeBob Wilson2010-02-103-5/+7
| | | | | | | | | legalization even when the IR-level optimizer has removed dead phis, such as when the high half of an i64 value is unused on a 32-bit target. I had to adjust a few test cases that had dead phis. This is a partial fix for Radar 7627077. llvm-svn: 95816
* Skip debug info in a couple of places.Dale Johannesen2010-02-101-3/+7
| | | | llvm-svn: 95814
* Use an index instead of pointers into the vector. If the vector resizes, thenBill Wendling2010-02-102-12/+13
| | | | | | the pointer values could be invalid. llvm-svn: 95813
* When I rewrote this loop per Chris' preference IDale Johannesen2010-02-101-0/+3
| | | | | | changed its behavior. Oops. llvm-svn: 95811
* add a virtual dtor to MCTargetExpr, hopefully silencing some warnings.Chris Lattner2010-02-101-1/+1
| | | | llvm-svn: 95810
* A few missed optimizations; the last one could have a significant impact onEli Friedman2010-02-101-0/+66
| | | | | | code with lots of bitfields. llvm-svn: 95809
* work around a gcc bug with -Wuninitialized.Chris Lattner2010-02-101-0/+1
| | | | llvm-svn: 95808
OpenPOWER on IntegriCloud