- Jul 18, 2011
-
-
Chris Lattner authored
llvm-svn: 135375
-
- Jul 07, 2011
-
-
Devang Patel authored
llvm-svn: 134568
-
Devang Patel authored
llvm-svn: 134549
-
- Jul 06, 2011
-
-
Devang Patel authored
llvm-svn: 134538
-
- Jul 01, 2011
-
-
Nick Lewycky authored
llvm-svn: 134235
-
- Jun 27, 2011
-
-
Nick Lewycky authored
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
-
- Jun 18, 2011
-
-
Cameron Zwarich authored
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
-
Cameron Zwarich authored
alloca. Fixes part of <rdar://problem/9580800>. llvm-svn: 133336
-
Cameron Zwarich authored
unless ScalarKind is Vector. llvm-svn: 133335
-
- Jun 14, 2011
-
-
Cameron Zwarich authored
llvm-svn: 132982
-
Cameron Zwarich authored
llvm-svn: 132952
-
- Jun 13, 2011
-
-
Cameron Zwarich authored
llvm-svn: 132940
-
Cameron Zwarich authored
llvm-svn: 132939
-
Cameron Zwarich authored
llvm-svn: 132938
-
Cameron Zwarich authored
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
-
Cameron Zwarich authored
llvm-svn: 132936
-
- Jun 09, 2011
-
-
Cameron Zwarich authored
llvm-svn: 132767
-
Cameron Zwarich authored
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
-
Cameron Zwarich authored
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
-
- Jun 03, 2011
-
-
Devang Patel authored
llvm-svn: 132578
-
- May 24, 2011
-
-
Cameron Zwarich authored
llvm-svn: 131956
-
Cameron Zwarich authored
promoting allocas to SSA variables. Fixes <rdar://problem/9479036>. llvm-svn: 131953
-
- May 06, 2011
-
-
Duncan Sands authored
return the pointer being dereferenced, it returns the pointee, but a call might return the pointer itself. llvm-svn: 130979
-
- Apr 20, 2011
-
-
rdar://problem/9184212Cameron Zwarich authored
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
-
Cameron Zwarich authored
delete it. llvm-svn: 129877
-
Cameron Zwarich authored
more cases. llvm-svn: 129876
-
- Apr 14, 2011
-
-
Mon P Wang authored
llvm-svn: 129532
-
Mon P Wang authored
llvm-svn: 129509
-
- Apr 13, 2011
-
-
Mon P Wang authored
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
-
- Mar 30, 2011
- Mar 29, 2011
-
-
Cameron Zwarich authored
vector types. This helps a lot with inlined functions when using the ARM soft float ABI. Fixes <rdar://problem/9184212>. llvm-svn: 128453
-
- Mar 26, 2011
-
-
Cameron Zwarich authored
llvm-svn: 128331
-
- Mar 23, 2011
-
-
Cameron Zwarich authored
that were hit in practice. llvm-svn: 128146
-
- Mar 16, 2011
-
-
Cameron Zwarich authored
llvm-svn: 127728
-
Cameron Zwarich authored
chose is having a non-memcpy/memset use and being larger than any native integer type. Originally I chose having an access of a size smaller than the total size of the alloca, but this caused some minor issues on the spirit benchmark where SRoA runs again after some inlining. This fixes <rdar://problem/8613163>. llvm-svn: 127718
-
Cameron Zwarich authored
llvm-svn: 127716
-
Cameron Zwarich authored
llvm-svn: 127715
-
- Mar 09, 2011
-
-
Cameron Zwarich authored
alloca as both integer and floating-point vectors of the same size. Bugpoint is not cooperating with me, but I'll try to find a manual testcase tomorrow. llvm-svn: 127320
-
Cameron Zwarich authored
a union of a float, <2 x float>, and <4 x float>. This mostly comes up with the use of vector intrinsics, especially in NEON when programmers know the layout of the register file. This enables codegen to eliminate a lot of the subregister traffic it would otherwise generate. This commit only enables this for a small number of floating-point cases, but a lot more integer cases. I assume this is okay for all ports, but I did not do extensive testing of the quality of code involving i512 vectors and the like. If there is a use case where this generates worse code than before, let me know and we can scale it back. This fixes <rdar://problem/9036264>. llvm-svn: 127317
-