- Aug 30, 2010
-
-
Chris Lattner authored
llvm-svn: 112459
-
- Aug 29, 2010
-
-
Chris Lattner authored
instead of PromoteMemToReg. This allows it to stop using DF and DT, eliminating a computation of DT and DF from clang -O3. Clang is now down to 2 runs of DomFrontier. llvm-svn: 112457
-
Chris Lattner authored
llvm-svn: 112455
-
- Aug 28, 2010
-
-
Chris Lattner authored
being actively maintained, improved, or extended. llvm-svn: 112356
-
Chris Lattner authored
llvm-svn: 112354
-
Dan Gohman authored
doesn't currently support dealing with this. llvm-svn: 112341
-
Dan Gohman authored
llvm-svn: 112340
-
Devang Patel authored
llvm-svn: 112305
-
- Aug 27, 2010
-
-
Bill Wendling authored
llvm-svn: 112287
-
Devang Patel authored
llvm-svn: 112242
-
Jim Grosbach authored
to try to re-use scavenged frame index reference registers. rdar://8277890 llvm-svn: 112241
-
Devang Patel authored
llvm-svn: 112238
-
Jim Grosbach authored
virtual base registers handle this function, and more. A bit more cleanup to do on the interface to eliminateFrameIndex() after this. llvm-svn: 112237
-
- Aug 26, 2010
-
-
Devang Patel authored
llvm-svn: 112216
-
Devang Patel authored
llvm-svn: 112215
-
Devang Patel authored
llvm-svn: 112213
-
Devang Patel authored
Donot forget to resolve dangling debug info in a case where virtual register, used for a value, is initialized after a dbg intrinsic is seen. llvm-svn: 112207
-
Chris Lattner authored
llvm-svn: 112175
-
Chris Lattner authored
llvm-svn: 112171
-
Chris Lattner authored
llvm-svn: 112155
-
Chris Lattner authored
llvm-svn: 112104
-
Chris Lattner authored
expanding: e.g. <2 x float> -> <4 x float> instead of -> 2 floats. This affects two places in the code: handling cross block values and handling function return and arguments. Since vectors are already widened by legalizetypes, this gives us much better code and unblocks x86-64 abi and SPU abi work. For example, this (which is a silly example of a cross-block value): define <4 x float> @test2(<4 x float> %A) nounwind { %B = shufflevector <4 x float> %A, <4 x float> undef, <2 x i32> <i32 0, i32 1> %C = fadd <2 x float> %B, %B br label %BB BB: %D = fadd <2 x float> %C, %C %E = shufflevector <2 x float> %D, <2 x float> undef, <4 x i32> <i32 0, i32 1, i32 undef, i32 undef> ret <4 x float> %E } Now compiles into: _test2: ## @test2 ## BB#0: addps %xmm0, %xmm0 addps %xmm0, %xmm0 ret previously it compiled into: _test2: ## @test2 ## BB#0: addps %xmm0, %xmm0 pshufd $1, %xmm0, %xmm1 ## kill: XMM0<def> XMM0<kill> XMM0<def> insertps $0, %xmm0, %xmm0 insertps $16, %xmm1, %xmm0 addps %xmm0, %xmm0 ret This implements rdar://8230384 llvm-svn: 112101
-
- Aug 25, 2010
-
-
Devang Patel authored
llvm-svn: 112086
-
Devang Patel authored
llvm-svn: 112085
-
Jim Grosbach authored
llvm-svn: 112084
-
Chris Lattner authored
no functionality change. llvm-svn: 111994
-
Chris Lattner authored
functionality change. llvm-svn: 111990
-
Chris Lattner authored
llvm-svn: 111982
-
- Aug 24, 2010
-
-
Jim Grosbach authored
access. rdar://8277890&7352504 llvm-svn: 111968
-
Jim Grosbach authored
For now it's still a command line option, but the interface to the generic code doesn't need to know that. llvm-svn: 111942
-
Devang Patel authored
llvm-svn: 111870
-
- Aug 23, 2010
-
-
Jim Grosbach authored
llvm-svn: 111847
-
Jim Grosbach authored
relative offsets when there are offsets encoded in the instructions and simplifies final allocation in PEI. rdar://8277890 llvm-svn: 111836
-
Devang Patel authored
PR 7920. llvm-svn: 111820
-
Owen Anderson authored
Now that PassInfo and Pass::ID have been separated, move the rest of the passes over to the new registration API. llvm-svn: 111815
-
Chandler Carruth authored
hierarchy with virtual methods and using llvm_unreachable to properly indicate unreachable states which would otherwise leave variables uninitialized. llvm-svn: 111803
-
- Aug 21, 2010
-
-
Eli Friedman authored
llvm-svn: 111744
-
Bill Wendling authored
It's similar to "linker_private_weak", but it's known that the address of the object is not taken. For instance, functions that had an inline definition, but the compiler decided not to inline it. Note, unlike linker_private and linker_private_weak, linker_private_weak_def_auto may have only default visibility. The symbols are removed by the linker from the final linked image (executable or dynamic library). llvm-svn: 111684
-
- Aug 20, 2010
-
-
Jim Grosbach authored
llvm-svn: 111673
-
Jim Grosbach authored
llvm-svn: 111670
-