Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Side by Side Diff: test/CodeGen/X86/fast-isel-x86-64.ll

Issue 7612002: FastISel: don't cache values across the calls (they usually spill on the stack anyway) (Closed) Base URL: http://llvm.org/svn/llvm-project/llvm/trunk/
Patch Set: Fix a typo (spurious backslash) Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/CodeGen/ARM/debug-info-blocks.ll ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; RUN: llc < %s -fast-isel -O0 -regalloc=fast -asm-verbose=0 -fast-isel-abort | FileCheck %s 1 ; RUN: llc < %s -fast-isel -O0 -regalloc=fast -asm-verbose=0 -fast-isel-abort | FileCheck %s
2 2
3 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 2:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:6 4" 3 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 2:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:6 4"
4 target triple = "x86_64-apple-darwin10.0.0" 4 target triple = "x86_64-apple-darwin10.0.0"
5 5
6 ; Make sure that fast-isel folds the immediate into the binop even though it 6 ; Make sure that fast-isel folds the immediate into the binop even though it
7 ; is non-canonical. 7 ; is non-canonical.
8 define i32 @test1(i32 %i) nounwind ssp { 8 define i32 @test1(i32 %i) nounwind ssp {
9 %and = and i32 8, %i 9 %and = and i32 8, %i
10 ret i32 %and 10 ret i32 %and
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 } 252 }
253 declare void @test20sret(%struct.a* sret) 253 declare void @test20sret(%struct.a* sret)
254 254
255 ; Check that -0.0 is not materialized using pxor 255 ; Check that -0.0 is not materialized using pxor
256 define void @test21(double* %p1) { 256 define void @test21(double* %p1) {
257 store double -0.0, double* %p1 257 store double -0.0, double* %p1
258 ret void 258 ret void
259 ; CHECK: test21: 259 ; CHECK: test21:
260 ; CHECK-NOT: pxor 260 ; CHECK-NOT: pxor
261 ; CHECK: movsd LCPI 261 ; CHECK: movsd LCPI
262 } 262 }
263
264 ; Check that immediate arguments to a function
265 ; do not cause massive spilling and are used
266 ; as immediates just before the call.
267 define void @test22() nounwind {
268 entry:
269 call void @foo22(i32 0)
270 call void @foo22(i32 1)
271 call void @foo22(i32 2)
272 call void @foo22(i32 3)
273 ret void
274 ; CHECK: test22:
275 ; CHECK: movl» $0, %edi
276 ; CHECK: callq» _foo22
277 ; CHECK: movl» $1, %edi
278 ; CHECK: callq» _foo22
279 ; CHECK: movl» $2, %edi
280 ; CHECK: callq» _foo22
281 ; CHECK: movl» $3, %edi
282 ; CHECK: callq» _foo22
283 }
284
285 declare void @foo22(i32)
OLDNEW
« no previous file with comments | « test/CodeGen/ARM/debug-info-blocks.ll ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698