; RUN: opt < %s -basic-aa -loop-interchange -pass-remarks-missed='loop-interchange' \ ; RUN: -pass-remarks-output=%t -verify-loop-info -verify-dom-info -S | FileCheck -check-prefix=IR %s ; RUN: FileCheck --input-file=%t %s ; RUN: opt < %s -basic-aa -loop-interchange -pass-remarks-missed='loop-interchange' \ ; RUN: -da-disable-delinearization-checks -pass-remarks-output=%t \ ; RUN: -verify-loop-info -verify-dom-info -S | FileCheck -check-prefix=IR %s ; RUN: FileCheck --check-prefix=DELIN --input-file=%t %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" @A = common global [100 x [100 x i32]] zeroinitializer @B = common global [100 x [100 x [100 x i32]]] zeroinitializer @C = common global [100 x [100 x i64]] zeroinitializer ;;--------------------------------------Test case 01------------------------------------ ;; [FIXME] This loop though valid is currently not interchanged due to the limitation that we cannot split the inner loop latch due to multiple use of inner induction ;; variable.(used to increment the loop counter and to access A[j+1][i+1] ;; for(int i=0;i