-
Akash Kothari authoredAkash Kothari authored
AllocationNode.ll 10.77 KiB
; RUN: opt -load LLVMBuildDFG.so -S < %s | FileCheck %s
; ModuleID = 'AllocationNode.ll'
source_filename = "ThreeLevel.allocation.c"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%struct.Root = type { i32*, i64, i32*, i64 }
%struct.out.Allocation = type <{ i8*, i64 }>
%emptyStruct = type <{}>
%emptyStruct.0 = type <{}>
%emptyStruct.1 = type <{}>
%emptyStruct.2 = type <{}>
; CHECK-LABEL: %struct.out.Allocation =
; CHECK-LABEL: void @Launch(
; CHECK: call i8* @llvm.hpvm.launch(i8*
; CHECK-NEXT: call void @llvm.hpvm.wait(i8*
; CHECK-LABEL: i32 @main(
; CHECK: call void @llvm.hpvm.init()
; CHECK-NEXT: tail call void @Launch(
; CHECK-NEXT: call void @llvm.hpvm.cleanup()
; CHECK-LABEL: @Allocation_cloned(
; CHECK: call i8* @llvm.hpvm.malloc(i64
; CHECK-LABEL: @Func1_cloned(
; CHECK-LABEL: @Func3_cloned(
; CHECK: %Func1_cloned.node = call i8* @llvm.hpvm.createNode2D(i8*
; CHECK: %Allocation_cloned.node = call i8* @llvm.hpvm.createNode(i8*
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Allocation_cloned.node
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Func1_cloned.node
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Func1_cloned.node
; CHECK-NEXT: call i8* @llvm.hpvm.createEdge(i8* %Allocation_cloned.node
; CHECK-NEXTL call i8* @llvm.hpvm.createEdge(i8* %Allocation_cloned.node
; CHECK-LABEL: @Func2_cloned(
; CHECK: %Func3_cloned.node = call i8* @llvm.hpvm.createNode2D(
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Func3_cloned.node
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Func3_cloned.node
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Func3_cloned.node
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Func3_cloned.node
; CHECK-LABEL: @PipeRoot_cloned(
; CHECK: %Func2_cloned.node = call i8* @llvm.hpvm.createNode(i8*
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Func2_cloned.node
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Func2_cloned.node
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Func2_cloned.node
; CHECK-NEXT: call void @llvm.hpvm.bind.input(i8* %Func2_cloned.node
declare dso_local void @__hpvm__hint(i32) local_unnamed_addr #0
declare dso_local void @__hpvm__attributes(i32, ...) local_unnamed_addr #0
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #1
declare dso_local i8* @__hpvm__malloc(i64) local_unnamed_addr #0
declare dso_local void @__hpvm__return(i32, ...) local_unnamed_addr #0
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #1
declare dso_local i8* @__hpvm__createNodeND(i32, ...) local_unnamed_addr #0