Skip to content
Snippets Groups Projects
Commit 4f73a5e0 authored by RafaeNoor's avatar RafaeNoor
Browse files

Adding indvars pass into hcc pipeline

parent 69f80663
No related branches found
No related tags found
No related merge requests found
......@@ -5,47 +5,26 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
; CHECK-LABEL: void @_Z7forloopPimmm(
; CHECK: call void @__hpvm__hint(
; CHECK: call void @__hpvm__hint(i32 1)
; CHECK: call void (i32, ...) @__hpvm__attributes(i32 1, i32* %ptr, i32 1, i32* %ptr)
; CHECK: %__hpvm__createNodeND = call i8* (i32, ...) @__hpvm__createNodeND(i32 1, void (i32*, i64, i64, i64)* @_Z7forloopPimmm.for.body_reorder, i64 %div1)
; CHECK: call void @__hpvm__bindIn(i8* %__hpvm__createNodeND, i32 0, i32 0, i32 0)
; CHECK: call void @__hpvm__bindIn(i8* %__hpvm__createNodeND, i32 1, i32 1, i32 0)
; CHECK: call void @__hpvm__bindIn(i8* %__hpvm__createNodeND, i32 2, i32 2, i32 0)
; CHECK: call void @__hpvm__bindIn(i8* %__hpvm__createNodeND, i32 3, i32 3, i32 0)
; CHECK: call void @__hpvm__bindOut(i8* %__hpvm__createNodeND, i32 0, i32 0, i32 0)
; CHECK: call void @__hpvm__bindOut(i8* %__hpvm__createNodeND, i32 1, i32 1, i32 0)
; CHECK: call void @__hpvm__bindOut(i8* %__hpvm__createNodeND, i32 2, i32 2, i32 0)
; CHECK: call void @__hpvm__bindOut(i8* %__hpvm__createNodeND, i32 3, i32 3, i32 0)
; CHECK-LABEL: void @_Z7forloopPimmm.for.body9_reorder(
; CHECK: call void @__hpvm__hint(i32 1)
; CHECK: %__hpvm__getNode_cloned = call i8* @__hpvm__getNode()
; CHECK: %__hpvm__getParentNode_cloned = call i8* @__hpvm__getParentNode(i8* %__hpvm__getNode_cloned)
; CHECK: %__hpvm__getNodeInstanceID_x1_cloned = call i64 @__hpvm__getNodeInstanceID_x(i8* %__hpvm__getParentNode_cloned)
; CHECK: %__hpvm__getNodeInstanceID_x_cloned = call i64 @__hpvm__getNodeInstanceID_x(i8* %__hpvm__getNode_cloned)
; CHECK: call void (i32, ...) @__hpvm__attributes(i32 1, i32* %ptr, i32 1, i32* %ptr)
; CHECK: %_clone_cloned = trunc i64 %__hpvm__getNodeInstanceID_x1_cloned to i32
; CHECK: %0 = add nuw nsw i64 %__hpvm__getNodeInstanceID_x_cloned, %__hpvm__getNodeInstanceID_x1_cloned
; CHECK: call void (i32, ...) @__hpvm__return(i32 4, i32* %ptr, i64 %ptrSz, i64 %M, i64 %N)
; CHECK-LABEL: void @_Z7forloopPimmm.for.body_reorder(
; CHECK: call void @__hpvm__hint(i32 1)
; CHECK: %__hpvm__getNode_cloned = call i8* @__hpvm__getNode()
; CHECK: %__hpvm__getNodeInstanceID_x_cloned = call i64 @__hpvm__getNodeInstanceID_x(i8* %__hpvm__getNode_cloned)
; CHECK: call void (i32, ...) @__hpvm__attributes(i32 1, i32* %ptr, i32 1, i32* %ptr)
; CHECK: %__hpvm__createNodeND_cloned = call i8* (i32, ...) @__hpvm__createNodeND(i32 1, void (i32*, i64, i64, i64)* @_Z7forloopPimmm.for.body9_reorder, i64 %div6_clone_clone_cloned)
; CHECK: call void @__hpvm__bindIn(i8* %__hpvm__createNodeND_cloned, i32 0, i32 0, i32 0)
; CHECK: call void @__hpvm__bindIn(i8* %__hpvm__createNodeND_cloned, i32 1, i32 1, i32 0)
; CHECK: call void @__hpvm__bindIn(i8* %__hpvm__createNodeND_cloned, i32 2, i32 2, i32 0)
; CHECK: call void @__hpvm__bindIn(i8* %__hpvm__createNodeND_cloned, i32 3, i32 3, i32 0)
; CHECK: call void @__hpvm__bindOut(i8* %__hpvm__createNodeND_cloned, i32 0, i32 0, i32 0)
; CHECK: call void @__hpvm__bindOut(i8* %__hpvm__createNodeND_cloned, i32 1, i32 1, i32 0)
; CHECK: call void @__hpvm__bindOut(i8* %__hpvm__createNodeND_cloned, i32 2, i32 2, i32 0)
; CHECK: call void @__hpvm__bindOut(i8* %__hpvm__createNodeND_cloned, i32 3, i32 3, i32 0)
; CHECK: %__hpvm__createNodeND_cloned = call i8* (i32, ...) @__hpvm__createNodeND(i32 1, void (i32*, i64, i64, i64)* @_Z7forloopPimmm.for.body9_reorder, i64 %umax_clone_clone_cloned)
; Function Attrs: uwtable
define dso_local void @_Z7forloopPimmm(i32* %ptr, i64 %ptrSz, i64 %M, i64 %N) local_unnamed_addr #0 {
......
......@@ -30,6 +30,7 @@
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/SystemUtils.h"
#include "llvm/Support/ToolOutputFile.h"
#include "llvm/Transforms/Scalar/IndVarSimplify.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Scalar/SimplifyCFG.h"
#include "llvm/Transforms/Utils.h"
......@@ -171,6 +172,8 @@ int main(int argc, char** argv)
// findAndExtractTasks(*M);
legacy::PassManager Passes;
Passes.add(createIndVarSimplifyPass());
Passes.add(createLowerSwitchPass());
Passes.add(createLoopSimplifyPass());
Passes.add(new HCCVerifierPass());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment