- Sep 06, 2010
-
-
Roman Divacky authored
llvm-svn: 113158
-
Chris Lattner authored
llvm-svn: 113157
-
- Sep 05, 2010
-
-
Chris Lattner authored
llvm-svn: 113116
-
rdar://6653118Chris Lattner authored
Since mem2reg isn't run at -O0, we get a ton of reloads from the stack, for example, before, this code: int foo(int x, int y, int z) { return x+y+z; } used to compile into: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx movl 4(%rsp), %esi addl %edx, %esi movl (%rsp), %edx addl %esi, %edx movl %edx, %eax addq $12, %rsp ret Now we produce: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx addl 4(%rsp), %edx ## Folded load addl (%rsp), %edx ## Folded load movl %edx, %eax addq $12, %rsp ret Fewer instructions and less register use = faster compiles. llvm-svn: 113102
-
- Sep 04, 2010
-
-
Chris Lattner authored
llvm-svn: 113073
-
Bruno Cardoso Lopes authored
llvm-svn: 113059
-
Bruno Cardoso Lopes authored
llvm-svn: 113058
-
Bruno Cardoso Lopes authored
llvm-svn: 113056
-
Bruno Cardoso Lopes authored
llvm-svn: 113055
-
Bruno Cardoso Lopes authored
llvm-svn: 113050
-
Bruno Cardoso Lopes authored
llvm-svn: 113048
-
Bruno Cardoso Lopes authored
llvm-svn: 113047
-
Bruno Cardoso Lopes authored
llvm-svn: 113045
-
Bruno Cardoso Lopes authored
llvm-svn: 113044
-
Bruno Cardoso Lopes authored
llvm-svn: 113043
-
Bruno Cardoso Lopes authored
llvm-svn: 113035
-
Bruno Cardoso Lopes authored
llvm-svn: 113034
-
Bruno Cardoso Lopes authored
checking each standalone condition and decide whether emit target specific nodes or remove the condition if it's already matched before. llvm-svn: 113031
-
Bruno Cardoso Lopes authored
"Use target specific nodes instead of relying in unpckl and unpckh pattern fragments during isel time. Also place a depth limit in getShuffleScalarElt. llvm-svn: 113020
-
- Sep 03, 2010
-
-
Dale Johannesen authored
Bruno, please review. llvm-svn: 113014
-
Bruno Cardoso Lopes authored
llvm-svn: 113009
-
Bruno Cardoso Lopes authored
llvm-svn: 113008
-
Bruno Cardoso Lopes authored
functional changes llvm-svn: 113007
-
Bruno Cardoso Lopes authored
llvm-svn: 113006
-
Daniel Dunbar authored
some infinite loop and select failures. - Apologies for eager reverting, but its branch day. llvm-svn: 113000
-
Daniel Dunbar authored
infinite loop and select failures. llvm-svn: 112999
-
Daniel Dunbar authored
mask pattern fragment", which depends on r112934, which introduced some infinite loop and select failures. llvm-svn: 112998
-
Bruno Cardoso Lopes authored
The AVX versions of PALIGN and PABS* should only exist for 128-bit. Remove the unnecessary stuff. llvm-svn: 112944
-
Bruno Cardoso Lopes authored
llvm-svn: 112942
-
Bruno Cardoso Lopes authored
llvm-svn: 112938
-
Bruno Cardoso Lopes authored
- Teach getShuffleScalarElt how to handle more target specific nodes, so the DAGCombine can make use of it. - Add another hack to avoid the node update problem during legalization. More description on the comments llvm-svn: 112934
-
Jakob Stoklund Olesen authored
llvm-svn: 112921
-
Anton Korobeynikov authored
Patch by Cameron Esfahani! llvm-svn: 112902
-
Bruno Cardoso Lopes authored
llvm-svn: 112896
-
Anton Korobeynikov authored
llvm-svn: 112885
-
Anton Korobeynikov authored
Patch by Jan Sjodin! llvm-svn: 112875
-
- Sep 02, 2010
-
-
Bruno Cardoso Lopes authored
Move decoding of insertps back to avoid unused warnings in x86 isel lowering, and fix movlhps/movhlps to decode 4 elements shuffles llvm-svn: 112869
-
Dan Gohman authored
there are clearly no stores between the load and the store. This fixes this miscompile reported as PR7833. This breaks the test/CodeGen/X86/narrow_op-2.ll optimization, which is safe, but awkward to prove safe. Move it to X86's README.txt. llvm-svn: 112861
-
Bruno Cardoso Lopes authored
Move x86 specific shuffle mask decoding to its own header, it's also going to be used elsewhere. Also trim trailing whitespaces llvm-svn: 112846
-
Bruno Cardoso Lopes authored
llvm-svn: 112806
-