mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-30 16:33:57 +00:00
837551f8d6
When building SCEVs, if a function is known to return its argument, then we can build the SCEV using the corresponding argument value. Differential Revision: http://reviews.llvm.org/D9381 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275037 91177308-0d34-0410-b5e6-96231b3b80d8
17 lines
533 B
LLVM
17 lines
533 B
LLVM
; RUN: opt < %s -S -analyze -scalar-evolution | FileCheck %s
|
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
|
|
|
|
define i8* @foo(i32 %no, i8* nocapture %d) nounwind {
|
|
entry:
|
|
%v = call i8* @func1(i8* %d)
|
|
%w = getelementptr i8, i8* %v, i64 5
|
|
ret i8* %w
|
|
}
|
|
|
|
; CHECK-LABEL: Classifying expressions for: @foo
|
|
; CHECK: %w = getelementptr i8, i8* %v, i64 5
|
|
; CHECK-NEXT: (5 + %d)
|
|
|
|
declare i8* @func1(i8* returned) nounwind argmemonly
|
|
|