[polly] 9de0086 - [Polly] Convert some tests to opaque pointers (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 25 05:40:42 PST 2023


Author: Nikita Popov
Date: 2023-01-25T14:40:34+01:00
New Revision: 9de0086d4c3cdba79414054a34a9d7e42956cbb3

URL: https://github.com/llvm/llvm-project/commit/9de0086d4c3cdba79414054a34a9d7e42956cbb3
DIFF: https://github.com/llvm/llvm-project/commit/9de0086d4c3cdba79414054a34a9d7e42956cbb3.diff

LOG: [Polly] Convert some tests to opaque pointers (NFC)

Convert ScopInfo tests.

Added: 
    

Modified: 
    polly/test/ScopInfo/int2ptr_ptr2int.ll
    polly/test/ScopInfo/int2ptr_ptr2int_2.ll
    polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll
    polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll
    polly/test/ScopInfo/invariant_load_zext_parameter.ll
    polly/test/ScopInfo/memcpy.ll
    polly/test/ScopInfo/memmove.ll

Removed: 
    


################################################################################
diff  --git a/polly/test/ScopInfo/int2ptr_ptr2int.ll b/polly/test/ScopInfo/int2ptr_ptr2int.ll
index 1b5aca8bee3b0..7cd6ec4c239fe 100644
--- a/polly/test/ScopInfo/int2ptr_ptr2int.ll
+++ b/polly/test/ScopInfo/int2ptr_ptr2int.ll
@@ -1,5 +1,5 @@
-; RUN: opt -opaque-pointers=0 %loadPolly -polly-print-scops -disable-output < %s | FileCheck %s
-; RUN: opt -opaque-pointers=0 %loadPolly -S -polly-codegen < %s | FileCheck %s --check-prefix=IR
+; RUN: opt %loadPolly -polly-print-scops -disable-output < %s | FileCheck %s
+; RUN: opt %loadPolly -S -polly-codegen < %s | FileCheck %s --check-prefix=IR
 ;
 ;    void f(long *A, long *ptr, long val) {
 ;      for (long i = 0; i < 100; i++) {
@@ -17,31 +17,32 @@
 ; CHECK-NEXT:       [val, ptr] -> { Stmt_for_body[i0] -> MemRef_A[9 + ptr] };
 ;
 ; IR:      entry:
-; IR-NEXT:   %ptr1 = ptrtoint i64* %ptr to i32
+; IR-NEXT:   %ptr1 = ptrtoint ptr %ptr to i32
 ;
 ; IR:      polly.stmt.for.body:
-; IR-NEXT:   %p_tmp1 = inttoptr i64 %14 to i64*
-; IR-NEXT:   %p_add.ptr2 = getelementptr inbounds i64, i64* %p_tmp1, i64 1
-; IR-NEXT:   %p_tmp2 = ptrtoint i64* %p_add.ptr2 to i64
-; IR-NEXT:   %p_arrayidx = getelementptr inbounds i64, i64* %A, i64 %p_tmp2
-; IR-NEXT:   %tmp3_p_scalar_ = load i64, i64* %p_arrayidx, align 8, !alias.scope !0, !noalias !3
-; IR-NEXT:   %tmp4_p_scalar_ = load i64, i64* %scevgep, align 8, !alias.scope !0, !noalias !3
+; IR-NEXT:   %p_tmp1 = inttoptr i64 %14 to ptr
+; IR-NEXT:   %p_add.ptr2 = getelementptr inbounds i64, ptr %p_tmp1, i64 1
+; IR-NEXT:   %p_tmp2 = ptrtoint ptr %p_add.ptr2 to i64
+; IR-NEXT:   %p_arrayidx = getelementptr inbounds i64, ptr %A, i64 %p_tmp2
+; IR-NEXT:   %tmp3_p_scalar_ = load i64, ptr %p_arrayidx, align 8, !alias.scope !0, !noalias !3
+; IR-NEXT:   %tmp4_p_scalar_ = load i64, ptr %uglygep, align 8, !alias.scope !0, !noalias !3
 ; IR-NEXT:   %p_add4 = add nsw i64 %tmp4_p_scalar_, %tmp3_p_scalar_
-; IR-NEXT:   store i64 %p_add4, i64* %scevgep, align 8, !alias.scope !0, !noalias !3
+; IR-NEXT:   store i64 %p_add4, ptr %uglygep, align 8, !alias.scope !0, !noalias !3
 ; IR-NEXT:   %polly.indvar_next = add nsw i64 %polly.indvar, 1
 ; IR-NEXT:   %polly.loop_cond = icmp sle i64 %polly.indvar_next, 99
 ; IR-NEXT:   br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit
 ;
 ; IR:      polly.loop_preheader:
 ; IR-NEXT:   %14 = add i64 %val, 1
-; IR-NEXT:   %15 = add i32 %ptr1, 9
-; IR-NEXT:   %scevgep = getelementptr i64, i64* %A, i32 %15
+; IR-NEXT:   %15 = shl i32 %ptr1, 3
+; IR-NEXT:   %16 = add i32 %15, 72
+; IR-NEXT:   %uglygep = getelementptr i8, ptr %A, i32 %16
 ; IR-NEXT:   br label %polly.loop_header
 
 ;
 target datalayout = "e-p:32:32:32-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
-define void @f(i64* %A, i64* %ptr, i64 %val) {
+define void @f(ptr %A, ptr %ptr, i64 %val) {
 entry:
   br label %for.cond
 
@@ -51,19 +52,19 @@ for.cond:                                         ; preds = %for.inc, %entry
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %add.ptr = getelementptr inbounds i64, i64* %ptr, i64 1
-  %tmp = ptrtoint i64* %add.ptr to i64
+  %add.ptr = getelementptr inbounds i64, ptr %ptr, i64 1
+  %tmp = ptrtoint ptr %add.ptr to i64
   %add = add nsw i64 %tmp, 1
   %add1 = add nsw i64 %val, 1
-  %tmp1 = inttoptr i64 %add1 to i64*
-  %add.ptr2 = getelementptr inbounds i64, i64* %tmp1, i64 1
-  %tmp2 = ptrtoint i64* %add.ptr2 to i64
-  %arrayidx = getelementptr inbounds i64, i64* %A, i64 %tmp2
-  %tmp3 = load i64, i64* %arrayidx
-  %arrayidx3 = getelementptr inbounds i64, i64* %A, i64 %add
-  %tmp4 = load i64, i64* %arrayidx3
+  %tmp1 = inttoptr i64 %add1 to ptr
+  %add.ptr2 = getelementptr inbounds i64, ptr %tmp1, i64 1
+  %tmp2 = ptrtoint ptr %add.ptr2 to i64
+  %arrayidx = getelementptr inbounds i64, ptr %A, i64 %tmp2
+  %tmp3 = load i64, ptr %arrayidx
+  %arrayidx3 = getelementptr inbounds i64, ptr %A, i64 %add
+  %tmp4 = load i64, ptr %arrayidx3
   %add4 = add nsw i64 %tmp4, %tmp3
-  store i64 %add4, i64* %arrayidx3
+  store i64 %add4, ptr %arrayidx3
   br label %for.inc
 
 for.inc:                                          ; preds = %for.body

diff  --git a/polly/test/ScopInfo/int2ptr_ptr2int_2.ll b/polly/test/ScopInfo/int2ptr_ptr2int_2.ll
index e228e30b34ce4..a9c3431270fb8 100644
--- a/polly/test/ScopInfo/int2ptr_ptr2int_2.ll
+++ b/polly/test/ScopInfo/int2ptr_ptr2int_2.ll
@@ -1,6 +1,6 @@
-; RUN: opt -opaque-pointers=0 %loadPolly -polly-print-scops \
+; RUN: opt %loadPolly -polly-print-scops \
 ; RUN: -polly-invariant-load-hoisting=true -disable-output < %s | FileCheck %s
-; RUN: opt -opaque-pointers=0 %loadPolly -S -polly-codegen \
+; RUN: opt %loadPolly -S -polly-codegen \
 ; RUN: -polly-invariant-load-hoisting=true < %s | FileCheck %s --check-prefix=IR
 ;
 ;    void f(long *A, long *B, long *ptr, long val) {
@@ -21,25 +21,26 @@
 ; CHECK-NEXT:       [val, ptr] -> { Stmt_for_body[i0] -> MemRef_A[9 + ptr] };
 
 ; IR:      entry:
-; IR-NEXT:   %ptr13 = ptrtoint i64* %ptr to i16
+; IR-NEXT:   %ptr13 = ptrtoint ptr %ptr to i16
 ;
 ; IR:      polly.stmt.for.body:
-; IR-NEXT:   %tmp4_p_scalar_ = load i64, i64* %scevgep, align 8, !alias.scope !3, !noalias !0
+; IR-NEXT:   %tmp4_p_scalar_ = load i64, ptr %uglygep, align 8, !alias.scope !3, !noalias !0
 ; IR-NEXT:   %p_add4 = add nsw i64 %tmp4_p_scalar_, %polly.preload.tmp3.merge
-; IR-NEXT:   store i64 %p_add4, i64* %scevgep, align 8, !alias.scope !3, !noalias !0
+; IR-NEXT:   store i64 %p_add4, ptr %uglygep, align 8, !alias.scope !3, !noalias !0
 ; IR-NEXT:   %polly.indvar_next = add nsw i64 %polly.indvar, 1
 ; IR-NEXT:   %polly.loop_cond = icmp sle i64 %polly.indvar_next, 99
 ; IR-NEXT:   br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit
 
 ; IR:      polly.loop_preheader:
 ; IR-NEXT:   %41 = add i16 %val, 1
-; IR-NEXT:   %42 = add i16 %ptr13, 9
-; IR-NEXT:   %scevgep = getelementptr i64, i64* %A, i16 %42
+; IR-NEXT:   %42 = shl i16 %ptr13, 3
+; IR-NEXT:   %43 = add i16 %42, 72
+; IR-NEXT:   %uglygep = getelementptr i8, ptr %A, i16 %43
 ; IR-NEXT:   br label %polly.loop_header
 ;
 target datalayout = "e-p:16:16:16-m:e-i64:64-f80:128-n8:16:16:64-S128"
 
-define void @f(i64* %A, i64* %B, i64* %ptr, i16 %val) {
+define void @f(ptr %A, ptr %B, ptr %ptr, i16 %val) {
 entry:
   br label %for.cond
 
@@ -49,19 +50,19 @@ for.cond:                                         ; preds = %for.inc, %entry
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %add.ptr = getelementptr inbounds i64, i64* %ptr, i64 1
-  %tmp = ptrtoint i64* %add.ptr to i16
+  %add.ptr = getelementptr inbounds i64, ptr %ptr, i64 1
+  %tmp = ptrtoint ptr %add.ptr to i16
   %add = add nsw i16 %tmp, 1
   %add1 = add nsw i16 %val, 1
-  %tmp1 = inttoptr i16 %add1 to i64*
-  %add.ptr2 = getelementptr inbounds i64, i64* %tmp1, i64 1
-  %tmp2 = ptrtoint i64* %add.ptr2 to i16
-  %arrayidx = getelementptr inbounds i64, i64* %B, i16 %tmp2
-  %tmp3 = load i64, i64* %arrayidx
-  %arrayidx3 = getelementptr inbounds i64, i64* %A, i16 %add
-  %tmp4 = load i64, i64* %arrayidx3
+  %tmp1 = inttoptr i16 %add1 to ptr
+  %add.ptr2 = getelementptr inbounds i64, ptr %tmp1, i64 1
+  %tmp2 = ptrtoint ptr %add.ptr2 to i16
+  %arrayidx = getelementptr inbounds i64, ptr %B, i16 %tmp2
+  %tmp3 = load i64, ptr %arrayidx
+  %arrayidx3 = getelementptr inbounds i64, ptr %A, i16 %add
+  %tmp4 = load i64, ptr %arrayidx3
   %add4 = add nsw i64 %tmp4, %tmp3
-  store i64 %add4, i64* %arrayidx3
+  store i64 %add4, ptr %arrayidx3
   br label %for.inc
 
 for.inc:                                          ; preds = %for.body

diff  --git a/polly/test/ScopInfo/invariant_load_access_classes_
diff erent_base_type.ll b/polly/test/ScopInfo/invariant_load_access_classes_
diff erent_base_type.ll
index 4ace2e061cf21..ccc3ee3bdbaa4 100644
--- a/polly/test/ScopInfo/invariant_load_access_classes_
diff erent_base_type.ll
+++ b/polly/test/ScopInfo/invariant_load_access_classes_
diff erent_base_type.ll
@@ -1,5 +1,5 @@
-; RUN: opt -opaque-pointers=0 %loadPolly -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s | FileCheck %s
-; RUN: opt -opaque-pointers=0 %loadPolly -polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s --check-prefix=CODEGEN
+; RUN: opt %loadPolly -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s --check-prefix=CODEGEN
 ;
 ;    struct {
 ;      int a;
@@ -23,21 +23,21 @@
 ; CODEGEN:    %S.b.preload.s2a = alloca float
 ; CODEGEN:    %S.a.preload.s2a = alloca i32
 ;
-; CODEGEN:    %.load = load i32, i32* getelementptr inbounds (%struct.anon, %struct.anon* @S, i32 0, i32 0)
-; CODEGEN:    store i32 %.load, i32* %S.a.preload.s2a
-; CODEGEN:    %.load1 = load float, float* bitcast (i32* getelementptr (i32, i32* getelementptr inbounds (%struct.anon, %struct.anon* @S, i32 0, i32 0), i64 1) to float*)
-; CODEGEN:    store float %.load1, float* %S.b.preload.s2a
+; CODEGEN:    %S.load = load i32, ptr @S
+; CODEGEN:    store i32 %S.load, ptr %S.a.preload.s2a
+; CODEGEN:    %.load = load float, ptr getelementptr inbounds (i32, ptr @S, i64 1)
+; CODEGEN:    store float %.load, ptr %S.b.preload.s2a
 ;
 ; CODEGEN:  polly.stmt.for.body:
-; CODEGEN:    %p_conv = sitofp i32 %.load to float
-; CODEGEN:    %p_add = fadd float %p_conv, %.load1
+; CODEGEN:    %p_conv = sitofp i32 %S.load to float
+; CODEGEN:    %p_add = fadd float %p_conv, %.load
 ; CODEGEN:    %p_conv1 = fptosi float %p_add to i32
 
 %struct.anon = type { i32, float }
 
 @S = common global %struct.anon zeroinitializer, align 4
 
-define void @f(i32* %A) {
+define void @f(ptr %A) {
 entry:
   br label %for.cond
 
@@ -47,13 +47,13 @@ for.cond:                                         ; preds = %for.inc, %entry
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %S.a = load i32, i32* getelementptr inbounds (%struct.anon, %struct.anon* @S, i64 0, i32 0), align 4
+  %S.a = load i32, ptr @S, align 4
   %conv = sitofp i32 %S.a to float
-  %S.b = load float, float* getelementptr inbounds (%struct.anon, %struct.anon* @S, i64 0, i32 1), align 4
+  %S.b = load float, ptr getelementptr inbounds (%struct.anon, ptr @S, i64 0, i32 1), align 4
   %add = fadd float %conv, %S.b
   %conv1 = fptosi float %add to i32
-  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
-  store i32 %conv1, i32* %arrayidx, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
+  store i32 %conv1, ptr %arrayidx, align 4
   br label %for.inc
 
 for.inc:                                          ; preds = %for.body

diff  --git a/polly/test/ScopInfo/invariant_load_access_classes_
diff erent_base_type_escaping.ll b/polly/test/ScopInfo/invariant_load_access_classes_
diff erent_base_type_escaping.ll
index e3629acafcfa3..4d4b64daed5d8 100644
--- a/polly/test/ScopInfo/invariant_load_access_classes_
diff erent_base_type_escaping.ll
+++ b/polly/test/ScopInfo/invariant_load_access_classes_
diff erent_base_type_escaping.ll
@@ -1,5 +1,5 @@
-; RUN: opt -opaque-pointers=0 %loadPolly -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s | FileCheck %s
-; RUN: opt -opaque-pointers=0 %loadPolly -polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s --check-prefix=CODEGEN
+; RUN: opt %loadPolly -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s --check-prefix=CODEGEN
 ;
 ;    struct {
 ;      int a;
@@ -42,10 +42,10 @@
 ; CODEGEN:   %S.a.preload.s2a = alloca i32
 ;
 ; CODEGEN: polly.preload.begin:
-; CODEGEN:   %.load = load i32, i32* getelementptr inbounds (%struct.anon, %struct.anon* @S, i32 0, i32 0)
-; CODEGEN:   store i32 %.load, i32* %S.a.preload.s2a
-; CODEGEN:   %.load1 = load float, float* bitcast (i32* getelementptr (i32, i32* getelementptr inbounds (%struct.anon, %struct.anon* @S, i32 0, i32 0), i64 1) to float*)
-; CODEGEN:   store float %.load1, float* %S.b.preload.s2a
+; CODEGEN:   %S.load = load i32, ptr @S
+; CODEGEN:   store i32 %S.load, ptr %S.a.preload.s2a
+; CODEGEN:   %.load = load float, ptr getelementptr inbounds (i32, ptr @S, i64 1)
+; CODEGEN:   store float %.load, ptr %S.b.preload.s2a
 ;
 ; CODEGEN:     polly.merge_new_and_old:
 ; CODEGEN-DAG:   %S.b.merge = phi float [ %S.b.final_reload, %polly.exiting ], [ %S.b, %do.cond ]
@@ -57,8 +57,8 @@
 ; CODEGEN:   ret float %add4
 ;
 ; CODEGEN: polly.loop_exit:
-; CODEGEN-DAG:   %S.b.final_reload = load float, float* %S.b.preload.s2a
-; CODEGEN-DAG:   %S.a.final_reload = load i32, i32* %S.a.preload.s2a
+; CODEGEN-DAG:   %S.b.final_reload = load float, ptr %S.b.preload.s2a
+; CODEGEN-DAG:   %S.a.final_reload = load i32, ptr %S.a.preload.s2a
 
 ;
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
@@ -67,19 +67,19 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
 @S = common global %struct.anon zeroinitializer, align 4
 
-define float @f(i32* %A) {
+define float @f(ptr %A) {
 entry:
   br label %do.body
 
 do.body:                                          ; preds = %do.cond, %entry
   %indvars.iv = phi i64 [ %indvars.iv.next, %do.cond ], [ 0, %entry ]
-  %S.a = load i32, i32* getelementptr inbounds (%struct.anon, %struct.anon* @S, i64 0, i32 0), align 4
-  %S.b = load float, float* getelementptr inbounds (%struct.anon, %struct.anon* @S, i64 0, i32 1), align 4
+  %S.a = load i32, ptr @S, align 4
+  %S.b = load float, ptr getelementptr inbounds (%struct.anon, ptr @S, i64 0, i32 1), align 4
   %conv = sitofp i32 %S.a to float
   %add = fadd float %conv, %S.b
   %conv1 = fptosi float %add to i32
-  %arrayidx = getelementptr inbounds i32, i32* %A, i64 %indvars.iv
-  store i32 %conv1, i32* %arrayidx, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
+  store i32 %conv1, ptr %arrayidx, align 4
   br label %do.cond
 
 do.cond:                                          ; preds = %do.body

diff  --git a/polly/test/ScopInfo/invariant_load_zext_parameter.ll b/polly/test/ScopInfo/invariant_load_zext_parameter.ll
index 377152e8fc090..1bde70282d440 100644
--- a/polly/test/ScopInfo/invariant_load_zext_parameter.ll
+++ b/polly/test/ScopInfo/invariant_load_zext_parameter.ll
@@ -1,5 +1,5 @@
-; RUN: opt -opaque-pointers=0 %loadPolly -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s | FileCheck %s
-; RUN: opt -opaque-pointers=0 %loadPolly -polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s --check-prefix=CODEGEN
+; RUN: opt %loadPolly -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s | FileCheck %s
+; RUN: opt %loadPolly -polly-codegen -polly-invariant-load-hoisting=true -S < %s | FileCheck %s --check-prefix=CODEGEN
 ;
 ;    void f(int *I0, int *I1, int *V) {
 ;      for (int i = 0; i < 1000; i++) {
@@ -20,9 +20,9 @@
 ; CHECK-NEXT:      [loadI0] -> { Stmt_if_then[i0] : loadI0 = 0 and 0 <= i0 <= 999 };
 ;
 ; CODEGEN:      polly.preload.begin:
-; CODEGEN-NEXT:   %polly.access.I0 = getelementptr i32, i32* %I0, i64 0
-; CODEGEN-NEXT:   %polly.access.I0.load = load i32, i32* %polly.access.I0
-; CODEGEN-NEXT:   store i32 %polly.access.I0.load, i32* %loadI1a.preload.s2a
+; CODEGEN-NEXT:   %polly.access.I0 = getelementptr i32, ptr %I0, i64 0
+; CODEGEN-NEXT:   %polly.access.I0.load = load i32, ptr %polly.access.I0
+; CODEGEN-NEXT:   store i32 %polly.access.I0.load, ptr %loadI1a.preload.s2a
 ; CODEGEN-NEXT:   %0 = sext i32 %polly.access.I0.load to i64
 ; CODEGEN-NEXT:   %1 = icmp eq i64 %0, 0
 ; CODEGEN-NEXT:   %polly.preload.cond.result = and i1 %1, true
@@ -33,7 +33,7 @@
 ;
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
-define void @f(i32* %I0, i32* %I1, i32* %V) {
+define void @f(ptr %I0, ptr %I1, ptr %V) {
 entry:
   br label %for.cond
 
@@ -43,22 +43,22 @@ for.cond:                                         ; preds = %for.inc, %entry
   br i1 %exitcond, label %for.body, label %for.end
 
 for.body:                                         ; preds = %for.cond
-  %loadI1a = load i32, i32* %I0, align 4
-  %arrayidx = getelementptr inbounds i32, i32* %V, i64 %indvars.iv
-  %loadI1a1 = load i32, i32* %arrayidx, align 4
+  %loadI1a = load i32, ptr %I0, align 4
+  %arrayidx = getelementptr inbounds i32, ptr %V, i64 %indvars.iv
+  %loadI1a1 = load i32, ptr %arrayidx, align 4
   %add = add nsw i32 %loadI1a1, %loadI1a
-  store i32 %add, i32* %arrayidx, align 4
-  %loadI0 = load i32, i32* %I0, align 4
+  store i32 %add, ptr %arrayidx, align 4
+  %loadI0 = load i32, ptr %I0, align 4
   %loadI0ext = zext i32 %loadI0 to i64
   %cmp1 = icmp eq i64 %loadI0ext, 0
   br i1 %cmp1, label %if.then, label %if.end
 
 if.then:                                          ; preds = %for.body
-  %loadI1b = load i32, i32* %I1, align 4
-  %arrayidx4 = getelementptr inbounds i32, i32* %V, i64 %indvars.iv
-  %loadI1a4 = load i32, i32* %arrayidx4, align 4
+  %loadI1b = load i32, ptr %I1, align 4
+  %arrayidx4 = getelementptr inbounds i32, ptr %V, i64 %indvars.iv
+  %loadI1a4 = load i32, ptr %arrayidx4, align 4
   %add5 = add nsw i32 %loadI1a4, %loadI1b
-  store i32 %add5, i32* %arrayidx4, align 4
+  store i32 %add5, ptr %arrayidx4, align 4
   br label %if.end
 
 if.end:                                           ; preds = %if.then, %for.body

diff  --git a/polly/test/ScopInfo/memcpy.ll b/polly/test/ScopInfo/memcpy.ll
index 27419f42801a1..705dea769e42a 100644
--- a/polly/test/ScopInfo/memcpy.ll
+++ b/polly/test/ScopInfo/memcpy.ll
@@ -1,5 +1,5 @@
-; RUN: opt -opaque-pointers=0 %loadPolly -basic-aa -polly-allow-
diff ering-element-types -polly-print-scops -disable-output < %s | FileCheck %s
-; RUN: opt -opaque-pointers=0 %loadPolly -S -basic-aa -polly-allow-
diff ering-element-types -polly-codegen < %s | FileCheck --check-prefix=IR %s
+; RUN: opt %loadPolly -basic-aa -polly-allow-
diff ering-element-types -polly-print-scops -disable-output < %s | FileCheck %s
+; RUN: opt %loadPolly -S -basic-aa -polly-allow-
diff ering-element-types -polly-codegen < %s | FileCheck --check-prefix=IR %s
 ;
 ; CHECK:         Arrays {
 ; CHECK-NEXT:        i8 MemRef_A[*]; // Element size 1
@@ -17,13 +17,11 @@
 ; CHECK-NEXT:                { Stmt_for_body3[i0, i1] -> MemRef_B[o0] : 64 <= o0 <= 100 };
 ;
 ; IR: polly.loop_preheader:
-; IR:   %[[r1:[a-zA-Z0-9]*]] = getelementptr i32, i32* %A, i64 -4
-; IR:   %[[r2:[a-zA-Z0-9]*]] = bitcast i32* %scevgep to i8*
-; IR:   %[[r3:[a-zA-Z0-9]*]] = getelementptr i64, i64* %B, i64 8
-; IR:   %[[r4:[a-zA-Z0-9]*]] = bitcast i64* %scevgep8 to i8*
+; IR:   %[[r1:[a-zA-Z0-9]*]] = getelementptr i8, ptr %A, i64 -16
+; IR:   %[[r3:[a-zA-Z0-9]*]] = getelementptr i8, ptr %B, i64 64
 ;
 ; IR: polly.stmt.for.body3:
-; IR:   call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %[[r2]], i8* align 4 %[[r4]], i64 37, i1 false)
+; IR:   call void @llvm.memcpy.p0.p0.i64(ptr align 4 %[[r1]], ptr align 4 %[[r3]], i64 37, i1 false)
 ;
 ;
 ;    #include <string.h>
@@ -36,7 +34,7 @@
 ;
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
-define void @jd(i32* noalias %A, i64* noalias %B) {
+define void @jd(ptr noalias %A, ptr noalias %B) {
 entry:
   br label %for.cond
 
@@ -54,11 +52,9 @@ for.cond1:                                        ; preds = %for.inc, %for.body
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %add.ptr = getelementptr inbounds i32, i32* %A, i64 -4
-  %tmp = bitcast i32* %add.ptr to i8*
-  %add.ptr4 = getelementptr inbounds i64, i64* %B, i64 8
-  %tmp2 = bitcast i64* %add.ptr4 to i8*
-  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %tmp, i8* %tmp2, i64 37, i32 4, i1 false)
+  %add.ptr = getelementptr inbounds i32, ptr %A, i64 -4
+  %add.ptr4 = getelementptr inbounds i64, ptr %B, i64 8
+  call void @llvm.memcpy.p0.p0.i64(ptr %add.ptr, ptr %add.ptr4, i64 37, i32 4, i1 false)
   br label %for.inc
 
 for.inc:                                          ; preds = %for.body3
@@ -76,5 +72,5 @@ for.end7:                                         ; preds = %for.cond
   ret void
 }
 
-declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #1
+declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture readonly, i64, i32, i1) #1
 

diff  --git a/polly/test/ScopInfo/memmove.ll b/polly/test/ScopInfo/memmove.ll
index bee028aa05ffb..15123422f4192 100644
--- a/polly/test/ScopInfo/memmove.ll
+++ b/polly/test/ScopInfo/memmove.ll
@@ -1,5 +1,5 @@
-; RUN: opt -opaque-pointers=0 %loadPolly -basic-aa -polly-allow-
diff ering-element-types -polly-print-scops -disable-output < %s | FileCheck %s
-; RUN: opt -opaque-pointers=0 %loadPolly -S -basic-aa -polly-allow-
diff ering-element-types -polly-codegen < %s | FileCheck --check-prefix=IR %s
+; RUN: opt %loadPolly -basic-aa -polly-allow-
diff ering-element-types -polly-print-scops -disable-output < %s | FileCheck %s
+; RUN: opt %loadPolly -S -basic-aa -polly-allow-
diff ering-element-types -polly-codegen < %s | FileCheck --check-prefix=IR %s
 ;
 ; CHECK:         Arrays {
 ; CHECK-NEXT:        i8 MemRef_A[*]; // Element size 1
@@ -17,13 +17,11 @@
 ; CHECK-NEXT:                { Stmt_for_body3[i0, i1] -> MemRef_B[o0] : 64 <= o0 <= 95 };
 ;
 ; IR: polly.loop_preheader:
-; IR:   %[[r1:[a-zA-Z0-9]*]] = getelementptr i32, i32* %A, i64 -4
-; IR:   %[[r2:[a-zA-Z0-9]*]] = bitcast i32* %scevgep to i8*
-; IR:   %[[r3:[a-zA-Z0-9]*]] = getelementptr i64, i64* %B, i64 8
-; IR:   %[[r4:[a-zA-Z0-9]*]] = bitcast i64* %scevgep8 to i8*
+; IR:   %[[r1:[a-zA-Z0-9]*]] = getelementptr i8, ptr %A, i64 -16
+; IR:   %[[r3:[a-zA-Z0-9]*]] = getelementptr i8, ptr %B, i64 64
 ;
 ; IR: polly.stmt.for.body3:
-; IR:   call void @llvm.memmove.p0i8.p0i8.i64(i8* align 4 %[[r2]], i8* align 4 %[[r4]], i64 32, i1 false)
+; IR:   call void @llvm.memmove.p0.p0.i64(ptr align 4 %[[r1]], ptr align 4 %[[r3]], i64 32, i1 false)
 ;
 ;    #include <string.h>
 ;
@@ -35,7 +33,7 @@
 ;
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
-define void @jd(i32* noalias %A, i64* noalias %B) {
+define void @jd(ptr noalias %A, ptr noalias %B) {
 entry:
   br label %for.cond
 
@@ -53,11 +51,9 @@ for.cond1:                                        ; preds = %for.inc, %for.body
   br i1 %exitcond, label %for.body3, label %for.end
 
 for.body3:                                        ; preds = %for.cond1
-  %add.ptr = getelementptr inbounds i32, i32* %A, i64 -4
-  %tmp = bitcast i32* %add.ptr to i8*
-  %add.ptr4 = getelementptr inbounds i64, i64* %B, i64 8
-  %tmp2 = bitcast i64* %add.ptr4 to i8*
-  call void @llvm.memmove.p0i8.p0i8.i64(i8* %tmp, i8* %tmp2, i64 32, i32 4, i1 false)
+  %add.ptr = getelementptr inbounds i32, ptr %A, i64 -4
+  %add.ptr4 = getelementptr inbounds i64, ptr %B, i64 8
+  call void @llvm.memmove.p0.p0.i64(ptr %add.ptr, ptr %add.ptr4, i64 32, i32 4, i1 false)
   br label %for.inc
 
 for.inc:                                          ; preds = %for.body3
@@ -75,5 +71,5 @@ for.end7:                                         ; preds = %for.cond
   ret void
 }
 
-declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #1
+declare void @llvm.memmove.p0.p0.i64(ptr nocapture, ptr nocapture readonly, i64, i32, i1) #1
 


        


More information about the llvm-commits mailing list