summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused statistical counter.Devang Patel2011-05-251-57/+0
| | | | llvm-svn: 132087
* Replace the -unwind-tables option with a per function flag. This is moreRafael Espindola2011-05-252-9/+5
| | | | | | | LTO friendly as we can now correctly merge files compiled with or without -fasynchronous-unwind-tables. llvm-svn: 132033
* Remove dead code.Devang Patel2011-05-241-10/+0
| | | | llvm-svn: 131974
* Explain FIXME.Rafael Espindola2011-05-241-4/+5
| | | | llvm-svn: 131952
* Fix the defaults for .eh_frame. We were marking it as writable.Rafael Espindola2011-05-241-2/+2
| | | | llvm-svn: 131951
* - Teach SelectionDAG::isKnownNeverZero to return true (op x, c) when c isEvan Cheng2011-05-241-5/+13
| | | | | | | | | | non-zero. - Teach X86 cmov optimization to eliminate the cmov from ctlz, cttz extension when the source of X86ISD::BSR / X86ISD::BSF is proven to be non-zero. rdar://9490949 llvm-svn: 131948
* Fix debug info for blocks' variable.Devang Patel2011-05-241-6/+21
| | | | llvm-svn: 131940
* Remove unnecessary comment.Devang Patel2011-05-231-1/+0
| | | | llvm-svn: 131936
* Revert 121907 (it causes llc crash) and apply original patch from PR9817.Devang Patel2011-05-232-3/+3
| | | | llvm-svn: 131926
* Preserve debug info during iSel by keeping DanglingDebugInfoMap live until ↵Devang Patel2011-05-233-1/+19
| | | | | | | | end of function. Patch by Micah Villmow llvm-svn: 131908
* While replacing all uses of a SDValue with another value, do not forget to ↵Devang Patel2011-05-231-0/+3
| | | | | | transfer SDDbgValue. llvm-svn: 131907
* Eliminate some temporary variables, and don't call getByValTypeAlignmentChris Lattner2011-05-221-6/+8
| | | | | | when we're just going to throw the result away. No functionality change. llvm-svn: 131880
* eliminate dependence on StandardPasses.h. The code generator's pass pipelineChris Lattner2011-05-221-2/+6
| | | | | | should eventually convert to PMBuilder, but I don't plan to do this. llvm-svn: 131819
* Implement mulo x, 2 -> addo x, x in DAGCombiner.Benjamin Kramer2011-05-211-0/+24
| | | | llvm-svn: 131800
* Fix PR9962 by properly constraining register classes in ↵Cameron Zwarich2011-05-201-0/+4
| | | | | | | | RemoveCopyByCommutingDef(). This actually fixes most of the VerifyCoalescing failures in test-suite. llvm-svn: 131768
* Fix typo. When will I learn?Charles Davis2011-05-201-1/+0
| | | | llvm-svn: 131765
* Add .pdata and .xdata sections to the COFF TLOF implementation.Charles Davis2011-05-201-0/+15
| | | | llvm-svn: 131763
* No reason not to allow defining the CFA as a reg w/ offset zero.Jim Grosbach2011-05-201-2/+0
| | | | llvm-svn: 131760
* Fix typo.Jim Grosbach2011-05-201-1/+1
| | | | llvm-svn: 131757
* Add support for frame info use of the .cfi_def_cfa directive.Jim Grosbach2011-05-201-1/+2
| | | | llvm-svn: 131756
* Fix PR9960 by teaching SimpleRegisterCoalescing::AdjustCopiesBackFrom() to ↵Cameron Zwarich2011-05-201-0/+5
| | | | | | | | preserve the phikill flag. llvm-svn: 131717
* Fix PR9955 by only attaching load memory operands to load instructions andCameron Zwarich2011-05-191-3/+37
| | | | | | | similarly for stores. Now "make check" passes with the MachineVerifier forced on with the VerifyCoalescing option! llvm-svn: 131705
* Update some currently-disabled code, preparing for eventual use.Stuart Hastings2011-05-191-6/+7
| | | | llvm-svn: 131663
* Revert r128961 because it didn't include a test and causes the verifier to failCameron Zwarich2011-05-191-5/+0
| | | | | | | | on CodeGen/X86/2007-05-07-InvokeSRet.ll. There is probably a bug here that was fixed by r128961, but since there is no test or reference to a source file I have to revert it. llvm-svn: 131618
* Revert commit 131534 since it seems to have broken several buildbots.Duncan Sands2011-05-183-4/+4
| | | | | | | | Original log entry: Refactor getActionType and getTypeToTransformTo ; place all of the 'decision' code in one place. llvm-svn: 131536
* Refactor getActionType and getTypeToTransformTo ; place all of the 'decision'Nadav Rotem2011-05-183-4/+4
| | | | | | code in one place. llvm-svn: 131534
* Eliminate dead dead code elimination code.Jakob Stoklund Olesen2011-05-182-292/+0
| | | | llvm-svn: 131524
* Also use shrinkToUses after AdjustCopiesBackFrom().Jakob Stoklund Olesen2011-05-181-1/+1
| | | | | | | The 'last use' may not be in the same basic block, and we still want a correct live range. llvm-svn: 131523
* Properly shrink live ranges after deleting dead copies. Clean up after all ↵Jakob Stoklund Olesen2011-05-181-24/+5
| | | | | | | | | | | | | joined copies. LiveInterval::shrinkToUses recomputes the live range from scratch instead of removing snippets. This should avoid the problem with dangling live ranges. Leave physreg identity copies alone. They can be created when joining a virtreg with a physreg. They don't affect register allocation, and they will be removed by the rewriter. llvm-svn: 131521
* Make fast-isel miss counting in -stats and -fast-isel-verbose take ↵Eli Friedman2011-05-171-3/+8
| | | | | | terminators into account; since there are many fewer isel misses with recent changes, misses caused by terminators are more significant. llvm-svn: 131502
* Misc. code cleanups.Dan Gohman2011-05-171-60/+59
| | | | llvm-svn: 131497
* Misc. code cleanups.Dan Gohman2011-05-171-33/+34
| | | | llvm-svn: 131495
* Revert 131467 due to buildbot complaint.Stuart Hastings2011-05-171-6/+2
| | | | llvm-svn: 131469
* Fix an obscure issue in X86_64 parameter passing: if a tiny byval isStuart Hastings2011-05-171-2/+6
| | | | | | | passed as the fifth parameter, insure it's passed correctly (in R9). rdar://problem/6920088 llvm-svn: 131467
* Tweak cross-class coalescing to be more aggressive when the target class is ↵Jakob Stoklund Olesen2011-05-171-3/+9
| | | | | | | | | | | | | small. The greedy register allocator has live range splitting and register class inflation, so it can actually fully undo this join, including restoring the original register classes. We still don't want to do this for long live ranges, mostly because of the high register pressure of there are many constrained live ranges overlapping. llvm-svn: 131466
* Teach LiveInterval::isZeroLength about null SlotIndexes.Jakob Stoklund Olesen2011-05-161-1/+1
| | | | | | | | | | | | When instructions are deleted, they leave tombstone SlotIndex entries. The isZeroLength method should ignore these null indexes. This causes RABasic to sometimes spill a callee-saved register in the abi-isel.ll test, so don't run that test with -regalloc=basic. Prioritizing register allocation according to spill weight can cause more registers to be used. llvm-svn: 131436
* Delete unused variables.Dan Gohman2011-05-162-8/+6
| | | | llvm-svn: 131430
* Trim #includes.Dan Gohman2011-05-161-7/+0
| | | | llvm-svn: 131429
* Fix whitespace and 80-column violations.Dan Gohman2011-05-161-10/+10
| | | | llvm-svn: 131428
* Track how many insns fast-isel successfully selects as well as how many itJim Grosbach2011-05-161-0/+2
| | | | | | misses. llvm-svn: 131426
* Preserve debug info for unused zero extended boolean argument.Devang Patel2011-05-161-6/+27
| | | | | | Radar 9422775. llvm-svn: 131422
* Make fast-isel work correctly s/uadd.with.overflow intrinsics.Eli Friedman2011-05-161-7/+7
| | | | llvm-svn: 131420
* Fix silly typo.Eli Friedman2011-05-161-1/+1
| | | | llvm-svn: 131419
* Basic fast-isel of extractvalue. Not too helpful on its own, given the IR ↵Eli Friedman2011-05-161-0/+42
| | | | | | clang generates for cases like this, but it should become more useful soon. llvm-svn: 131417
* Don't do tail calls in a function that call setjmp. The stack might beRafael Espindola2011-05-161-33/+1
| | | | | | corrupted when setjmp returns again. llvm-svn: 131399
* Fix a FIXME by moving the fast-isel implementation of the objectsize ↵Eli Friedman2011-05-141-0/+10
| | | | | | intrinsic from the x86 code to the generic code. llvm-svn: 131332
* Make codegen able to handle values of empty types. This is one wayRafael Espindola2011-05-132-6/+33
| | | | | | to fix PR9900. I will keep it open until sable is able to comment on it. llvm-svn: 131294
* Since I can't reproduce the failures from 131261, re-trying with aStuart Hastings2011-05-131-2/+6
| | | | | | simplified version. <rdar://problem/9298790> llvm-svn: 131274
* Revert 131266 and 131261 due to buildbot complaints.Stuart Hastings2011-05-131-9/+2
| | | | | | rdar://problem/9298790 llvm-svn: 131269
* Non-fast-isel followup to 129634; correctly handle branches controlledStuart Hastings2011-05-121-2/+9
| | | | | | | | | | | | | by non-CMP expressions. The executable test case (129821) would test this as well, if we had an "-O0 -disable-arm-fast-isel" LLVM-GCC tester. Alas, the ARM assembly would be very difficult to check with FileCheck. The thumb2-cbnz.ll test is affected; it generates larger code (tst.w vs. cmp #0), but I believe the new version is correct. rdar://problem/9298790 llvm-svn: 131261
OpenPOWER on IntegriCloud