| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | TypeLegalizer: Add support for passing of vector-promoted types in registers ↵ | Nadav Rotem | 2011-06-04 | 1 | -2/+40 |
| | | | | | | | (copyFromParts/copyToParts). llvm-svn: 132649 | ||||
| * | TypeLegalizer: Fix a bug in the promotion of elements of integer vectors. | Nadav Rotem | 2011-06-04 | 1 | -16/+22 |
| | | | | | | | | | | (only happens when using the -promote-elements option). The correct legalization order is to first try to promote element. Next, we try to widen vectors. llvm-svn: 132648 | ||||
| * | Add a TODO about memory operands. | Eric Christopher | 2011-06-03 | 1 | -1/+5 |
| | | | | | llvm-svn: 132559 | ||||
| * | Have LowerOperandForConstraint handle multiple character constraints. | Eric Christopher | 2011-06-02 | 2 | -3/+7 |
| | | | | | | | Part of rdar://9119939 llvm-svn: 132510 | ||||
| * | Revert 132424 to fix PR10068. | Rafael Espindola | 2011-06-02 | 1 | -5/+4 |
| | | | | | llvm-svn: 132479 | ||||
| * | Use TRI::has{Sub,Super}ClassEq() where possible. | Jakob Stoklund Olesen | 2011-06-02 | 1 | -1/+1 |
| | | | | | | | No functional change. llvm-svn: 132455 | ||||
| * | Recommit 132404 with fixes. rdar://problem/5993888 | Stuart Hastings | 2011-06-01 | 1 | -4/+5 |
| | | | | | llvm-svn: 132424 | ||||
| * | Allow bitcasts between valid types of the same size and vector | Eric Christopher | 2011-06-01 | 1 | -0/+6 |
| | | | | | | | | | types if the vector type is legal. Fixes rdar://9306086 llvm-svn: 132420 | ||||
| * | Refactor LegalizeTypes: Erase LegalizeAction and make the type legalizer use | Nadav Rotem | 2011-06-01 | 5 | -96/+71 |
| | | | | | | | the TargetLowering enum. llvm-svn: 132418 | ||||
| * | Fix double FGETSIGN to work on x86_32; followup to 132396. | Stuart Hastings | 2011-06-01 | 1 | -3/+6 |
| | | | | | | | rdar://problem/5660695 llvm-svn: 132411 | ||||
| * | Turn on FGETSIGN for x86. Followup to 132388. rdar://problem/5660695 | Stuart Hastings | 2011-06-01 | 1 | -6/+2 |
| | | | | | llvm-svn: 132396 | ||||
| * | This patch is another step in the direction of adding vector select. In this | Nadav Rotem | 2011-06-01 | 1 | -1/+28 |
| | | | | | | | | | | patch we add a flag to enable a new type legalization decision - to promote integer elements in vectors. Currently, the rest of the codegen does not support this kind of legalization. This flag will be removed when the transition is complete. llvm-svn: 132394 | ||||
| * | Refactor the type legalizer. Switch TargetLowering to a new enum - ↵ | Nadav Rotem | 2011-05-28 | 2 | -33/+26 |
| | | | | | | | | | | | | LegalizeTypeAction. This patch does not change the behavior of the type legalizer. The codegen produces the same code. This infrastructural change is needed in order to enable complex decisions for vector types (needed by the vector-select patch). llvm-svn: 132263 | ||||
| * | Refactor getActionType and getTypeToTransformTo ; place all of the 'decision' | Nadav Rotem | 2011-05-27 | 3 | -4/+4 |
| | | | | | | | code in one place. Re-apply 131534 and fix the multi-step promotion of integers. llvm-svn: 132217 | ||||
| * | Rewrite fast-isel integer cast handling to handle more cases, and to be ↵ | Eli Friedman | 2011-05-25 | 1 | -26/+6 |
| | | | | | | | | | | | simpler and more consistent. The practical effects here are that x86-64 fast-isel can now handle trunc from i8 to i1, and ARM fast-isel can handle many more constructs involving integers narrower than 32 bits (including loads, stores, and many integer casts). rdar://9437928 . llvm-svn: 132099 | ||||
| * | Remove unused statistical counter. | Devang Patel | 2011-05-25 | 1 | -57/+0 |
| | | | | | llvm-svn: 132087 | ||||
| * | Remove dead code. | Devang Patel | 2011-05-24 | 1 | -10/+0 |
| | | | | | llvm-svn: 131974 | ||||
| * | - Teach SelectionDAG::isKnownNeverZero to return true (op x, c) when c is | Evan Cheng | 2011-05-24 | 1 | -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 | ||||
| * | Revert 121907 (it causes llc crash) and apply original patch from PR9817. | Devang Patel | 2011-05-23 | 2 | -3/+3 |
| | | | | | llvm-svn: 131926 | ||||
| * | Preserve debug info during iSel by keeping DanglingDebugInfoMap live until ↵ | Devang Patel | 2011-05-23 | 3 | -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 Patel | 2011-05-23 | 1 | -0/+3 |
| | | | | | | | transfer SDDbgValue. llvm-svn: 131907 | ||||
| * | Eliminate some temporary variables, and don't call getByValTypeAlignment | Chris Lattner | 2011-05-22 | 1 | -6/+8 |
| | | | | | | | when we're just going to throw the result away. No functionality change. llvm-svn: 131880 | ||||
| * | Implement mulo x, 2 -> addo x, x in DAGCombiner. | Benjamin Kramer | 2011-05-21 | 1 | -0/+24 |
| | | | | | llvm-svn: 131800 | ||||
| * | Fix PR9955 by only attaching load memory operands to load instructions and | Cameron Zwarich | 2011-05-19 | 1 | -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 Hastings | 2011-05-19 | 1 | -6/+7 |
| | | | | | llvm-svn: 131663 | ||||
| * | Revert commit 131534 since it seems to have broken several buildbots. | Duncan Sands | 2011-05-18 | 3 | -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 Rotem | 2011-05-18 | 3 | -4/+4 |
| | | | | | | | code in one place. llvm-svn: 131534 | ||||
| * | Make fast-isel miss counting in -stats and -fast-isel-verbose take ↵ | Eli Friedman | 2011-05-17 | 1 | -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 Gohman | 2011-05-17 | 1 | -60/+59 |
| | | | | | llvm-svn: 131497 | ||||
| * | Misc. code cleanups. | Dan Gohman | 2011-05-17 | 1 | -33/+34 |
| | | | | | llvm-svn: 131495 | ||||
| * | Delete unused variables. | Dan Gohman | 2011-05-16 | 2 | -8/+6 |
| | | | | | llvm-svn: 131430 | ||||
| * | Trim #includes. | Dan Gohman | 2011-05-16 | 1 | -7/+0 |
| | | | | | llvm-svn: 131429 | ||||
| * | Fix whitespace and 80-column violations. | Dan Gohman | 2011-05-16 | 1 | -10/+10 |
| | | | | | llvm-svn: 131428 | ||||
| * | Track how many insns fast-isel successfully selects as well as how many it | Jim Grosbach | 2011-05-16 | 1 | -0/+2 |
| | | | | | | | misses. llvm-svn: 131426 | ||||
| * | Preserve debug info for unused zero extended boolean argument. | Devang Patel | 2011-05-16 | 1 | -6/+27 |
| | | | | | | | Radar 9422775. llvm-svn: 131422 | ||||
| * | Make fast-isel work correctly s/uadd.with.overflow intrinsics. | Eli Friedman | 2011-05-16 | 1 | -7/+7 |
| | | | | | llvm-svn: 131420 | ||||
| * | Fix silly typo. | Eli Friedman | 2011-05-16 | 1 | -1/+1 |
| | | | | | llvm-svn: 131419 | ||||
| * | Basic fast-isel of extractvalue. Not too helpful on its own, given the IR ↵ | Eli Friedman | 2011-05-16 | 1 | -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 be | Rafael Espindola | 2011-05-16 | 1 | -33/+1 |
| | | | | | | | corrupted when setjmp returns again. llvm-svn: 131399 | ||||
| * | Fix a FIXME by moving the fast-isel implementation of the objectsize ↵ | Eli Friedman | 2011-05-14 | 1 | -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 way | Rafael Espindola | 2011-05-13 | 2 | -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 a | Stuart Hastings | 2011-05-13 | 1 | -2/+6 |
| | | | | | | | simplified version. <rdar://problem/9298790> llvm-svn: 131274 | ||||
| * | Revert 131266 and 131261 due to buildbot complaints. | Stuart Hastings | 2011-05-13 | 1 | -9/+2 |
| | | | | | | | rdar://problem/9298790 llvm-svn: 131269 | ||||
| * | Non-fast-isel followup to 129634; correctly handle branches controlled | Stuart Hastings | 2011-05-12 | 1 | -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 | ||||
| * | Fixes a bug in the DAGCombiner. LoadSDNodes have two values (data, chain). | Nadav Rotem | 2011-05-11 | 1 | -1/+1 |
| | | | | | | | | | If there is a store after the load node, then there is a chain, which means that there is another user. Thus, asking hasOneUser would fail. Instead we ask hasNUsesOfValue on the 'data' value. llvm-svn: 131183 | ||||
| * | Give the 'eh.sjlj.dispatchsetup' intrinsic call the value coming from the setjmp | Bill Wendling | 2011-05-11 | 1 | -1/+1 |
| | | | | | | | | | intrinsic call. This prevents it from being reordered so that it appears *before* the setjmp intrinsic (thus making it completely useless). <rdar://problem/9409683> llvm-svn: 131174 | ||||
| * | Disable my little CopyToReg argument hack with fast-isel. ↵ | Eli Friedman | 2011-05-10 | 1 | -2/+3 |
| | | | | | | | rdar://problem/9413587 . llvm-svn: 131156 | ||||
| * | Correctly walk through nested and adjacent CALLSEQ_START nodes. No | Stuart Hastings | 2011-05-10 | 1 | -1/+2 |
| | | | | | | | | test case; I've only seen this on a release branch, and I can't get it to reproduce on trunk. rdar://problem/7662569 llvm-svn: 131152 | ||||
| * | Look through struct wrapped types for inline asm statments. | Eric Christopher | 2011-05-09 | 2 | -0/+12 |
| | | | | | | | Patch by Evan Cheng. llvm-svn: 131093 | ||||
| * | Indent properly, no functionality change. | Duncan Sands | 2011-05-09 | 1 | -12/+12 |
| | | | | | llvm-svn: 131082 | ||||

