; RUN: opt < %s -basicaa -loop-interchange -S | FileCheck %s ;; We test the complete .ll for adjustment in outer loop header/latch and inner loop header/latch. 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 declare void @foo(i64 %a) declare void @bar(i64 %a) readnone ;;--------------------------------------Test case 01------------------------------------ ;; Not safe to interchange, because the called function `foo` is not marked as ;; readnone, so it could introduce dependences. ;; ;; for(int i=0;i