brintos

brintos / llvm-project-archived public Read only

0
0
Text · 745 B · c388acc Raw
33 lines · plain
1; RUN: opt -passes=ipsccp -S < %s | FileCheck %s2; PR64143target 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"4target triple = "x86_64-unknown-linux-gnu"5 6define internal ptr @f() {7  ret ptr @g8}9 10define internal i32 @g() {11  ret i32 812}13 14; CHECK: internal i32 @g()15; CHECK-NEXT: ret i32 816 17define internal void @outer_mod() {18  %1 = call ptr () @f()                      ; <ptr> [#uses=1]19  %2 = call i32 %1()                              ; <i32> [#uses=0]20  ret void21}22 23define internal void @module_init() {24  call void @register_outer_mod(ptr @outer_mod)25  ret void26}27 28declare void @register_outer_mod(ptr)29 30define i32 @main() {31  ret i32 032}33