| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | use ConstantVector::getSplat in a few places. | Chris Lattner | 2012-01-25 | 1 | -2/+1 |
| | | | | | llvm-svn: 148929 | ||||
| * | Fix warning. | Rafael Espindola | 2011-12-26 | 1 | -1/+2 |
| | | | | | llvm-svn: 147284 | ||||
| * | Add support for vectors of pointers. | Nadav Rotem | 2011-12-05 | 1 | -0/+2 |
| | | | | | llvm-svn: 145801 | ||||
| * | Refactor code to use new attribute getters on CallSite for NoCapture and ByVal. | Nick Lewycky | 2011-11-20 | 1 | -3/+2 |
| | | | | | | | | | Suggested in code review by Eli. That code in InstCombine looks kinda suspicious. llvm-svn: 145013 | ||||
| * | Make sure scalarrepl picks the correct alloca when it rewrites a bitcast. ↵ | Eli Friedman | 2011-11-12 | 1 | -2/+10 |
| | | | | | | | Fixes PR11353. llvm-svn: 144442 | ||||
| * | The element insertion code in scalar replacement doesn't handle incorrect | Cameron Zwarich | 2011-10-23 | 1 | -2/+4 |
| | | | | | | | | element types, even though the element extraction code does. It is surprising that this bug has been here for so long. Fixes <rdar://problem/10318778>. llvm-svn: 142740 | ||||
| * | Fix PR11106 by correcting a typo that has been in the code for over a year. This | Cameron Zwarich | 2011-10-11 | 1 | -2/+2 |
| | | | | | | | | | would have never worked, since the element type of a vector type is never a vector type. Also fix the conditional to be more direct in checking whether EltTy is a vector type. llvm-svn: 141713 | ||||
| * | Remove a lot of the fancy scalar replacement code for dealing with llvm-gcc's | Cameron Zwarich | 2011-10-11 | 1 | -205/+16 |
| | | | | | | | | lowering of NEON code. It provides little-to-no benefit now and only introduces additional complexity. llvm-svn: 141646 | ||||
| * | Stop emitting instructions with the name "tmp" they eat up memory and have ↵ | Benjamin Kramer | 2011-09-27 | 1 | -41/+30 |
| | | | | | | | | | to be uniqued, without any benefit. If someone prefers %tmp42 to %42, run instnamer. llvm-svn: 140634 | ||||
| * | PR10987: add a missed safety check to isSafePHIToSpeculate in scalarrepl. | Eli Friedman | 2011-09-22 | 1 | -7/+11 |
| | | | | | llvm-svn: 140327 | ||||
| * | Change a bunch of isVolatile() checks to check for atomic load/store as well. | Eli Friedman | 2011-09-12 | 1 | -11/+11 |
| | | | | | | | | | No tests; these changes aren't really interesting in the sense that the logic is the same for volatile and atomic. I believe this completes all of the changes necessary for the optimizer to handle loads and stores correctly. I'm going to try and come up with some additional testing, though. llvm-svn: 139533 | ||||
| * | Finish adding support for lifetime intrinsics to SROA. Fixes PR10121! | Nick Lewycky | 2011-07-25 | 1 | -1/+110 |
| | | | | | llvm-svn: 136008 | ||||
| * | Convert GetElementPtrInst to use ArrayRef. | Jay Foad | 2011-07-25 | 1 | -3/+2 |
| | | | | | llvm-svn: 135904 | ||||
| * | Fix MergeInVectorType to check for vector types with the same alloc | Dan Gohman | 2011-07-21 | 1 | -0/+6 |
| | | | | | | | | size but different element types, so that it filters out the cases that CreateShuffleVectorCast doesn't handle. This fixes rdar://9786827. llvm-svn: 135721 | ||||
| * | Convert TargetData::getIndexedOffset to use ArrayRef. | Jay Foad | 2011-07-19 | 1 | -6/+4 |
| | | | | | llvm-svn: 135478 | ||||
| * | land David Blaikie's patch to de-constify Type, with a few tweaks. | Chris Lattner | 2011-07-18 | 1 | -91/+91 |
| | | | | | llvm-svn: 135375 | ||||
| * | Use DBG_VALUE location while inserting DBG_VALUE during alloca promotion. | Devang Patel | 2011-07-07 | 1 | -2/+2 |
| | | | | | llvm-svn: 134568 | ||||
| * | Handle cases where multiple dbg.declare and dbg.value intrinsics are tied to ↵ | Devang Patel | 2011-07-06 | 1 | -11/+58 |
| | | | | | | | one alloca. llvm-svn: 134549 | ||||
| * | Simplify. Consolidate dbg.declare handling in AllocaPromoter. | Devang Patel | 2011-07-06 | 1 | -13/+18 |
| | | | | | llvm-svn: 134538 | ||||
| * | Fix likely typo, reduce number of instruction name collisions. | Nick Lewycky | 2011-07-01 | 1 | -1/+1 |
| | | | | | llvm-svn: 134235 | ||||
| * | Teach one piece of scalarrepl to handle lifetime markers. When transforming an | Nick Lewycky | 2011-06-27 | 1 | -13/+37 |
| | | | | | | | | | alloca that only holds a copy of a global and we're going to replace the users of the alloca with that global, just nuke the lifetime intrinsics. Part of PR10121. llvm-svn: 133905 | ||||
| * | When scalar replacement returns a vector type, only accept it if the vector | Cameron Zwarich | 2011-06-18 | 1 | -0/+5 |
| | | | | | | | | | | | | | type's bitwidth matches the (allocated) size of the alloca. This severely pessimizes vector scalar replacement when the only vector type being used is something like <3 x float> on x86 or ARM whose allocated size matches a <4 x float>. I hope to fix some of the flawed assumptions about allocated size throughout scalar replacement and reenable this in most cases. llvm-svn: 133338 | ||||
| * | Fix an invalid bitcast crash that occurs when doing a partial memset of a vector | Cameron Zwarich | 2011-06-18 | 1 | -3/+15 |
| | | | | | | | alloca. Fixes part of <rdar://problem/9580800>. llvm-svn: 133336 | ||||
| * | Remove a pointless assignment. Nothing checks the value of VectorTy anymore now | Cameron Zwarich | 2011-06-18 | 1 | -1/+0 |
| | | | | | | | unless ScalarKind is Vector. llvm-svn: 133335 | ||||
| * | Be more obvious about what is being tested. | Cameron Zwarich | 2011-06-14 | 1 | -1/+2 |
| | | | | | llvm-svn: 132982 | ||||
| * | Fix grammar. | Cameron Zwarich | 2011-06-13 | 1 | -3/+3 |
| | | | | | llvm-svn: 132952 | ||||
| * | Rename MergeInType to MergeInTypeForLoadOrStore. | Cameron Zwarich | 2011-06-13 | 1 | -8/+10 |
| | | | | | llvm-svn: 132940 | ||||
| * | Remove the HadAVector instance variable and replace it with a use of ScalarKind. | Cameron Zwarich | 2011-06-13 | 1 | -15/+26 |
| | | | | | llvm-svn: 132939 | ||||
| * | Remove a vacuous check. | Cameron Zwarich | 2011-06-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 132938 | ||||
| * | Have SRoA explicitly track the kind of scalar it is promoting. This is pretty | Cameron Zwarich | 2011-06-13 | 1 | -10/+21 |
| | | | | | | | | | spartan right now, but I plan to encode more information in this enum to improve the correctness and reliability of SRoA. At least this first pass makes it possible to make VectorTy an actual VectorType. llvm-svn: 132937 | ||||
| * | Remove an argument that is always true. | Cameron Zwarich | 2011-06-13 | 1 | -6/+5 |
| | | | | | llvm-svn: 132936 | ||||
| * | Remove a vacuous condition. | Cameron Zwarich | 2011-06-09 | 1 | -3/+1 |
| | | | | | llvm-svn: 132767 | ||||
| * | Fix PR10104 by adding a bounds check on a vector element access check. It was | Cameron Zwarich | 2011-06-09 | 1 | -1/+4 |
| | | | | | | | | | assuming that all offsets are legal vector accesses, and thus trying to access the float member of { <2 x float>, float } as the 3rd element of the first member. llvm-svn: 132766 | ||||
| * | Fix an assymmetry between ConvertScalar_ExtractValue and ↵ | Cameron Zwarich | 2011-06-08 | 1 | -3/+4 |
| | | | | | | | | | | | ConvertScalar_InsertValue. The former was using the size of the entire alloca, whereas the latter was correctly using the allocated size of the immediate type being converted (which may differ from the size of the alloca). This fixes PR10082. llvm-svn: 132759 | ||||
| * | Use IRBuilder, preserve line numbers. | Devang Patel | 2011-06-03 | 1 | -4/+6 |
| | | | | | llvm-svn: 132578 | ||||
| * | Clean up the lazy initialization of DIBuilder a bit. | Cameron Zwarich | 2011-05-24 | 1 | -0/+2 |
| | | | | | llvm-svn: 131956 | ||||
| * | Make LoadAndStorePromoter preserve debug info and create llvm.dbg.values when | Cameron Zwarich | 2011-05-24 | 1 | -5/+12 |
| | | | | | | | promoting allocas to SSA variables. Fixes <rdar://problem/9479036>. llvm-svn: 131953 | ||||
| * | Fix PR9820: a read-only call differs from a load in that a load doesn't | Duncan Sands | 2011-05-06 | 1 | -6/+9 |
| | | | | | | | | return the pointer being dereferenced, it returns the pointee, but a call might return the pointer itself. llvm-svn: 130979 | ||||
| * | Fix another case of <rdar://problem/9184212> that only occurs with code | Cameron Zwarich | 2011-04-20 | 1 | -31/+44 |
| | | | | | | | | generated by llvm-gcc, since llvm-gcc uses 2 i64s for passing a 4 x float vector on ARM rather than an i64 array like Clang. llvm-svn: 129878 | ||||
| * | The bitcast case here is actually handled uniformly earlier in the function, so | Cameron Zwarich | 2011-04-20 | 1 | -8/+3 |
| | | | | | | | delete it. llvm-svn: 129877 | ||||
| * | Cleanup some code to better use an early return style in preparation for adding | Cameron Zwarich | 2011-04-20 | 1 | -6/+10 |
| | | | | | | | more cases. llvm-svn: 129876 | ||||
| * | Cleanup r129509 based on comments by Chris | Mon P Wang | 2011-04-14 | 1 | -7/+6 |
| | | | | | llvm-svn: 129532 | ||||
| * | Cleanup r129472 by using a utility routine as suggested by Eli. | Mon P Wang | 2011-04-14 | 1 | -51/+43 |
| | | | | | llvm-svn: 129509 | ||||
| * | Vectors with different number of elements of the same element type can have | Mon P Wang | 2011-04-13 | 1 | -6/+64 |
| | | | | | | | | | the same allocation size but different primitive sizes(e.g., <3xi32> and <4xi32>). When ScalarRepl promotes them, it can't use a bit cast but should use a shuffle vector instead. llvm-svn: 129472 | ||||
| * | Remove PHINode::reserveOperandSpace(). Instead, add a parameter to | Jay Foad | 2011-03-30 | 1 | -2/+2 |
| | | | | | | | PHINode::Create() giving the (known or expected) number of operands. llvm-svn: 128537 | ||||
| * | (Almost) always call reserveOperandSpace() on newly created PHINodes. | Jay Foad | 2011-03-30 | 1 | -0/+1 |
| | | | | | llvm-svn: 128535 | ||||
| * | Do some simple copy propagation through integer loads and stores when promoting | Cameron Zwarich | 2011-03-29 | 1 | -9/+14 |
| | | | | | | | | vector types. This helps a lot with inlined functions when using the ARM soft float ABI. Fixes <rdar://problem/9184212>. llvm-svn: 128453 | ||||
| * | Fix a typo and add a test. | Cameron Zwarich | 2011-03-26 | 1 | -1/+1 |
| | | | | | llvm-svn: 128331 | ||||
| * | Fix PR9464 by correcting some math that just happened to be right in most cases | Cameron Zwarich | 2011-03-23 | 1 | -11/+10 |
| | | | | | | | that were hit in practice. llvm-svn: 128146 | ||||
| * | Fix a comment. | Cameron Zwarich | 2011-03-16 | 1 | -3/+3 |
| | | | | | llvm-svn: 127728 | ||||

