Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Follow up to r114630. Do not optimize away unconditional branch following a ↵ | Evan Cheng | 2010-09-23 | 1 | -6/+4 | |
| | | | | | | conditional one. llvm-svn: 114634 | |||||
* | Disable codegen prepare critical edge splitting. Machine instruction passes now | Evan Cheng | 2010-09-23 | 11 | -25/+28 | |
| | | | | | | break critical edges on demand. llvm-svn: 114633 | |||||
* | If there are multiple unconditional branches terminating a block, eliminate all | Evan Cheng | 2010-09-23 | 1 | -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 be | Evan Cheng | 2010-09-23 | 1 | -1/+10 | |
| | | | | | | close to their sources to facilitate coalescing. llvm-svn: 114631 | |||||
* | SDISel should not optimize a unconditional branch following a conditional branch | Evan Cheng | 2010-09-23 | 1 | -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 Hames | 2010-09-23 | 4 | -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 where | Sean Callanan | 2010-09-23 | 1 | -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 that | Dan Gohman | 2010-09-23 | 2 | -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 a | Jim Grosbach | 2010-09-22 | 6 | -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 Gohman | 2010-09-22 | 1 | -1/+3 | |
| | | | | llvm-svn: 114612 | |||||
* | Enable a few additional asserts in MC instruction lowering. | Jim Grosbach | 2010-09-22 | 1 | -9/+6 | |
| | | | | llvm-svn: 114601 | |||||
* | A select between a constant and zero, when fed by a bit test, can be efficiently | Owen Anderson | 2010-09-22 | 2 | -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 Esfahani | 2010-09-22 | 2 | -4/+5 | |
| | | | | llvm-svn: 114597 | |||||
* | <rdar://problem/8228022> Wvector-conversions warnings in arm_neon.h | Nate Begeman | 2010-09-22 | 1 | -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 calling | Bob Wilson | 2010-09-22 | 1 | -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 Espindola | 2010-09-22 | 8 | -25/+65 | |
| | | | | llvm-svn: 114594 | |||||
* | allow target-specific label suffixes, patch by Yuri Gribov! | Chris Lattner | 2010-09-22 | 3 | -1/+8 | |
| | | | | llvm-svn: 114592 | |||||
* | Fix uninitialized TBAAFlag field values. | Dan Gohman | 2010-09-22 | 1 | -0/+2 | |
| | | | | llvm-svn: 114591 | |||||
* | Combine both VMOVDRR(VMOVRRD) and VMOVRRD(VMOVDRR), instead of just doing one | Bob Wilson | 2010-09-22 | 1 | -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 Gohman | 2010-09-22 | 2 | -77/+123 | |
| | | | | llvm-svn: 114588 | |||||
* | Use DW_OP_fbreg when offset is based on frame register. | Devang Patel | 2010-09-22 | 1 | -0/+10 | |
| | | | | llvm-svn: 114585 | |||||
* | add FIXME | Jim Grosbach | 2010-09-22 | 1 | -0/+1 | |
| | | | | llvm-svn: 114578 | |||||
* | Temporarily work around new address lowering while I figure out what | Eric Christopher | 2010-09-22 | 1 | -1/+2 | |
| | | | | | | needs to happen for darwin. llvm-svn: 114577 | |||||
* | Remove a few commented out bits | Jim Grosbach | 2010-09-22 | 1 | -14/+0 | |
| | | | | llvm-svn: 114576 | |||||
* | Constify. | Dan Gohman | 2010-09-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 114574 | |||||
* | Fix typo and add a FIXME. | Rafael Espindola | 2010-09-22 | 1 | -1/+2 | |
| | | | | llvm-svn: 114570 | |||||
* | When moving zext/sext to be folded with a load, ignore the issue of whether | Bob Wilson | 2010-09-22 | 1 | -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 Grosbach | 2010-09-22 | 2 | -2/+9 | |
| | | | | llvm-svn: 114563 | |||||
* | grammar tweakage | Jim Grosbach | 2010-09-22 | 1 | -2/+2 | |
| | | | | llvm-svn: 114561 | |||||
* | remove trailing whitespace | Jim Grosbach | 2010-09-22 | 1 | -31/+31 | |
| | | | | llvm-svn: 114560 | |||||
* | CrashRecovery/Darwin: Override raise() as well so that crash recovery doesn't | Daniel Dunbar | 2010-09-22 | 1 | -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 Espindola | 2010-09-22 | 2 | -0/+23 | |
| | | | | llvm-svn: 114556 | |||||
* | Add MC instruction printer support for ARM and Thumb1 jump tables. | Jim Grosbach | 2010-09-22 | 1 | -3/+49 | |
| | | | | llvm-svn: 114555 | |||||
* | Attempt to fix llvm-gcc build. It was crashing when building gcov.o for an | Bob Wilson | 2010-09-22 | 1 | -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 Grosbach | 2010-09-22 | 1 | -24/+27 | |
| | | | | llvm-svn: 114553 | |||||
* | Clean up comment. | Jim Grosbach | 2010-09-22 | 1 | -4/+4 | |
| | | | | llvm-svn: 114550 | |||||
* | llvmc: Support '-emit-llvm -S' with -opt. | Mikhail Glushenkov | 2010-09-22 | 3 | -7/+24 | |
| | | | | llvm-svn: 114541 | |||||
* | A more informative output suffix for the opt tool. | Mikhail Glushenkov | 2010-09-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 114540 | |||||
* | fix rdar://8456371 - Handle commutable instructions written backward. | Chris Lattner | 2010-09-22 | 2 | -0/+18 | |
| | | | | llvm-svn: 114536 | |||||
* | Fix an inconsistency in the x86 backend that led it to reject "calll foo" on | Chris Lattner | 2010-09-22 | 22 | -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 Lattner | 2010-09-22 | 4 | -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 math | Chris Lattner | 2010-09-22 | 2 | -21/+27 | |
| | | | | llvm-svn: 114532 | |||||
* | add the missing aliases for fp stack cmovs, rdar://8456391 | Chris Lattner | 2010-09-22 | 2 | -0/+23 | |
| | | | | llvm-svn: 114531 | |||||
* | reimplement elf TLS support in terms of addressing modes, eliminating ↵ | Chris Lattner | 2010-09-22 | 5 | -59/+43 | |
| | | | | | | SegmentBaseAddress. llvm-svn: 114529 | |||||
* | Fix rdar://8456364 - llvm-mc rejects '%CS' | Chris Lattner | 2010-09-22 | 2 | -8/+16 | |
| | | | | llvm-svn: 114528 | |||||
* | fix rdar://8456389 - llvm-mc mismatch with 'as' on 'fstp' | Chris Lattner | 2010-09-22 | 2 | -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 Lattner | 2010-09-22 | 2 | -0/+11 | |
| | | | | llvm-svn: 114526 | |||||
* | convert the last 4 X86ISD nodes that should have memoperands to have them. | Chris Lattner | 2010-09-22 | 4 | -41/+69 | |
| | | | | llvm-svn: 114523 | |||||
* | give X86ISD::FNSTCW16m a memoperand, since it touches memory. It only | Chris Lattner | 2010-09-22 | 3 | -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 only | Chris Lattner | 2010-09-22 | 4 | -22/+29 | |
| | | | | | | used with stack slots, but hey, lets be safe. llvm-svn: 114521 |