summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Follow up to r114630. Do not optimize away unconditional branch following a ↵Evan Cheng2010-09-231-6/+4
| | | | | | conditional one. llvm-svn: 114634
* Disable codegen prepare critical edge splitting. Machine instruction passes nowEvan Cheng2010-09-2311-25/+28
| | | | | | break critical edges on demand. llvm-svn: 114633
* If there are multiple unconditional branches terminating a block, eliminate allEvan Cheng2010-09-231-1/+17
| | | | | | | but the first one. Those will never be executed. There was logic to do this but it was faulty. llvm-svn: 114632
* Don't sink insert_subreg, subreg_to_reg, reg_sequence. They are meant to beEvan Cheng2010-09-231-1/+10
| | | | | | close to their sources to facilitate coalescing. llvm-svn: 114631
* SDISel should not optimize a unconditional branch following a conditional branchEvan Cheng2010-09-231-4/+5
| | | | | | | | | | | | when the unconditional branch destination is the fallthrough block. The canonicalization makes it easier to allow optimizations on DAGs to invert conditional branches. The branch folding pass (and AnalyzeBranch) will clean up the unnecessary unconditional branches later. This is one of the patches leading up to disabling codegen prepare critical edge splitting. llvm-svn: 114630
* Moved the PBQP allocator class out of the header and back in to the cpp file ↵Lang Hames2010-09-234-181/+193
| | | | | | | | | | | | | | to hide the gory details. Allocator instances can now be created by calling createPBQPRegisterAllocator. Tidied up use of CoalescerPair as per Jakob's suggestions. Made the new PBQPBuilder based construction process the default. The internal construction process remains in-place and available via -pbqp-builder=false for now. It will be removed shortly if the new process doesn't cause any regressions. llvm-svn: 114626
* Fixed a crash in the enhanced disassembler whereSean Callanan2010-09-231-0/+2
| | | | | | | because of the lack of a newline, AsmToken::Eof was being found instead of AsmToken::EndOfStatement. llvm-svn: 114621
* Fix llvm-extract -delete's lazy loading to materialize the functions thatDan Gohman2010-09-232-7/+56
| | | | | | will not be deleted, rather than the ones that will. llvm-svn: 114614
* Add support for ELF PLT references for ARM MC asm printing. Adding aJim Grosbach2010-09-226-18/+52
| | | | | | | | new VariantKind to the MCSymbolExpr seems like overkill, but I'm not sure there's a more straightforward way to get the printing difference captured. (i.e., x86 uses @PLT, ARM uses (PLT)). llvm-svn: 114613
* Make SetVector's remove indicate whether it actually removed something.Dan Gohman2010-09-221-1/+3
| | | | llvm-svn: 114612
* Enable a few additional asserts in MC instruction lowering.Jim Grosbach2010-09-221-9/+6
| | | | llvm-svn: 114601
* A select between a constant and zero, when fed by a bit test, can be efficientlyOwen Anderson2010-09-222-0/+42
| | | | | | | lowered using a series of shifts. Fixes <rdar://problem/8285015>. llvm-svn: 114599
* Fix PR8201: Update the code to call via X86::CALL64pcrel32 in the 64-bit case.Cameron Esfahani2010-09-222-4/+5
| | | | llvm-svn: 114597
* <rdar://problem/8228022> Wvector-conversions warnings in arm_neon.hNate Begeman2010-09-221-5/+22
| | | | | | Explicitly cast arguments to the type the builtin expects, which is <vN x i8> llvm-svn: 114596
* Change VDUPLANE DAG combiner to just return the result instead of callingBob Wilson2010-09-221-5/+3
| | | | | | | | CombineTo to avoid putting the result on the worklist. I don't think it makes much difference for now, but it might help someday as we add more DAG combine optimizations. llvm-svn: 114595
* Avoid some Mach-O specific alignment being done on ELF.Rafael Espindola2010-09-228-25/+65
| | | | llvm-svn: 114594
* allow target-specific label suffixes, patch by Yuri Gribov!Chris Lattner2010-09-223-1/+8
| | | | llvm-svn: 114592
* Fix uninitialized TBAAFlag field values.Dan Gohman2010-09-221-0/+2
| | | | llvm-svn: 114591
* Combine both VMOVDRR(VMOVRRD) and VMOVRRD(VMOVDRR), instead of just doing oneBob Wilson2010-09-221-28/+35
| | | | | | | | of those. Refactor to share code for handling BUILD_VECTOR(VMOVRRD). I don't have a testcase that exercises this, but it seems like an obvious good thing to do. llvm-svn: 114589
* Teach memdep about TBAA tags.Dan Gohman2010-09-222-77/+123
| | | | llvm-svn: 114588
* Use DW_OP_fbreg when offset is based on frame register.Devang Patel2010-09-221-0/+10
| | | | llvm-svn: 114585
* add FIXMEJim Grosbach2010-09-221-0/+1
| | | | llvm-svn: 114578
* Temporarily work around new address lowering while I figure out whatEric Christopher2010-09-221-1/+2
| | | | | | needs to happen for darwin. llvm-svn: 114577
* Remove a few commented out bitsJim Grosbach2010-09-221-14/+0
| | | | llvm-svn: 114576
* Constify.Dan Gohman2010-09-221-1/+1
| | | | llvm-svn: 114574
* Fix typo and add a FIXME.Rafael Espindola2010-09-221-1/+2
| | | | llvm-svn: 114570
* When moving zext/sext to be folded with a load, ignore the issue of whetherBob Wilson2010-09-221-1/+2
| | | | | | | | truncates are free only in the case where the extended type is legal but the load type is not. If both types are illegal, such as when they are too big, the load may not be legalized into an extended load. llvm-svn: 114568
* Add PrintSpecial() handling for in ARM MC instruction printer.Jim Grosbach2010-09-222-2/+9
| | | | llvm-svn: 114563
* grammar tweakageJim Grosbach2010-09-221-2/+2
| | | | llvm-svn: 114561
* remove trailing whitespaceJim Grosbach2010-09-221-31/+31
| | | | llvm-svn: 114560
* CrashRecovery/Darwin: Override raise() as well so that crash recovery doesn'tDaniel Dunbar2010-09-221-1/+5
| | | | | | | end up altering the thread on which crashes are done because of its use of Darwin's broken raise() implementation. llvm-svn: 114558
* Correctly align bss.Rafael Espindola2010-09-222-0/+23
| | | | llvm-svn: 114556
* Add MC instruction printer support for ARM and Thumb1 jump tables.Jim Grosbach2010-09-221-3/+49
| | | | llvm-svn: 114555
* Attempt to fix llvm-gcc build. It was crashing when building gcov.o for anBob Wilson2010-09-221-2/+3
| | | | | | | | ARM cross-compiler on x86, because the MMO size did not match the type size. This fixes the MMO size and also the size of the stack object to match the type size. llvm-svn: 114554
* Add MC instruction printer support for TB[BH] style thumb2 jump tables.Jim Grosbach2010-09-221-24/+27
| | | | llvm-svn: 114553
* Clean up comment.Jim Grosbach2010-09-221-4/+4
| | | | llvm-svn: 114550
* llvmc: Support '-emit-llvm -S' with -opt.Mikhail Glushenkov2010-09-223-7/+24
| | | | llvm-svn: 114541
* A more informative output suffix for the opt tool.Mikhail Glushenkov2010-09-221-1/+1
| | | | llvm-svn: 114540
* fix rdar://8456371 - Handle commutable instructions written backward.Chris Lattner2010-09-222-0/+18
| | | | llvm-svn: 114536
* Fix an inconsistency in the x86 backend that led it to reject "calll foo" onChris Lattner2010-09-2222-358/+370
| | | | | | | | | | | | x86-32: 32-bit calls were named "call" not "calll". 64-bit calls were correctly named "callq", so this only impacted x86-32. This fixes rdar://8456370 - llvm-mc rejects 'calll' This also exposes that mingw/64 is generating a 32-bit call instead of a 64-bit call, I will file a bugzilla. llvm-svn: 114534
* fix rdar://8456412 - llvm-mc crash in encoder on "mov %rdx, %cr8"Chris Lattner2010-09-224-43/+40
| | | | | | Teaching the code generator about CR8-15, how to rex them up, etc. llvm-svn: 114533
* fix rdar://8456417 - llvm-mc can't do basic mathChris Lattner2010-09-222-21/+27
| | | | llvm-svn: 114532
* add the missing aliases for fp stack cmovs, rdar://8456391Chris Lattner2010-09-222-0/+23
| | | | llvm-svn: 114531
* reimplement elf TLS support in terms of addressing modes, eliminating ↵Chris Lattner2010-09-225-59/+43
| | | | | | SegmentBaseAddress. llvm-svn: 114529
* Fix rdar://8456364 - llvm-mc rejects '%CS'Chris Lattner2010-09-222-8/+16
| | | | llvm-svn: 114528
* fix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp'Chris Lattner2010-09-222-0/+14
| | | | | | | | | -This line, and those below, will be ignored-- M test/MC/AsmParser/X86/x86_instructions.s M lib/Target/X86/AsmParser/X86AsmParser.cpp llvm-svn: 114527
* fix rdar://8456361 - llvm-mc rejects 'rep movsd'Chris Lattner2010-09-222-0/+11
| | | | llvm-svn: 114526
* convert the last 4 X86ISD nodes that should have memoperands to have them.Chris Lattner2010-09-224-41/+69
| | | | llvm-svn: 114523
* give X86ISD::FNSTCW16m a memoperand, since it touches memory. It onlyChris Lattner2010-09-223-16/+21
| | | | | | can access the stack due to how it is generated though. llvm-svn: 114522
* give FP_TO_INT16_IN_MEM and friends a memoperand. They are onlyChris Lattner2010-09-224-22/+29
| | | | | | used with stack slots, but hey, lets be safe. llvm-svn: 114521
OpenPOWER on IntegriCloud