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

Unified Diff: test/Transforms/NaCl/expand-byval.ll

Issue 14060026: PNaCl: Add NoAlias attributes in ExpandByVal and ExpandVarArgs passes (Closed) Base URL: http://git.chromium.org/native_client/pnacl-llvm.git@master
Patch Set: Put noalias on the varargs function, not call Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/Transforms/NaCl/ExpandVarArgs.cpp ('k') | test/Transforms/NaCl/expand-varargs.ll » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/Transforms/NaCl/expand-byval.ll
diff --git a/test/Transforms/NaCl/expand-byval.ll b/test/Transforms/NaCl/expand-byval.ll
index 12977a7d7d3bee4288e9dad2a5cc46b73e1573d7..151e36a8255acfb2738856cb6d046b90507af1c2 100644
--- a/test/Transforms/NaCl/expand-byval.ll
+++ b/test/Transforms/NaCl/expand-byval.ll
@@ -15,12 +15,12 @@ define void @byval_receiver(%MyStruct* byval align 32 %ptr) {
ret void
}
; Strip the "byval" and "align" attributes.
-; CHECK: define void @byval_receiver(%MyStruct* %ptr) {
+; CHECK: define void @byval_receiver(%MyStruct* noalias %ptr) {
; CHECK-NEXT: call void @ext_func(%MyStruct* %ptr)
declare void @ext_byval_func(%MyStruct* byval)
-; CHECK: declare void @ext_byval_func(%MyStruct*)
+; CHECK: declare void @ext_byval_func(%MyStruct* noalias)
define void @byval_caller(%MyStruct* %ptr) {
call void @ext_byval_func(%MyStruct* byval %ptr)
@@ -30,7 +30,7 @@ define void @byval_caller(%MyStruct* %ptr) {
; CHECK-NEXT: %ptr.byval_copy = alloca %MyStruct, align 4
; CHECK: call void @llvm.lifetime.start(i64 12, i8* %{{.*}})
; CHECK: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %{{.*}}, i8* %{{.*}}, i64 12, i32 0, i1 false)
-; CHECK-NEXT: call void @ext_byval_func(%MyStruct* %ptr.byval_copy)
+; CHECK-NEXT: call void @ext_byval_func(%MyStruct* noalias %ptr.byval_copy)
jvoung (off chromium) 2013/04/26 19:36:25 Oh, also doesn't *need* to be in the call here?
Mark Seaborn 2013/04/26 19:59:09 Yes, but as we were discussing it doesn't seem to
define void @byval_tail_caller(%MyStruct* %ptr) {
@@ -38,7 +38,7 @@ define void @byval_tail_caller(%MyStruct* %ptr) {
ret void
}
; CHECK: define void @byval_tail_caller(%MyStruct* %ptr) {
-; CHECK: {{^}} call void @ext_byval_func(%MyStruct* %ptr.byval_copy)
+; CHECK: {{^}} call void @ext_byval_func(%MyStruct* noalias %ptr.byval_copy)
define void @byval_invoke(%MyStruct* %ptr) {
@@ -53,7 +53,7 @@ lpad:
; CHECK: define void @byval_invoke(%MyStruct* %ptr) {
; CHECK: %ptr.byval_copy = alloca %MyStruct, align 32
; CHECK: call void @llvm.lifetime.start(i64 12, i8* %{{.*}})
-; CHECK: invoke void @ext_byval_func(%MyStruct* %ptr.byval_copy)
+; CHECK: invoke void @ext_byval_func(%MyStruct* noalias %ptr.byval_copy)
; CHECK: cont:
; CHECK: call void @llvm.lifetime.end(i64 12, i8* %{{.*}})
; CHECK: lpad:
@@ -64,7 +64,7 @@ lpad:
; Check that "align" is stripped for declarations too.
declare void @ext_byval_func_align(%MyStruct* byval align 32)
-; CHECK: declare void @ext_byval_func_align(%MyStruct*)
+; CHECK: declare void @ext_byval_func_align(%MyStruct* noalias)
define void @byval_caller_align_via_attr(%MyStruct* %ptr) {
call void @ext_byval_func(%MyStruct* byval align 32 %ptr)
« no previous file with comments | « lib/Transforms/NaCl/ExpandVarArgs.cpp ('k') | test/Transforms/NaCl/expand-varargs.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698