Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add one more argument to the prefetch intrinsic to indicate whether it's a data | Bruno Cardoso Lopes | 2011-06-14 | 1 | -2/+3 | |
| | | | | | | | or instruction cache access. Update the targets to match it and also teach autoupgrade. llvm-svn: 132976 | |||||
* | Improve the generated code by getCopyFromPartsVector for promoted integer types. | Nadav Rotem | 2011-06-12 | 1 | -21/+20 | |
| | | | | | | | | | Instead of scalarizing, and doing an element-by-element truncat, use vector truncate. Add support for scalarization of vectors: i8 -> <1 x i1> (from Duncan's testcase). llvm-svn: 132892 | |||||
* | Add a parameter to CCState so that it can access the MachineFunction. | Eric Christopher | 2011-06-08 | 1 | -3/+5 | |
| | | | | | | | | No functional change. Part of PR6965 llvm-svn: 132763 | |||||
* | TypeLegalizer: Add support for passing of vector-promoted types in registers ↵ | Nadav Rotem | 2011-06-04 | 1 | -2/+40 | |
| | | | | | | (copyFromParts/copyToParts). llvm-svn: 132649 | |||||
* | 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 | 1 | -1/+1 | |
| | | | | | | Part of rdar://9119939 llvm-svn: 132510 | |||||
* | 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 | |||||
* | Preserve debug info during iSel by keeping DanglingDebugInfoMap live until ↵ | Devang Patel | 2011-05-23 | 1 | -1/+10 | |
| | | | | | | | | end of function. Patch by Micah Villmow llvm-svn: 131908 | |||||
* | 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 | |||||
* | Preserve debug info for unused zero extended boolean argument. | Devang Patel | 2011-05-16 | 1 | -6/+27 | |
| | | | | | | Radar 9422775. llvm-svn: 131422 | |||||
* | Make codegen able to handle values of empty types. This is one way | Rafael Espindola | 2011-05-13 | 1 | -6/+29 | |
| | | | | | | to fix PR9900. I will keep it open until sable is able to comment on it. llvm-svn: 131294 | |||||
* | 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 | |||||
* | Look through struct wrapped types for inline asm statments. | Eric Christopher | 2011-05-09 | 1 | -0/+6 | |
| | | | | | | Patch by Evan Cheng. llvm-svn: 131093 | |||||
* | 80 col violations. | Evan Cheng | 2011-05-06 | 1 | -3/+7 | |
| | | | | llvm-svn: 131015 | |||||
* | Avoid extra vreg copies for arguments passed in registers. Specifically, ↵ | Eli Friedman | 2011-05-05 | 1 | -12/+44 | |
| | | | | | | this can make MachineCSE more effective in some cases (especially in small functions). PR8361 / part of rdar://problem/8259436 . llvm-svn: 130928 | |||||
* | A dbg.declare may not be in entry block, even if it is referring to an ↵ | Devang Patel | 2011-04-25 | 1 | -4/+0 | |
| | | | | | | incoming argument. However, It is appropriate to emit DBG_VALUE referring to this incoming argument in entry block in MachineFunction. llvm-svn: 130129 | |||||
* | Fix a ton of comment typos found by codespell. Patch by | Chris Lattner | 2011-04-15 | 1 | -2/+2 | |
| | | | | | | Luis Felipe Strano Moraes! llvm-svn: 129558 | |||||
* | Avoid excess precision issues that lead to generating host-compiler-specific ↵ | Chris Lattner | 2011-04-09 | 1 | -2/+6 | |
| | | | | | | | | code. Switch lowering probably shouldn't be using FP for this. This resolves PR9581. llvm-svn: 129199 | |||||
* | Change -arm-trap-func= into a non-arm specific option. Now Intrinsic::trap ↵ | Evan Cheng | 2011-04-08 | 1 | -2/+15 | |
| | | | | | | is lowered into a call to the specified trap function at sdisel time. llvm-svn: 129152 | |||||
* | Revamp the SjLj "dispatch setup" intrinsic. | Bill Wendling | 2011-04-05 | 1 | -1/+1 | |
| | | | | | | | | | | | | It needed to be moved closer to the setjmp statement, because the code directly after the setjmp needs to know about values that are on the stack. Also, the 'bitcast' of the function context was causing a dead load. This wouldn't be too horrible, except that at -O0 it wasn't optimized out, and because it wasn't using the correct base pointer (if there is a VLA), it would try to access a value from a garbage address. <rdar://problem/9130540> llvm-svn: 128873 | |||||
* | Add comments. | Evan Cheng | 2011-04-01 | 1 | -2/+4 | |
| | | | | llvm-svn: 128730 | |||||
* | Assign node order numbers to results of call instruction lowering. This ↵ | Evan Cheng | 2011-04-01 | 1 | -4/+8 | |
| | | | | | | should improve src line debug info when sdisel is used. rdar://9199118 llvm-svn: 128728 | |||||
* | Turn SelectionDAGBuilder::GetRegistersForValue into a local function. | Benjamin Kramer | 2011-03-26 | 1 | -14/+16 | |
| | | | | | | | | It couldn't be used outside of the file because SDISelAsmOperandInfo is local to SelectionDAGBuilder.cpp. Making it a static function avoids a weird linkage dance. llvm-svn: 128342 | |||||
* | Move more logic into getTypeForExtArgOrReturn. | Cameron Zwarich | 2011-03-17 | 1 | -6/+2 | |
| | | | | llvm-svn: 127809 | |||||
* | Rename getTypeForExtendedInteger() to getTypeForExtArgOrReturn(). | Cameron Zwarich | 2011-03-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 127807 | |||||
* | The x86-64 ABI says that a bool is only guaranteed to be sign-extended to a byte | Cameron Zwarich | 2011-03-16 | 1 | -5/+2 | |
| | | | | | | | | | | | rather than an int. Thankfully, this only causes LLVM to miss optimizations, not generate incorrect code. This just fixes the zext at the return. We still insert an i32 ZextAssert when reading a function's arguments, but it is followed by a truncate and another i8 ZextAssert so it is not optimized. llvm-svn: 127766 | |||||
* | Don't recompute something that we already have in a local variable. | Cameron Zwarich | 2011-03-16 | 1 | -2/+2 | |
| | | | | llvm-svn: 127764 | |||||
* | Replace -dag-chain-limit flag with constant. It has survived a release cycle ↵ | Andrew Trick | 2011-03-11 | 1 | -3/+1 | |
| | | | | | | without being touched, so no longer needs to pollute the hidden-help text. llvm-svn: 127468 | |||||
* | Allow targets to specify a the type of the RHS of a shift parameterized on ↵ | Owen Anderson | 2011-02-25 | 1 | -7/+7 | |
| | | | | | | the type of the LHS. llvm-svn: 126518 | |||||
* | Fix formatting of debug helper string. | Jim Grosbach | 2011-02-25 | 1 | -1/+1 | |
| | | | | llvm-svn: 126471 | |||||
* | Refactor the LiveOutInfo interface into a few methods on FunctionLoweringInfo | Cameron Zwarich | 2011-02-24 | 1 | -7/+8 | |
| | | | | | | and make the actual map private. llvm-svn: 126376 | |||||
* | Roll out r126169 and r126170 in an attempt to fix the selfhost bot. | Cameron Zwarich | 2011-02-22 | 1 | -7/+1 | |
| | | | | llvm-svn: 126185 | |||||
* | Merge information about the number of zero, one, and sign bits of live-out ↵ | Cameron Zwarich | 2011-02-22 | 1 | -1/+7 | |
| | | | | | | | | | registers at phis. This enables us to eliminate a lot of pointless zexts during the DAGCombine phase. This fixes <rdar://problem/8760114>. llvm-svn: 126170 | |||||
* | Do not lose debug info of an inlined function argument even if the argument ↵ | Devang Patel | 2011-02-18 | 1 | -1/+1 | |
| | | | | | | | | is only used through GEPs. This time with a fix that avoids using invalidated DenseMap iterator. llvm-svn: 125984 | |||||
* | Roll out r125794 to help diagnose the llvm-gcc-i386-linux-selfhost failure. | Cameron Zwarich | 2011-02-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 125830 | |||||
* | Do not lose debug info of an inlined function argument even if the argument ↵ | Devang Patel | 2011-02-17 | 1 | -1/+1 | |
| | | | | | | is only used through GEPs. llvm-svn: 125794 | |||||
* | convert ConstantVector::get to use ArrayRef. | Chris Lattner | 2011-02-15 | 1 | -22/+6 | |
| | | | | llvm-svn: 125537 | |||||
* | revert my ConstantVector patch, it seems to have made the llvm-gcc | Chris Lattner | 2011-02-14 | 1 | -6/+22 | |
| | | | | | | builders unhappy. llvm-svn: 125504 | |||||
* | Switch ConstantVector::get to use ArrayRef instead of a pointer+size | Chris Lattner | 2011-02-14 | 1 | -22/+6 | |
| | | | | | | idiom. Change various clients to simplify their code. llvm-svn: 125487 | |||||
* | Revisit my fix for PR9028: the issue is that DAGCombine was | Chris Lattner | 2011-02-13 | 1 | -3/+2 | |
| | | | | | | | | | generating i8 shift amounts for things like i1024 types. Add an assert in getNode to prevent this from occuring in the future, fix the buggy transformation, revert my previous patch, and document this gotcha in ISDOpcodes.h llvm-svn: 125465 | |||||
* | when legalizing extremely wide shifts, make sure that | Chris Lattner | 2011-02-13 | 1 | -2/+2 | |
| | | | | | | | | | the shift amounts are in a suitably wide type so that we don't generate out of range constant shift amounts. This fixes PR9028. llvm-svn: 125458 | |||||
* | fix visitShift to properly zero extend the shift amount if the provided operand | Chris Lattner | 2011-02-13 | 1 | -20/+19 | |
| | | | | | | | is narrower than the shift register. Doing an anyext provides undefined bits in the top part of the register. llvm-svn: 125457 | |||||
* | Fix build with stdcxx by using llvm::next. Patch by Joerg Sonnenberger! | Nick Lewycky | 2011-01-28 | 1 | -1/+2 | |
| | | | | llvm-svn: 124472 | |||||
* | Resolve DanglingDbgValue of PHI nodes where the use follows dbg.value ↵ | Devang Patel | 2011-01-25 | 1 | -1/+3 | |
| | | | | | | intrinisic. llvm-svn: 124203 | |||||
* | Speculatively revert r124138. | Devang Patel | 2011-01-24 | 1 | -3/+1 | |
| | | | | llvm-svn: 124142 | |||||
* | Resolve DanglingDbgValue of PHI nodes where the use follows dbg.value ↵ | Devang Patel | 2011-01-24 | 1 | -1/+3 | |
| | | | | | | intrinisic. llvm-svn: 124138 | |||||
* | Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs ↵ | Anton Korobeynikov | 2011-01-10 | 1 | -2/+2 | |
| | | | | | | and fixes here and there. llvm-svn: 123170 | |||||
* | Simplify a bunch of isVirtualRegister() and isPhysicalRegister() logic. | Jakob Stoklund Olesen | 2011-01-10 | 1 | -1/+1 | |
| | | | | | | | | These functions not longer assert when passed 0, but simply return false instead. No functional change intended. llvm-svn: 123155 | |||||
* | Use an IndexedMap for LiveOutRegInfo to hide its dependence on ↵ | Jakob Stoklund Olesen | 2011-01-08 | 1 | -6/+3 | |
| | | | | | | TargetRegisterInfo::FirstVirtualRegister. llvm-svn: 123096 |