| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Avoid creating %physreg:subidx operands in ↵ | Jakob Stoklund Olesen | 2010-07-09 | 1 | -1/+4 |
| | | | | | | | | | SimpleRegisterCoalescing::RemoveCopyByCommutingDef. This fixes PR7602. llvm-svn: 107957 | ||||
| * | Deal with a few remaining spots that assume physical registers have live ↵ | Jakob Stoklund Olesen | 2010-07-09 | 1 | -2/+4 |
| | | | | | | | | | intervals. This fixes PR7601. llvm-svn: 107955 | ||||
| * | Fix broken isCopy handling in TrimLiveIntervalToLastUse. | Jakob Stoklund Olesen | 2010-07-09 | 1 | -3/+7 |
| | | | | | llvm-svn: 107950 | ||||
| * | Handle COPY in VirtRegRewriter. | Jakob Stoklund Olesen | 2010-07-09 | 1 | -0/+28 |
| | | | | | llvm-svn: 107949 | ||||
| * | Re-apply bottom-up fast-isel, with fixes. Be very careful to avoid emitting | Dan Gohman | 2010-07-09 | 9 | -263/+383 |
| | | | | | | | a DBG_VALUE after a terminator, or emitting any instructions before an EH_LABEL. llvm-svn: 107943 | ||||
| * | Reenable DAG combining for vector shuffles. It looks like it was temporarily | Bob Wilson | 2010-07-09 | 1 | -2/+0 |
| | | | | | | | | | disabled and then never turned back on again. Adjust some tests, one because this change avoids an unnecessary instruction, and the other to make it continue testing what it was intended to test. llvm-svn: 107941 | ||||
| * | Reverting r107918 and r107919. Radar 8063111. | Stuart Hastings | 2010-07-08 | 1 | -4/+11 |
| | | | | | llvm-svn: 107930 | ||||
| * | Revert "Fix broken isCopy handling in TrimLiveIntervalToLastUse" | Jakob Stoklund Olesen | 2010-07-08 | 1 | -7/+3 |
| | | | | | | | This reverts commit 107921. It broke the clang self host. llvm-svn: 107926 | ||||
| * | Relax assertion. In optimized code, it is possible that first instruction is ↵ | Devang Patel | 2010-07-08 | 1 | -1/+1 |
| | | | | | | | | | coming from a inlined function. This fixes PR7596 . llvm-svn: 107923 | ||||
| * | Extension of r107506. Make sure that we don't mark a function as having a call | Bill Wendling | 2010-07-08 | 1 | -1/+2 |
| | | | | | | | if the inline ASM doesn't need a stack frame. llvm-svn: 107922 | ||||
| * | Fix broken isCopy handling in TrimLiveIntervalToLastUse | Jakob Stoklund Olesen | 2010-07-08 | 1 | -3/+7 |
| | | | | | llvm-svn: 107921 | ||||
| * | Fix decl/def debug info for template functions. Radar 8063111. | Stuart Hastings | 2010-07-08 | 1 | -11/+4 |
| | | | | | llvm-svn: 107919 | ||||
| * | Reuse DIEInteger for 1. This is frequently used while emitting an attribute ↵ | Devang Patel | 2010-07-08 | 2 | -1/+5 |
| | | | | | | | using dwarf::DW_FORM_flag form. llvm-svn: 107903 | ||||
| * | Clean up scavengeRegister() a bit to prefer available regs, which allows | Jim Grosbach | 2010-07-08 | 2 | -18/+7 |
| | | | | | | | | | the simplification of frame index register scavenging to not have to check for available registers directly and instead just let scavengeRegister() handle it. llvm-svn: 107880 | ||||
| * | Convert EXTRACT_SUBREG to COPY when emitting machine instrs. | Jakob Stoklund Olesen | 2010-07-08 | 13 | -113/+88 |
| | | | | | | | | | | EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead. Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg(). The isMoveInstr hook will be removed later. llvm-svn: 107879 | ||||
| * | Remove references to INSERT_SUBREG after de-SSA. | Jakob Stoklund Olesen | 2010-07-08 | 7 | -131/+9 |
| | | | | | | | | Fix X86InstrInfo::convertToThreeAddressWithLEA to generate COPY instead of INSERT_SUBREG. llvm-svn: 107878 | ||||
| * | Merge the duplicated iabs optimization in DAGCombiner and let it detected a ↵ | Benjamin Kramer | 2010-07-08 | 1 | -30/+26 |
| | | | | | | | few more idioms. llvm-svn: 107868 | ||||
| * | Add TargetInstrInfo::copyPhysReg hook and use it from LowerSubregs. | Jakob Stoklund Olesen | 2010-07-08 | 2 | -36/+25 |
| | | | | | | | | | | This target hook is intended to replace copyRegToReg entirely, but for now it calls copyRegToReg. Any remaining calls to copyRegToReg wil be replaced by COPY instructions. llvm-svn: 107854 | ||||
| * | Revert 107840 107839 107813 107804 107800 107797 107791. | Dan Gohman | 2010-07-08 | 8 | -306/+262 |
| | | | | | | | Debug info intrinsics win for now. llvm-svn: 107850 | ||||
| * | When processing frame index virtual registers, consider all available registers | Jim Grosbach | 2010-07-08 | 2 | -3/+23 |
| | | | | | | | | | (if there are any) and use the one which remains available for the longest rather than just using the first one. This should help enable better re-use of the loaded frame index values. rdar://7318760 llvm-svn: 107847 | ||||
| * | Don't forward-declare registers for static allocas, which we'll | Dan Gohman | 2010-07-07 | 1 | -1/+3 |
| | | | | | | | | prefer to materialize as local constants. This fixes the clang bootstrap abort. llvm-svn: 107840 | ||||
| * | Fix -fast-isel-abort to check the right instruction. | Dan Gohman | 2010-07-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 107839 | ||||
| * | One MDNode may be used to create regular DIE as well as abstract DIE. | Devang Patel | 2010-07-07 | 2 | -1/+17 |
| | | | | | | | Keep track of abstract subprogram DIEs. llvm-svn: 107822 | ||||
| * | Move getExtLoad() and (some) getLoad() DebugLoc argument after EVT argument ↵ | Evan Cheng | 2010-07-07 | 6 | -70/+72 |
| | | | | | | | for consistency sake. llvm-svn: 107820 | ||||
| * | Not all custom inserters create new basic blocks. If the inserter | Dan Gohman | 2010-07-07 | 1 | -2/+5 |
| | | | | | | | didn't create a new block, don't reset the insert position. llvm-svn: 107813 | ||||
| * | Rename couple of maps. | Devang Patel | 2010-07-07 | 1 | -11/+9 |
| | | | | | llvm-svn: 107810 | ||||
| * | 80 cols. | Devang Patel | 2010-07-07 | 1 | -12/+21 |
| | | | | | llvm-svn: 107807 | ||||
| * | Implement bottom-up fast-isel. This has the advantage of not requiring | Dan Gohman | 2010-07-07 | 5 | -77/+100 |
| | | | | | | | a separate DCE pass over MachineInstrs. llvm-svn: 107804 | ||||
| * | Add X86FastISel support for return statements. This entails refactoring | Dan Gohman | 2010-07-07 | 3 | -79/+74 |
| | | | | | | | | a bunch of stuff, to allow the target-independent calling convention logic to be employed. llvm-svn: 107800 | ||||
| * | Update the insert position after scheduling, which may change the | Dan Gohman | 2010-07-07 | 1 | -0/+1 |
| | | | | | | | | position when emitting multiple blocks when executing a custom inserter. llvm-svn: 107797 | ||||
| * | Update comment. | Devang Patel | 2010-07-07 | 1 | -3/+4 |
| | | | | | llvm-svn: 107796 | ||||
| * | Fix debugging strings. | Dan Gohman | 2010-07-07 | 1 | -2/+2 |
| | | | | | llvm-svn: 107795 | ||||
| * | Give FunctionLoweringInfo an MBB member, avoiding the need to pass it | Dan Gohman | 2010-07-07 | 2 | -109/+129 |
| | | | | | | | | | around everywhere, and also give it an InsertPt member, to enable isel to operate at an arbitrary position within a block, rather than just appending to a block. llvm-svn: 107791 | ||||
| * | Simplify FastISel's constructor by giving it a FunctionLoweringInfo | Dan Gohman | 2010-07-07 | 2 | -47/+27 |
| | | | | | | | | | | instance, rather than pointers to all of FunctionLoweringInfo's members. This eliminates an NDEBUG ABI sensitivity. llvm-svn: 107789 | ||||
| * | Move FunctionLoweringInfo.h out into include/llvm/CodeGen. This will | Dan Gohman | 2010-07-07 | 5 | -148/+4 |
| | | | | | | | allow target-specific fast-isel code to make use of it directly. llvm-svn: 107787 | ||||
| * | Split the SDValue out of OutputArg so that SelectionDAG-independent | Dan Gohman | 2010-07-07 | 2 | -41/+12 |
| | | | | | | | code can do calling-convention queries. This obviates OutputArgReg. llvm-svn: 107786 | ||||
| * | Move CallingConvLower.cpp out of the SelectionDAG directory. | Dan Gohman | 2010-07-07 | 3 | -1/+1 |
| | | | | | llvm-svn: 107781 | ||||
| * | Fix more places assuming subregisters have live intervals | Jakob Stoklund Olesen | 2010-07-07 | 1 | -1/+6 |
| | | | | | llvm-svn: 107780 | ||||
| * | Add a getFirstNonPHI utility function. | Dan Gohman | 2010-07-07 | 1 | -0/+7 |
| | | | | | llvm-svn: 107778 | ||||
| * | Revert "Remove references to INSERT_SUBREG after de-SSA" r107725. | Jakob Stoklund Olesen | 2010-07-07 | 7 | -9/+136 |
| | | | | | | | Buildbot breakage. llvm-svn: 107744 | ||||
| * | By default, the eh.sjlj.setjmp/longjmp intrinsics should just do nothing rather | Jim Grosbach | 2010-07-06 | 1 | -2/+7 |
| | | | | | | | | than assuming a target will custom lower them. Targets which do so should exlicitly mark them as having custom lowerings. PR7454. llvm-svn: 107734 | ||||
| * | Remove references to INSERT_SUBREG after de-SSA | Jakob Stoklund Olesen | 2010-07-06 | 7 | -136/+9 |
| | | | | | llvm-svn: 107732 | ||||
| * | Convert INSERT_SUBREG to COPY in TwoAddressInstructionPass. | Jakob Stoklund Olesen | 2010-07-06 | 3 | -2/+35 |
| | | | | | | | | | | INSERT_SUBREG will now only appear in SSA machine instructions. Fix the handling of partial redefs in ProcessImplicitDefs. This is now relevant since partial redef COPY instructions appear. llvm-svn: 107726 | ||||
| * | CanLowerReturn doesn't need a SelectionDAG; it just needs an LLVMContext. | Dan Gohman | 2010-07-06 | 2 | -5/+5 |
| | | | | | | | SelectBasicBlock doesn't needs its BasicBlock argument. llvm-svn: 107712 | ||||
| * | Propagate debug loc. | Devang Patel | 2010-07-06 | 4 | -8/+10 |
| | | | | | llvm-svn: 107710 | ||||
| * | One more case assuming that subregs have live ranges. | Jakob Stoklund Olesen | 2010-07-06 | 1 | -2/+2 |
| | | | | | llvm-svn: 107700 | ||||
| * | Fix buildbot breakage where a def is missing. | Jakob Stoklund Olesen | 2010-07-06 | 1 | -0/+2 |
| | | | | | llvm-svn: 107698 | ||||
| * | Be more forgiving when calculating alias interference for physreg coalescing. | Jakob Stoklund Olesen | 2010-07-06 | 3 | -105/+59 |
| | | | | | | | | | | | | | It is OK for an alias live range to overlap if there is a copy to or from the physical register. CoalescerPair can work out if the copy is coalescable independently of the alias. This means that we can join with the actual destination interval instead of using the getOrigDstReg() hack. It is no longer necessary to merge clobber ranges into subregisters. llvm-svn: 107695 | ||||
| * | Reapply r107655 with fixes; insert the pseudo instruction into | Dan Gohman | 2010-07-06 | 2 | -7/+30 |
| | | | | | | | | the block before calling the expansion hook. And don't put EFLAGS in a mbb's live-in list twice. llvm-svn: 107691 | ||||
| * | Fix to 80-col. | Eric Christopher | 2010-07-06 | 1 | -21/+21 |
| | | | | | llvm-svn: 107684 | ||||

