reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
; This testcase consists of alias relations which should be completely
; resolvable by basicaa.

; RUN: opt < %s -basicaa -aa-eval -print-may-aliases -disable-output 2>&1 | FileCheck %s

target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"

%T = type { i32, [10 x i8] }

; CHECK:     Function: test
; CHECK-NOT:   MayAlias:

define void @test(%T* %P) {
  %A = getelementptr %T, %T* %P, i64 0
  %B = getelementptr %T, %T* %P, i64 0, i32 0
  %C = getelementptr %T, %T* %P, i64 0, i32 1
  %D = getelementptr %T, %T* %P, i64 0, i32 1, i64 0
  %E = getelementptr %T, %T* %P, i64 0, i32 1, i64 5
  ret void
}