From b32a4391b4965f43b7348528e2059309a0dabd4f Mon Sep 17 00:00:00 2001 From: Alessandro Nardini Date: Fri, 29 Nov 2024 22:07:21 +0100 Subject: [PATCH] v1.6.00 indie - xforms handles VIZ - updated --- compiled/H19.x/cvex_TFFAxformshandles.vex | 2 +- compiled/H19.x/cvex_TFFAxformshandlesFF.vex | 2 +- compiled/H20.x/cvex_TFFAxformshandles.vex | 2 +- compiled/H20.x/cvex_TFFAxformshandlesFF.vex | 2 +- src/cvex/README.md | 32 ++ src/cvex/cvex_TFFAxformshandles.vex | 547 -------------------- src/cvex/cvex_TFFAxformshandlesFF.vex | 469 ----------------- 7 files changed, 36 insertions(+), 1020 deletions(-) delete mode 100644 src/cvex/cvex_TFFAxformshandles.vex delete mode 100644 src/cvex/cvex_TFFAxformshandlesFF.vex diff --git a/compiled/H19.x/cvex_TFFAxformshandles.vex b/compiled/H19.x/cvex_TFFAxformshandles.vex index d14ac3fa..18c85baa 100644 --- a/compiled/H19.x/cvex_TFFAxformshandles.vex +++ b/compiled/H19.x/cvex_TFFAxformshandles.vex @@ -491,7 +491,7 @@ true: ; preds = %__llvm_entry end: ; preds = %true, %__llvm_entry %mem40 = load <2 x double>, <2 x double>* %mem %cast41 = call <3 x double> @"set@VU"(<2 x double> %mem40) - %output = call <3 x double> @"add@VV"(<3 x double> %cast41, <3 x double> ) + %output = call <3 x double> @"add@VV"(<3 x double> %cast41, <3 x double> ) store <3 x double> %output, <3 x double>* %_bound_P ret void } diff --git a/compiled/H19.x/cvex_TFFAxformshandlesFF.vex b/compiled/H19.x/cvex_TFFAxformshandlesFF.vex index 5adf06f7..2afda0bf 100644 --- a/compiled/H19.x/cvex_TFFAxformshandlesFF.vex +++ b/compiled/H19.x/cvex_TFFAxformshandlesFF.vex @@ -418,7 +418,7 @@ true: ; preds = %__llvm_entry end: ; preds = %true, %__llvm_entry %mem24 = load <2 x double>, <2 x double>* %mem %cast25 = call <3 x double> @"set@VU"(<2 x double> %mem24) - %output = call <3 x double> @"add@VV"(<3 x double> %cast25, <3 x double> ) + %output = call <3 x double> @"add@VV"(<3 x double> %cast25, <3 x double> ) store <3 x double> %output, <3 x double>* %_bound_P ret void } diff --git a/compiled/H20.x/cvex_TFFAxformshandles.vex b/compiled/H20.x/cvex_TFFAxformshandles.vex index d14ac3fa..18c85baa 100644 --- a/compiled/H20.x/cvex_TFFAxformshandles.vex +++ b/compiled/H20.x/cvex_TFFAxformshandles.vex @@ -491,7 +491,7 @@ true: ; preds = %__llvm_entry end: ; preds = %true, %__llvm_entry %mem40 = load <2 x double>, <2 x double>* %mem %cast41 = call <3 x double> @"set@VU"(<2 x double> %mem40) - %output = call <3 x double> @"add@VV"(<3 x double> %cast41, <3 x double> ) + %output = call <3 x double> @"add@VV"(<3 x double> %cast41, <3 x double> ) store <3 x double> %output, <3 x double>* %_bound_P ret void } diff --git a/compiled/H20.x/cvex_TFFAxformshandlesFF.vex b/compiled/H20.x/cvex_TFFAxformshandlesFF.vex index 5adf06f7..2afda0bf 100644 --- a/compiled/H20.x/cvex_TFFAxformshandlesFF.vex +++ b/compiled/H20.x/cvex_TFFAxformshandlesFF.vex @@ -418,7 +418,7 @@ true: ; preds = %__llvm_entry end: ; preds = %true, %__llvm_entry %mem24 = load <2 x double>, <2 x double>* %mem %cast25 = call <3 x double> @"set@VU"(<2 x double> %mem24) - %output = call <3 x double> @"add@VV"(<3 x double> %cast25, <3 x double> ) + %output = call <3 x double> @"add@VV"(<3 x double> %cast25, <3 x double> ) store <3 x double> %output, <3 x double>* %_bound_P ret void } diff --git a/src/cvex/README.md b/src/cvex/README.md index 38307491..cb281524 100644 --- a/src/cvex/README.md +++ b/src/cvex/README.md @@ -86,6 +86,38 @@ Build all the Xaos data to be used inside the Chaos game.

+# CVEX Source +# File name: `cvex_TFFAxformsactive.vfl` +### Description: +Collect all iterator multi-parameter indexs and their count to drive the iterator's xforms handles generation. + +
+
+ +# CVEX Source +# File name: `cvex_TFFAxformshandles.vfl` +### Description: +Transform each iterator handle accordingly to their PRE and POST affine values. + +
+
+ +# CVEX Source +# File name: `cvex_TFFAxformshandlesFF.vfl` +### Description: +Transform the iterator FF handle accordingly to its PRE and POST affine values. + +
+
+ +# CVEX Source +# File name: `cvex_TFFAxformshandlescolor.vfl` +### Description: +Assign a unique color to each iterator xforms handle. + +
+
+ # CVEX Source # File name: `cvex_TheFractalFlameAlgorithm.vfl` ### Description: diff --git a/src/cvex/cvex_TFFAxformshandles.vex b/src/cvex/cvex_TFFAxformshandles.vex deleted file mode 100644 index 18c85baa..00000000 --- a/src/cvex/cvex_TFFAxformshandles.vex +++ /dev/null @@ -1,547 +0,0 @@ -;_name FLAM3HANDLES -; ModuleID = 'FLAM3HANDLES' -source_filename = "FLAM3HANDLES" - -%gemhandles = type { i64*, <2 x double>*, <2 x double>*, <2 x double>*, <2 x double>*, <2 x double>*, <2 x double>* } - -@0 = private constant [0 x i64] zeroinitializer -@1 = private constant [0 x <2 x double>] zeroinitializer -@2 = private constant [9 x i8] c"../../x_\00" -@3 = private constant [9 x i8] c"../../y_\00" -@4 = private constant [11 x i8] c"../../ang_\00" -@5 = private constant [9 x i8] c"../../o_\00" -@6 = private constant [14 x i8] c"../../dopost_\00" -@7 = private constant [10 x i8] c"../../px_\00" -@8 = private constant [10 x i8] c"../../py_\00" -@9 = private constant [12 x i8] c"../../pang_\00" -@10 = private constant [10 x i8] c"../../po_\00" -@11 = private constant [10 x i8] c"iteration\00" -@12 = private constant [0 x i8*] zeroinitializer -@P = external global <3 x double> -@13 = private constant [2 x i8] c"P\00" - -; Function Attrs: nounwind readnone -declare double @"div@FF"(double, double) #0 - -; Function Attrs: nounwind readnone -declare double @"getcomp@FUI"(<2 x double>, i64) #0 - -; Function Attrs: nounwind readnone -declare double @"atan2@FFF"(double, double) #0 - -; Function Attrs: nounwind readnone -declare double @"sqrt@FF"(double) #0 - -; Function Attrs: nounwind readnone -declare double @"neg@FF"(double) #0 - -; Function Attrs: nounwind -declare double @"clamp@FFFF"(double, double, double) #1 - -; Function Attrs: nounwind readnone -declare double @"tan@FF"(double) #0 - -; Function Attrs: nounwind readnone -declare i64 @"neg@II"(i64) #0 - -; Function Attrs: nounwind readnone -declare double @"floor@FF"(double) #0 - -; Function Attrs: nounwind readnone -declare double @"sin@FF"(double) #0 - -; Function Attrs: nounwind readnone -declare double @"cos@FF"(double) #0 - -; Function Attrs: nounwind readnone -declare <3 x double> @"setcomp@VFI"(<3 x double>, double, i64) #0 - -; Function Attrs: nounwind readnone -declare double @"getcomp@FVI"(<3 x double>, i64) #0 - -; Function Attrs: nounwind readnone -declare <2 x double> @"setcomp@UFI"(<2 x double>, double, i64) #0 - -; Function Attrs: nounwind -declare double @"abs@FF"(double) #1 - -; Function Attrs: nounwind -declare double @"nrandom@F:S"(i8*) #1 - -; Function Attrs: nounwind readnone -declare <2 x double> @"set@UFF"(double, double) #0 - -; Function Attrs: nounwind readnone -declare i64 @"isfinite@IF"(double) #0 - -; Function Attrs: nounwind readnone -declare i64 @"not@II"(i64) #0 - -; Function Attrs: nounwind readnone -declare i64 @"isnan@IF"(double) #0 - -; Function Attrs: nounwind readnone -declare i64 @"or@III"(i64, i64) #0 - -; Function Attrs: nounwind -declare double @"length@FU"(<2 x double>) #1 - -; Function Attrs: alwaysinline nounwind -define private void @"affine@UUUU"(<2 x double>* %p, <2 x double>* %x, <2 x double>* %y, <2 x double>* %o) #2 { -__llvm_entry: - %x1 = load <2 x double>, <2 x double>* %x - %return = call double @"getcomp@FUI"(<2 x double> %x1, i64 0) - %p2 = load <2 x double>, <2 x double>* %p - %return3 = call double @"getcomp@FUI"(<2 x double> %p2, i64 0) - %output = fmul double %return, %return3 - %y4 = load <2 x double>, <2 x double>* %y - %return5 = call double @"getcomp@FUI"(<2 x double> %y4, i64 0) - %return7 = call double @"getcomp@FUI"(<2 x double> %p2, i64 1) - %output8 = fmul double %return5, %return7 - %output9 = fadd double %output, %output8 - %o10 = load <2 x double>, <2 x double>* %o - %return11 = call double @"getcomp@FUI"(<2 x double> %o10, i64 0) - %output12 = fadd double %output9, %return11 - %return14 = call double @"getcomp@FUI"(<2 x double> %x1, i64 1) - %output17 = fmul double %return14, %return3 - %return19 = call double @"getcomp@FUI"(<2 x double> %y4, i64 1) - %output22 = fmul double %return19, %return7 - %output23 = fadd double %output17, %output22 - %return25 = call double @"getcomp@FUI"(<2 x double> %o10, i64 1) - %output26 = fadd double %output23, %return25 - %return27 = call <2 x double> @"set@UFF"(double %output12, double %output26) - store <2 x double> %return27, <2 x double>* %p - ret void -} - -; Function Attrs: alwaysinline nounwind -define private void @"affineRot@2UUF"(<4 x double>* %m2, <2 x double>* %x, <2 x double>* %y, double* %ang) #2 { -__llvm_entry: - %x1 = load <2 x double>, <2 x double>* %x - %y2 = load <2 x double>, <2 x double>* %y - %return = call <4 x double> @"set@2UU"(<2 x double> %x1, <2 x double> %y2) - store <4 x double> %return, <4 x double>* %m2 - %ang4 = load double, double* %ang - %output = call <4 x double> @"rotate@2F"(<4 x double> %return, double %ang4) - store <4 x double> %output, <4 x double>* %m2 - ret void -} - -; Function Attrs: nounwind -declare <4 x double> @"set@2UU"(<2 x double>, <2 x double>) #1 - -; Function Attrs: nounwind readnone -declare <4 x double> @"rotate@2F"(<4 x double>, double) #0 - -; Function Attrs: nounwind readnone -declare i64 @"lt@III"(i64, i64) #0 - -; Function Attrs: nounwind readnone -declare i8* @"getcomp@S[SI"(i8**, i64) #0 - -; Function Attrs: nounwind -declare i8** @"append@[SS"(i8**, i8*) #1 - -; Function Attrs: nounwind readnone -declare i64 @"len@I[S"(i8**) #0 - -; Function Attrs: nounwind readnone -declare i64* @"resize@[II"(i64*, i64) #0 - -; Function Attrs: nounwind readnone -declare double* @"resize@[FI"(double*, i64) #0 - -; Function Attrs: nounwind readnone -declare <2 x double>* @"resize@[UI"(<2 x double>*, i64) #0 - -; Function Attrs: nounwind readnone -declare i8* @"concat@SSS"(i8*, i8*) #0 - -; Function Attrs: nounwind readnone -declare double @"chf@FS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare { double, double* } @"setcomp@F[FFI"(double*, double, i64) #0 - -; Function Attrs: nounwind readnone -declare double @"getcomp@F[FI"(double*, i64) #0 - -; Function Attrs: nounwind readnone -declare i8* @"chs@SS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare i64 @"atoi@IS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare { i64, i64* } @"setcomp@I[III"(i64*, i64, i64) #0 - -; Function Attrs: nounwind readnone -declare <2 x double> @"chu@US"(i8*) #0 - -; Function Attrs: nounwind -declare double @"radians@FF"(double) #1 - -; Function Attrs: nounwind readnone -declare double @"getcomp@F2II"(<4 x double>, i64, i64) #0 - -; Function Attrs: nounwind readnone -declare { <2 x double>, <2 x double>* } @"setcomp@U[UUI"(<2 x double>*, <2 x double>, i64) #0 - -; Function Attrs: nounwind readnone -declare i64 @"chi@IS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare i64 @"getcomp@I[II"(i64*, i64) #0 - -; Function Attrs: nounwind -declare i64 @"max@I[I"(i64*) #1 - -; Function Attrs: nounwind readnone -declare i64 @"gt@III"(i64, i64) #0 - -; Function Attrs: nounwind readnone -declare <3 x double>* @"resize@[VI"(<3 x double>*, i64) #0 - -; Function Attrs: nounwind readnone -declare <4 x double>* @"resize@[PI"(<4 x double>*, i64) #0 - -; Function Attrs: nounwind -declare i64 @"find@I[FF"(double*, double) #1 - -; Function Attrs: nounwind readnone -declare i64 @"ge@III"(i64, i64) #0 - -; Function Attrs: nounwind readnone -declare i64 @"eq@III"(i64, i64) #0 - -; Function Attrs: nounwind readnone -declare <4 x double> @"chp@PS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare { <4 x double>, <4 x double>* } @"setcomp@P[PPI"(<4 x double>*, <4 x double>, i64) #0 - -; Function Attrs: nounwind readnone -declare <3 x double> @"chv@VS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare { <3 x double>, <3 x double>* } @"setcomp@V[VVI"(<3 x double>*, <3 x double>, i64) #0 - -; Function Attrs: nounwind readnone -declare <2 x double> @"getcomp@U[UI"(<2 x double>*, i64) #0 - -; Function Attrs: alwaysinline nounwind -define private void @"gemhandlesBuild@Z10gemhandlesM7N3PPL[IN1x[UN1y[UN1o[UN2px[UN2py[UN2po[U[S"(%gemhandles* %this, i8*** %sIDX) #2 { -__llvm_entry: - %_m2 = alloca <4 x double> - %0 = alloca <2 x double> - %1 = alloca <2 x double> - %2 = alloca double - %3 = alloca <2 x double> - %4 = alloca <2 x double> - %5 = alloca double - %sIDX1 = load i8**, i8*** %sIDX - %return = call i64 @"len@I[S"(i8** %sIDX1) - %this2 = load %gemhandles, %gemhandles* %this - %x = extractvalue %gemhandles %this2, 1 - %output = call <2 x double>* @"resize@[UI"(<2 x double>* %x, i64 %return) - %6 = insertvalue %gemhandles %this2, <2 x double>* %output, 1 - %7 = insertvalue %gemhandles %6, <2 x double>* %output, 6 - %8 = insertvalue %gemhandles %7, <2 x double>* %output, 5 - %9 = insertvalue %gemhandles %8, <2 x double>* %output, 4 - %10 = insertvalue %gemhandles %9, <2 x double>* %output, 3 - %11 = insertvalue %gemhandles %10, <2 x double>* %output, 2 - store %gemhandles %11, %gemhandles* %this - store <4 x double> zeroinitializer, <4 x double>* %_m2, !vex-initializer-store !3 - br label %cond - -cond: ; preds = %end81, %__llvm_entry - %i.0 = phi i64 [ 0, %__llvm_entry ], [ %output135, %end81 ] - %return13 = call i64 @"lt@III"(i64 %i.0, i64 %return) - %12 = icmp ne i64 %return13, 0 - br i1 %12, label %body, label %end - -body: ; preds = %cond - %sIDX14 = load i8**, i8*** %sIDX - %return16 = call i8* @"getcomp@S[SI"(i8** %sIDX14, i64 %i.0) - %return18 = call i8* @"concat@SSS"(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @2, i64 0, i64 0), i8* %return16) - %return19 = call <2 x double> @"chu@US"(i8* %return18) - %return21 = call i8* @"concat@SSS"(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @3, i64 0, i64 0), i8* %return16) - %return22 = call <2 x double> @"chu@US"(i8* %return21) - %return24 = call i8* @"concat@SSS"(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @4, i64 0, i64 0), i8* %return16) - %return25 = call double @"chf@FS"(i8* %return24) - %return27 = fcmp one double %return25, 0.000000e+00 - br i1 %return27, label %true, label %end29 - -end: ; preds = %cond - ret void - -true: ; preds = %body - store <2 x double> %return19, <2 x double>* %0 - store <2 x double> %return22, <2 x double>* %1 - %return33 = call double @"radians@FF"(double %return25) - %return34 = call double @"neg@FF"(double %return33) - store double %return34, double* %2 - call void @"affineRot@2UUF"(<4 x double>* %_m2, <2 x double>* %0, <2 x double>* %1, double* %2) - %_m235 = load <4 x double>, <4 x double>* %_m2 - %return36 = call double @"getcomp@F2II"(<4 x double> %_m235, i64 0, i64 0) - %return38 = call double @"getcomp@F2II"(<4 x double> %_m235, i64 0, i64 1) - %return39 = call <2 x double> @"set@UFF"(double %return36, double %return38) - %return41 = call double @"getcomp@F2II"(<4 x double> %_m235, i64 1, i64 0) - %return43 = call double @"getcomp@F2II"(<4 x double> %_m235, i64 1, i64 1) - %return44 = call <2 x double> @"set@UFF"(double %return41, double %return43) - br label %end29 - -end29: ; preds = %true, %body - %_x.0 = phi <2 x double> [ %return39, %true ], [ %return19, %body ] - %_y.0 = phi <2 x double> [ %return44, %true ], [ %return22, %body ] - %tmp47 = load %gemhandles, %gemhandles* %this - %tmp48 = extractvalue %gemhandles %tmp47, 1 - %return49 = call { <2 x double>, <2 x double>* } @"setcomp@U[UUI"(<2 x double>* %tmp48, <2 x double> %_x.0, i64 %i.0) - %output51 = extractvalue { <2 x double>, <2 x double>* } %return49, 1 - %13 = insertvalue %gemhandles %tmp47, <2 x double>* %output51, 1 - %tmp55 = extractvalue %gemhandles %13, 2 - %return56 = call { <2 x double>, <2 x double>* } @"setcomp@U[UUI"(<2 x double>* %tmp55, <2 x double> %_y.0, i64 %i.0) - %output58 = extractvalue { <2 x double>, <2 x double>* } %return56, 1 - %14 = insertvalue %gemhandles %13, <2 x double>* %output58, 2 - %return61 = call i8* @"concat@SSS"(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @5, i64 0, i64 0), i8* %return16) - %return62 = call <2 x double> @"chu@US"(i8* %return61) - %tmp64 = extractvalue %gemhandles %14, 3 - %return65 = call { <2 x double>, <2 x double>* } @"setcomp@U[UUI"(<2 x double>* %tmp64, <2 x double> %return62, i64 %i.0) - %output67 = extractvalue { <2 x double>, <2 x double>* } %return65, 1 - %15 = insertvalue %gemhandles %14, <2 x double>* %output67, 3 - %return70 = call i8* @"concat@SSS"(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @6, i64 0, i64 0), i8* %return16) - %return71 = call i64 @"chi@IS"(i8* %return70) - %tmp73 = extractvalue %gemhandles %15, 0 - %return74 = call { i64, i64* } @"setcomp@I[III"(i64* %tmp73, i64 %return71, i64 %i.0) - %output76 = extractvalue { i64, i64* } %return74, 1 - %16 = insertvalue %gemhandles %15, i64* %output76, 0 - store %gemhandles %16, %gemhandles* %this - %return79 = call i64 @"getcomp@I[II"(i64* %output76, i64 %i.0) - %17 = icmp ne i64 %return79, 0 - br i1 %17, label %true80, label %end81 - -true80: ; preds = %end29 - %return83 = call i8* @"concat@SSS"(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @7, i64 0, i64 0), i8* %return16) - %return84 = call <2 x double> @"chu@US"(i8* %return83) - %return86 = call i8* @"concat@SSS"(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @8, i64 0, i64 0), i8* %return16) - %return87 = call <2 x double> @"chu@US"(i8* %return86) - %return89 = call i8* @"concat@SSS"(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @9, i64 0, i64 0), i8* %return16) - %return90 = call double @"chf@FS"(i8* %return89) - %return92 = fcmp one double %return90, 0.000000e+00 - br i1 %return92, label %true94, label %end95 - -end81: ; preds = %end95, %end29 - %output135 = add i64 %i.0, 1 - br label %cond - -true94: ; preds = %true80 - store <2 x double> %return84, <2 x double>* %3 - store <2 x double> %return87, <2 x double>* %4 - %return99 = call double @"radians@FF"(double %return90) - %return100 = call double @"neg@FF"(double %return99) - store double %return100, double* %5 - call void @"affineRot@2UUF"(<4 x double>* %_m2, <2 x double>* %3, <2 x double>* %4, double* %5) - %_m2101 = load <4 x double>, <4 x double>* %_m2 - %return102 = call double @"getcomp@F2II"(<4 x double> %_m2101, i64 0, i64 0) - %return104 = call double @"getcomp@F2II"(<4 x double> %_m2101, i64 0, i64 1) - %return105 = call <2 x double> @"set@UFF"(double %return102, double %return104) - %return107 = call double @"getcomp@F2II"(<4 x double> %_m2101, i64 1, i64 0) - %return109 = call double @"getcomp@F2II"(<4 x double> %_m2101, i64 1, i64 1) - %return110 = call <2 x double> @"set@UFF"(double %return107, double %return109) - br label %end95 - -end95: ; preds = %true94, %true80 - %_x.1 = phi <2 x double> [ %return105, %true94 ], [ %return84, %true80 ] - %_y.1 = phi <2 x double> [ %return110, %true94 ], [ %return87, %true80 ] - %tmp113 = load %gemhandles, %gemhandles* %this - %tmp114 = extractvalue %gemhandles %tmp113, 4 - %return115 = call { <2 x double>, <2 x double>* } @"setcomp@U[UUI"(<2 x double>* %tmp114, <2 x double> %_x.1, i64 %i.0) - %output117 = extractvalue { <2 x double>, <2 x double>* } %return115, 1 - %18 = insertvalue %gemhandles %tmp113, <2 x double>* %output117, 4 - %tmp121 = extractvalue %gemhandles %18, 5 - %return122 = call { <2 x double>, <2 x double>* } @"setcomp@U[UUI"(<2 x double>* %tmp121, <2 x double> %_y.1, i64 %i.0) - %output124 = extractvalue { <2 x double>, <2 x double>* } %return122, 1 - %19 = insertvalue %gemhandles %18, <2 x double>* %output124, 5 - %return127 = call i8* @"concat@SSS"(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @10, i64 0, i64 0), i8* %return16) - %return128 = call <2 x double> @"chu@US"(i8* %return127) - %tmp130 = extractvalue %gemhandles %19, 6 - %return131 = call { <2 x double>, <2 x double>* } @"setcomp@U[UUI"(<2 x double>* %tmp130, <2 x double> %return128, i64 %i.0) - %output133 = extractvalue { <2 x double>, <2 x double>* } %return131, 1 - %20 = insertvalue %gemhandles %19, <2 x double>* %output133, 6 - store %gemhandles %20, %gemhandles* %this - br label %end81 -} - -; Function Attrs: alwaysinline nounwind -define private %gemhandles @"gemhandles@Z10gemhandlesM7N3PPL[IN1x[UN1y[UN1o[UN2px[UN2py[UN2po[U[I[U[U[U[U[U[U"(i64** %PPL, <2 x double>** %x, <2 x double>** %y, <2 x double>** %o, <2 x double>** %px, <2 x double>** %py, <2 x double>** %po) #2 { -__llvm_entry: - %PPL1 = load i64*, i64** %PPL - %0 = insertvalue %gemhandles undef, i64* %PPL1, 0 - %x2 = load <2 x double>*, <2 x double>** %x - %1 = insertvalue %gemhandles %0, <2 x double>* %x2, 1 - %y4 = load <2 x double>*, <2 x double>** %y - %2 = insertvalue %gemhandles %1, <2 x double>* %y4, 2 - %o6 = load <2 x double>*, <2 x double>** %o - %3 = insertvalue %gemhandles %2, <2 x double>* %o6, 3 - %px8 = load <2 x double>*, <2 x double>** %px - %4 = insertvalue %gemhandles %3, <2 x double>* %px8, 4 - %py10 = load <2 x double>*, <2 x double>** %py - %5 = insertvalue %gemhandles %4, <2 x double>* %py10, 5 - %po12 = load <2 x double>*, <2 x double>** %po - %6 = insertvalue %gemhandles %5, <2 x double>* %po12, 6 - ret %gemhandles %6 -} - -; Function Attrs: alwaysinline nounwind -define private %gemhandles @"gemhandles@Z10gemhandlesM7N3PPL[IN1x[UN1y[UN1o[UN2px[UN2py[UN2po[U"() #2 { -__llvm_entry: - %0 = alloca <2 x double>* - %1 = alloca <2 x double>* - %2 = alloca <2 x double>* - %3 = alloca <2 x double>* - %4 = alloca <2 x double>* - %5 = alloca <2 x double>* - %6 = alloca i64* - store i64* getelementptr inbounds ([0 x i64], [0 x i64]* @0, i64 0, i64 0), i64** %6 - store <2 x double>* getelementptr inbounds ([0 x <2 x double>], [0 x <2 x double>]* @1, i64 0, i64 0), <2 x double>** %0 - store <2 x double>* getelementptr inbounds ([0 x <2 x double>], [0 x <2 x double>]* @1, i64 0, i64 0), <2 x double>** %1 - store <2 x double>* getelementptr inbounds ([0 x <2 x double>], [0 x <2 x double>]* @1, i64 0, i64 0), <2 x double>** %2 - store <2 x double>* getelementptr inbounds ([0 x <2 x double>], [0 x <2 x double>]* @1, i64 0, i64 0), <2 x double>** %3 - store <2 x double>* getelementptr inbounds ([0 x <2 x double>], [0 x <2 x double>]* @1, i64 0, i64 0), <2 x double>** %4 - store <2 x double>* getelementptr inbounds ([0 x <2 x double>], [0 x <2 x double>]* @1, i64 0, i64 0), <2 x double>** %5 - %gemhandles = call %gemhandles @"gemhandles@Z10gemhandlesM7N3PPL[IN1x[UN1y[UN1o[UN2px[UN2py[UN2po[U[I[U[U[U[U[U[U"(i64** %6, <2 x double>** %0, <2 x double>** %1, <2 x double>** %2, <2 x double>** %3, <2 x double>** %4, <2 x double>** %5) - ret %gemhandles %gemhandles -} - -; Function Attrs: alwaysinline nounwind -define private void @"_FLAM3HANDLES@[SV"(i8*** %_bound_sIDX, <3 x double>* %_bound_P) #2 { -__llvm_entry: - %mem = alloca <2 x double> - %GEMH = alloca %gemhandles - %0 = alloca i8** - %1 = alloca <2 x double> - %2 = alloca <2 x double> - %3 = alloca <2 x double> - %4 = alloca <2 x double> - %5 = alloca <2 x double> - %6 = alloca <2 x double> - %return = call i64 @"detail@IIS"(i64 1, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @11, i64 0, i64 0)) - %_bound_P1 = load <3 x double>, <3 x double>* %_bound_P - %cast = call <2 x double> @"set@UV"(<3 x double> %_bound_P1) - store <2 x double> %cast, <2 x double>* %mem - %_bound_sIDX2 = load i8**, i8*** %_bound_sIDX - %GEMH3 = call %gemhandles @"gemhandles@Z10gemhandlesM7N3PPL[IN1x[UN1y[UN1o[UN2px[UN2py[UN2po[U"() - %GEMH3.fca.0.extract = extractvalue %gemhandles %GEMH3, 0 - %GEMH3.fca.0.gep = getelementptr inbounds %gemhandles, %gemhandles* %GEMH, i32 0, i32 0 - store i64* %GEMH3.fca.0.extract, i64** %GEMH3.fca.0.gep - %GEMH3.fca.1.extract = extractvalue %gemhandles %GEMH3, 1 - %GEMH3.fca.1.gep = getelementptr inbounds %gemhandles, %gemhandles* %GEMH, i32 0, i32 1 - store <2 x double>* %GEMH3.fca.1.extract, <2 x double>** %GEMH3.fca.1.gep - %GEMH3.fca.2.extract = extractvalue %gemhandles %GEMH3, 2 - %GEMH3.fca.2.gep = getelementptr inbounds %gemhandles, %gemhandles* %GEMH, i32 0, i32 2 - store <2 x double>* %GEMH3.fca.2.extract, <2 x double>** %GEMH3.fca.2.gep - %GEMH3.fca.3.extract = extractvalue %gemhandles %GEMH3, 3 - %GEMH3.fca.3.gep = getelementptr inbounds %gemhandles, %gemhandles* %GEMH, i32 0, i32 3 - store <2 x double>* %GEMH3.fca.3.extract, <2 x double>** %GEMH3.fca.3.gep - %GEMH3.fca.4.extract = extractvalue %gemhandles %GEMH3, 4 - %GEMH3.fca.4.gep = getelementptr inbounds %gemhandles, %gemhandles* %GEMH, i32 0, i32 4 - store <2 x double>* %GEMH3.fca.4.extract, <2 x double>** %GEMH3.fca.4.gep - %GEMH3.fca.5.extract = extractvalue %gemhandles %GEMH3, 5 - %GEMH3.fca.5.gep = getelementptr inbounds %gemhandles, %gemhandles* %GEMH, i32 0, i32 5 - store <2 x double>* %GEMH3.fca.5.extract, <2 x double>** %GEMH3.fca.5.gep - %GEMH3.fca.6.extract = extractvalue %gemhandles %GEMH3, 6 - %GEMH3.fca.6.gep = getelementptr inbounds %gemhandles, %gemhandles* %GEMH, i32 0, i32 6 - store <2 x double>* %GEMH3.fca.6.extract, <2 x double>** %GEMH3.fca.6.gep - store i8** %_bound_sIDX2, i8*** %0 - call void @"gemhandlesBuild@Z10gemhandlesM7N3PPL[IN1x[UN1y[UN1o[UN2px[UN2py[UN2po[U[S"(%gemhandles* %GEMH, i8*** %0) - %GEMH5.fca.0.load = load i64*, i64** %GEMH3.fca.0.gep - %GEMH5.fca.0.insert = insertvalue %gemhandles undef, i64* %GEMH5.fca.0.load, 0 - %GEMH5.fca.1.load = load <2 x double>*, <2 x double>** %GEMH3.fca.1.gep - %GEMH5.fca.1.insert = insertvalue %gemhandles %GEMH5.fca.0.insert, <2 x double>* %GEMH5.fca.1.load, 1 - %GEMH5.fca.2.load = load <2 x double>*, <2 x double>** %GEMH3.fca.2.gep - %GEMH5.fca.2.insert = insertvalue %gemhandles %GEMH5.fca.1.insert, <2 x double>* %GEMH5.fca.2.load, 2 - %GEMH5.fca.3.load = load <2 x double>*, <2 x double>** %GEMH3.fca.3.gep - %GEMH5.fca.3.insert = insertvalue %gemhandles %GEMH5.fca.2.insert, <2 x double>* %GEMH5.fca.3.load, 3 - %GEMH5.fca.4.load = load <2 x double>*, <2 x double>** %GEMH3.fca.4.gep - %GEMH5.fca.4.insert = insertvalue %gemhandles %GEMH5.fca.3.insert, <2 x double>* %GEMH5.fca.4.load, 4 - %GEMH5.fca.5.load = load <2 x double>*, <2 x double>** %GEMH3.fca.5.gep - %GEMH5.fca.5.insert = insertvalue %gemhandles %GEMH5.fca.4.insert, <2 x double>* %GEMH5.fca.5.load, 5 - %GEMH5.fca.6.load = load <2 x double>*, <2 x double>** %GEMH3.fca.6.gep - %return21 = call <2 x double> @"getcomp@U[UI"(<2 x double>* %GEMH5.fca.1.load, i64 %return) - store <2 x double> %return21, <2 x double>* %1 - %return24 = call <2 x double> @"getcomp@U[UI"(<2 x double>* %GEMH5.fca.2.load, i64 %return) - store <2 x double> %return24, <2 x double>* %2 - %return27 = call <2 x double> @"getcomp@U[UI"(<2 x double>* %GEMH5.fca.3.load, i64 %return) - store <2 x double> %return27, <2 x double>* %3 - call void @"affine@UUUU"(<2 x double>* %mem, <2 x double>* %1, <2 x double>* %2, <2 x double>* %3) - %return30 = call i64 @"getcomp@I[II"(i64* %GEMH5.fca.0.load, i64 %return) - %7 = icmp ne i64 %return30, 0 - br i1 %7, label %true, label %end - -true: ; preds = %__llvm_entry - %return33 = call <2 x double> @"getcomp@U[UI"(<2 x double>* %GEMH5.fca.4.load, i64 %return) - store <2 x double> %return33, <2 x double>* %4 - %return36 = call <2 x double> @"getcomp@U[UI"(<2 x double>* %GEMH5.fca.5.load, i64 %return) - store <2 x double> %return36, <2 x double>* %5 - %return39 = call <2 x double> @"getcomp@U[UI"(<2 x double>* %GEMH5.fca.6.load, i64 %return) - store <2 x double> %return39, <2 x double>* %6 - call void @"affine@UUUU"(<2 x double>* %mem, <2 x double>* %4, <2 x double>* %5, <2 x double>* %6) - br label %end - -end: ; preds = %true, %__llvm_entry - %mem40 = load <2 x double>, <2 x double>* %mem - %cast41 = call <3 x double> @"set@VU"(<2 x double> %mem40) - %output = call <3 x double> @"add@VV"(<3 x double> %cast41, <3 x double> ) - store <3 x double> %output, <3 x double>* %_bound_P - ret void -} - -; Function Attrs: nounwind -declare i64 @"detail@IIS"(i64, i8*) #1 - -; Function Attrs: nounwind readnone -declare <2 x double> @"set@UV"(<3 x double>) #0 - -; Function Attrs: nounwind readnone -declare <3 x double> @"set@VU"(<2 x double>) #0 - -; Function Attrs: nounwind readnone -declare <3 x double> @"add@VV"(<3 x double>, <3 x double>) #0 - -; Function Attrs: nounwind -define void @FLAM3HANDLES(i8** %sIDX, <3 x double> %P) #1 { -__llvm_entry: - %"

" = alloca <3 x double> - %0 = alloca i8** - store <3 x double> %P, <3 x double>* %"

" - store i8** %sIDX, i8*** %0 - call void @"_FLAM3HANDLES@[SV"(i8*** %0, <3 x double>* %"

") - %evalue = load <3 x double>, <3 x double>* %"

" - %gvalue = call <3 x double> @"_export@VSV"(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @13, i64 0, i64 0), <3 x double> %evalue) #3 - store <3 x double> %gvalue, <3 x double>* @P - ret void -} - -declare <3 x double> @"_export@VSV"(i8*, <3 x double>) - -define void @__shader_default_arguments() { -__llvm_entry: - call void @FLAM3HANDLES(i8** getelementptr inbounds ([0 x i8*], [0 x i8*]* @12, i64 0, i64 0), <3 x double> zeroinitializer) - ret void -} - -attributes #0 = { nounwind readnone } -attributes #1 = { nounwind } -attributes #2 = { alwaysinline nounwind } -attributes #3 = { nounwind readonly } - -!context = !{!0} -!version = !{!1} -!precision = !{!2} - -!0 = !{!"cvex"} -!1 = !{!"20.5.370"} -!2 = !{!"64"} -!3 = !{!""} - -;_code_end diff --git a/src/cvex/cvex_TFFAxformshandlesFF.vex b/src/cvex/cvex_TFFAxformshandlesFF.vex deleted file mode 100644 index 2afda0bf..00000000 --- a/src/cvex/cvex_TFFAxformshandlesFF.vex +++ /dev/null @@ -1,469 +0,0 @@ -;_name FLAM3HANDLESFF -; ModuleID = 'FLAM3HANDLESFF' -source_filename = "FLAM3HANDLESFF" - -%gemhandlesFF = type { i64, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double>, <2 x double> } - -@0 = private constant [10 x i8] c"../../ffx\00" -@1 = private constant [10 x i8] c"../../ffy\00" -@2 = private constant [12 x i8] c"../../ffang\00" -@3 = private constant [10 x i8] c"../../ffo\00" -@4 = private constant [15 x i8] c"../../ffdopost\00" -@5 = private constant [11 x i8] c"../../ffpx\00" -@6 = private constant [11 x i8] c"../../ffpy\00" -@7 = private constant [13 x i8] c"../../ffpang\00" -@8 = private constant [11 x i8] c"../../ffpo\00" -@P = external global <3 x double> -@9 = private constant [2 x i8] c"P\00" - -; Function Attrs: nounwind readnone -declare double @"div@FF"(double, double) #0 - -; Function Attrs: nounwind readnone -declare double @"getcomp@FUI"(<2 x double>, i64) #0 - -; Function Attrs: nounwind readnone -declare double @"atan2@FFF"(double, double) #0 - -; Function Attrs: nounwind readnone -declare double @"sqrt@FF"(double) #0 - -; Function Attrs: nounwind readnone -declare double @"neg@FF"(double) #0 - -; Function Attrs: nounwind -declare double @"clamp@FFFF"(double, double, double) #1 - -; Function Attrs: nounwind readnone -declare double @"tan@FF"(double) #0 - -; Function Attrs: nounwind readnone -declare i64 @"neg@II"(i64) #0 - -; Function Attrs: nounwind readnone -declare double @"floor@FF"(double) #0 - -; Function Attrs: nounwind readnone -declare double @"sin@FF"(double) #0 - -; Function Attrs: nounwind readnone -declare double @"cos@FF"(double) #0 - -; Function Attrs: nounwind readnone -declare <3 x double> @"setcomp@VFI"(<3 x double>, double, i64) #0 - -; Function Attrs: nounwind readnone -declare double @"getcomp@FVI"(<3 x double>, i64) #0 - -; Function Attrs: nounwind readnone -declare <2 x double> @"setcomp@UFI"(<2 x double>, double, i64) #0 - -; Function Attrs: nounwind -declare double @"abs@FF"(double) #1 - -; Function Attrs: nounwind -declare double @"nrandom@F:S"(i8*) #1 - -; Function Attrs: nounwind readnone -declare <2 x double> @"set@UFF"(double, double) #0 - -; Function Attrs: nounwind readnone -declare i64 @"isfinite@IF"(double) #0 - -; Function Attrs: nounwind readnone -declare i64 @"not@II"(i64) #0 - -; Function Attrs: nounwind readnone -declare i64 @"isnan@IF"(double) #0 - -; Function Attrs: nounwind readnone -declare i64 @"or@III"(i64, i64) #0 - -; Function Attrs: nounwind -declare double @"length@FU"(<2 x double>) #1 - -; Function Attrs: alwaysinline nounwind -define private void @"affine@UUUU"(<2 x double>* %p, <2 x double>* %x, <2 x double>* %y, <2 x double>* %o) #2 { -__llvm_entry: - %x1 = load <2 x double>, <2 x double>* %x - %return = call double @"getcomp@FUI"(<2 x double> %x1, i64 0) - %p2 = load <2 x double>, <2 x double>* %p - %return3 = call double @"getcomp@FUI"(<2 x double> %p2, i64 0) - %output = fmul double %return, %return3 - %y4 = load <2 x double>, <2 x double>* %y - %return5 = call double @"getcomp@FUI"(<2 x double> %y4, i64 0) - %return7 = call double @"getcomp@FUI"(<2 x double> %p2, i64 1) - %output8 = fmul double %return5, %return7 - %output9 = fadd double %output, %output8 - %o10 = load <2 x double>, <2 x double>* %o - %return11 = call double @"getcomp@FUI"(<2 x double> %o10, i64 0) - %output12 = fadd double %output9, %return11 - %return14 = call double @"getcomp@FUI"(<2 x double> %x1, i64 1) - %output17 = fmul double %return14, %return3 - %return19 = call double @"getcomp@FUI"(<2 x double> %y4, i64 1) - %output22 = fmul double %return19, %return7 - %output23 = fadd double %output17, %output22 - %return25 = call double @"getcomp@FUI"(<2 x double> %o10, i64 1) - %output26 = fadd double %output23, %return25 - %return27 = call <2 x double> @"set@UFF"(double %output12, double %output26) - store <2 x double> %return27, <2 x double>* %p - ret void -} - -; Function Attrs: alwaysinline nounwind -define private void @"affineRot@2UUF"(<4 x double>* %m2, <2 x double>* %x, <2 x double>* %y, double* %ang) #2 { -__llvm_entry: - %x1 = load <2 x double>, <2 x double>* %x - %y2 = load <2 x double>, <2 x double>* %y - %return = call <4 x double> @"set@2UU"(<2 x double> %x1, <2 x double> %y2) - store <4 x double> %return, <4 x double>* %m2 - %ang4 = load double, double* %ang - %output = call <4 x double> @"rotate@2F"(<4 x double> %return, double %ang4) - store <4 x double> %output, <4 x double>* %m2 - ret void -} - -; Function Attrs: nounwind -declare <4 x double> @"set@2UU"(<2 x double>, <2 x double>) #1 - -; Function Attrs: nounwind readnone -declare <4 x double> @"rotate@2F"(<4 x double>, double) #0 - -; Function Attrs: nounwind readnone -declare i64 @"lt@III"(i64, i64) #0 - -; Function Attrs: nounwind readnone -declare i8* @"getcomp@S[SI"(i8**, i64) #0 - -; Function Attrs: nounwind -declare i8** @"append@[SS"(i8**, i8*) #1 - -; Function Attrs: nounwind readnone -declare i64 @"len@I[S"(i8**) #0 - -; Function Attrs: nounwind readnone -declare i64* @"resize@[II"(i64*, i64) #0 - -; Function Attrs: nounwind readnone -declare double* @"resize@[FI"(double*, i64) #0 - -; Function Attrs: nounwind readnone -declare <2 x double>* @"resize@[UI"(<2 x double>*, i64) #0 - -; Function Attrs: nounwind readnone -declare i8* @"concat@SSS"(i8*, i8*) #0 - -; Function Attrs: nounwind readnone -declare double @"chf@FS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare { double, double* } @"setcomp@F[FFI"(double*, double, i64) #0 - -; Function Attrs: nounwind readnone -declare double @"getcomp@F[FI"(double*, i64) #0 - -; Function Attrs: nounwind readnone -declare i8* @"chs@SS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare i64 @"atoi@IS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare { i64, i64* } @"setcomp@I[III"(i64*, i64, i64) #0 - -; Function Attrs: nounwind readnone -declare <2 x double> @"chu@US"(i8*) #0 - -; Function Attrs: nounwind -declare double @"radians@FF"(double) #1 - -; Function Attrs: nounwind readnone -declare double @"getcomp@F2II"(<4 x double>, i64, i64) #0 - -; Function Attrs: nounwind readnone -declare { <2 x double>, <2 x double>* } @"setcomp@U[UUI"(<2 x double>*, <2 x double>, i64) #0 - -; Function Attrs: nounwind readnone -declare i64 @"chi@IS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare i64 @"getcomp@I[II"(i64*, i64) #0 - -; Function Attrs: nounwind -declare i64 @"max@I[I"(i64*) #1 - -; Function Attrs: nounwind readnone -declare i64 @"gt@III"(i64, i64) #0 - -; Function Attrs: nounwind readnone -declare <3 x double>* @"resize@[VI"(<3 x double>*, i64) #0 - -; Function Attrs: nounwind readnone -declare <4 x double>* @"resize@[PI"(<4 x double>*, i64) #0 - -; Function Attrs: nounwind -declare i64 @"find@I[FF"(double*, double) #1 - -; Function Attrs: nounwind readnone -declare i64 @"ge@III"(i64, i64) #0 - -; Function Attrs: nounwind readnone -declare i64 @"eq@III"(i64, i64) #0 - -; Function Attrs: nounwind readnone -declare <4 x double> @"chp@PS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare { <4 x double>, <4 x double>* } @"setcomp@P[PPI"(<4 x double>*, <4 x double>, i64) #0 - -; Function Attrs: nounwind readnone -declare <3 x double> @"chv@VS"(i8*) #0 - -; Function Attrs: nounwind readnone -declare { <3 x double>, <3 x double>* } @"setcomp@V[VVI"(<3 x double>*, <3 x double>, i64) #0 - -; Function Attrs: nounwind readnone -declare <2 x double> @"getcomp@U[UI"(<2 x double>*, i64) #0 - -; Function Attrs: alwaysinline nounwind -define private void @"gemhandlesFFBuild@Z12gemhandlesFFM7N3PFFIN2fxUN2fyUN2foUN3pfxUN3pfyUN3pfoU"(%gemhandlesFF* %this) #2 { -__llvm_entry: - %_m2 = alloca <4 x double> - %0 = alloca <2 x double> - %1 = alloca <2 x double> - %2 = alloca double - %3 = alloca <2 x double> - %4 = alloca <2 x double> - %5 = alloca double - store <4 x double> zeroinitializer, <4 x double>* %_m2, !vex-initializer-store !3 - %return = call <2 x double> @"chu@US"(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @0, i64 0, i64 0)) - %return1 = call <2 x double> @"chu@US"(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @1, i64 0, i64 0)) - %return2 = call double @"chf@FS"(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @2, i64 0, i64 0)) - %return4 = fcmp one double %return2, 0.000000e+00 - br i1 %return4, label %true, label %end - -true: ; preds = %__llvm_entry - store <2 x double> %return, <2 x double>* %0 - store <2 x double> %return1, <2 x double>* %1 - %return9 = call double @"radians@FF"(double %return2) - %return10 = call double @"neg@FF"(double %return9) - store double %return10, double* %2 - call void @"affineRot@2UUF"(<4 x double>* %_m2, <2 x double>* %0, <2 x double>* %1, double* %2) - %_m211 = load <4 x double>, <4 x double>* %_m2 - %return12 = call double @"getcomp@F2II"(<4 x double> %_m211, i64 0, i64 0) - %return14 = call double @"getcomp@F2II"(<4 x double> %_m211, i64 0, i64 1) - %return15 = call <2 x double> @"set@UFF"(double %return12, double %return14) - %return17 = call double @"getcomp@F2II"(<4 x double> %_m211, i64 1, i64 0) - %return19 = call double @"getcomp@F2II"(<4 x double> %_m211, i64 1, i64 1) - %return20 = call <2 x double> @"set@UFF"(double %return17, double %return19) - br label %end - -end: ; preds = %true, %__llvm_entry - %_x.0 = phi <2 x double> [ %return15, %true ], [ %return, %__llvm_entry ] - %_y.0 = phi <2 x double> [ %return20, %true ], [ %return1, %__llvm_entry ] - %tmp = load %gemhandlesFF, %gemhandlesFF* %this - %6 = insertvalue %gemhandlesFF %tmp, <2 x double> %_x.0, 1 - %7 = insertvalue %gemhandlesFF %6, <2 x double> %_y.0, 2 - %return24 = call <2 x double> @"chu@US"(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @3, i64 0, i64 0)) - %8 = insertvalue %gemhandlesFF %7, <2 x double> %return24, 3 - %return26 = call i64 @"chi@IS"(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @4, i64 0, i64 0)) - %9 = insertvalue %gemhandlesFF %8, i64 %return26, 0 - store %gemhandlesFF %9, %gemhandlesFF* %this - %10 = icmp ne i64 %return26, 0 - br i1 %10, label %true29, label %end30 - -true29: ; preds = %end - %return31 = call <2 x double> @"chu@US"(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @5, i64 0, i64 0)) - %return32 = call <2 x double> @"chu@US"(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @6, i64 0, i64 0)) - %return33 = call double @"chf@FS"(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @7, i64 0, i64 0)) - %return35 = fcmp one double %return33, 0.000000e+00 - br i1 %return35, label %true37, label %end38 - -end30: ; preds = %end38, %end - ret void - -true37: ; preds = %true29 - store <2 x double> %return31, <2 x double>* %3 - store <2 x double> %return32, <2 x double>* %4 - %return42 = call double @"radians@FF"(double %return33) - %return43 = call double @"neg@FF"(double %return42) - store double %return43, double* %5 - call void @"affineRot@2UUF"(<4 x double>* %_m2, <2 x double>* %3, <2 x double>* %4, double* %5) - %_m244 = load <4 x double>, <4 x double>* %_m2 - %return45 = call double @"getcomp@F2II"(<4 x double> %_m244, i64 0, i64 0) - %return47 = call double @"getcomp@F2II"(<4 x double> %_m244, i64 0, i64 1) - %return48 = call <2 x double> @"set@UFF"(double %return45, double %return47) - %return50 = call double @"getcomp@F2II"(<4 x double> %_m244, i64 1, i64 0) - %return52 = call double @"getcomp@F2II"(<4 x double> %_m244, i64 1, i64 1) - %return53 = call <2 x double> @"set@UFF"(double %return50, double %return52) - br label %end38 - -end38: ; preds = %true37, %true29 - %_x.1 = phi <2 x double> [ %return48, %true37 ], [ %return31, %true29 ] - %_y.1 = phi <2 x double> [ %return53, %true37 ], [ %return32, %true29 ] - %tmp55 = load %gemhandlesFF, %gemhandlesFF* %this - %11 = insertvalue %gemhandlesFF %tmp55, <2 x double> %_x.1, 4 - %12 = insertvalue %gemhandlesFF %11, <2 x double> %_y.1, 5 - %return58 = call <2 x double> @"chu@US"(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @8, i64 0, i64 0)) - %13 = insertvalue %gemhandlesFF %12, <2 x double> %return58, 6 - store %gemhandlesFF %13, %gemhandlesFF* %this - br label %end30 -} - -; Function Attrs: alwaysinline nounwind -define private %gemhandlesFF @"gemhandlesFF@Z12gemhandlesFFM7N3PFFIN2fxUN2fyUN2foUN3pfxUN3pfyUN3pfoUIUUUUUU"(i64* %PFF, <2 x double>* %fx, <2 x double>* %fy, <2 x double>* %fo, <2 x double>* %pfx, <2 x double>* %pfy, <2 x double>* %pfo) #2 { -__llvm_entry: - %PFF1 = load i64, i64* %PFF - %0 = insertvalue %gemhandlesFF undef, i64 %PFF1, 0 - %fx2 = load <2 x double>, <2 x double>* %fx - %1 = insertvalue %gemhandlesFF %0, <2 x double> %fx2, 1 - %fy4 = load <2 x double>, <2 x double>* %fy - %2 = insertvalue %gemhandlesFF %1, <2 x double> %fy4, 2 - %fo6 = load <2 x double>, <2 x double>* %fo - %3 = insertvalue %gemhandlesFF %2, <2 x double> %fo6, 3 - %pfx8 = load <2 x double>, <2 x double>* %pfx - %4 = insertvalue %gemhandlesFF %3, <2 x double> %pfx8, 4 - %pfy10 = load <2 x double>, <2 x double>* %pfy - %5 = insertvalue %gemhandlesFF %4, <2 x double> %pfy10, 5 - %pfo12 = load <2 x double>, <2 x double>* %pfo - %6 = insertvalue %gemhandlesFF %5, <2 x double> %pfo12, 6 - ret %gemhandlesFF %6 -} - -; Function Attrs: alwaysinline nounwind -define private %gemhandlesFF @"gemhandlesFF@Z12gemhandlesFFM7N3PFFIN2fxUN2fyUN2foUN3pfxUN3pfyUN3pfoU"() #2 { -__llvm_entry: - %0 = alloca <2 x double> - %1 = alloca <2 x double> - %2 = alloca <2 x double> - %3 = alloca <2 x double> - %4 = alloca <2 x double> - %5 = alloca <2 x double> - %6 = alloca i64 - store i64 0, i64* %6 - store <2 x double> zeroinitializer, <2 x double>* %0 - store <2 x double> zeroinitializer, <2 x double>* %1 - store <2 x double> zeroinitializer, <2 x double>* %2 - store <2 x double> zeroinitializer, <2 x double>* %3 - store <2 x double> zeroinitializer, <2 x double>* %4 - store <2 x double> zeroinitializer, <2 x double>* %5 - %gemhandlesFF = call %gemhandlesFF @"gemhandlesFF@Z12gemhandlesFFM7N3PFFIN2fxUN2fyUN2foUN3pfxUN3pfyUN3pfoUIUUUUUU"(i64* %6, <2 x double>* %0, <2 x double>* %1, <2 x double>* %2, <2 x double>* %3, <2 x double>* %4, <2 x double>* %5) - ret %gemhandlesFF %gemhandlesFF -} - -; Function Attrs: alwaysinline nounwind -define private void @"_FLAM3HANDLESFF@V"(<3 x double>* %_bound_P) #2 { -__llvm_entry: - %GEMHFF = alloca %gemhandlesFF - %0 = alloca <2 x double> - %1 = alloca <2 x double> - %2 = alloca <2 x double> - %3 = alloca <2 x double> - %4 = alloca <2 x double> - %5 = alloca <2 x double> - %mem = alloca <2 x double> - %_bound_P1 = load <3 x double>, <3 x double>* %_bound_P - %cast = call <2 x double> @"set@UV"(<3 x double> %_bound_P1) - store <2 x double> %cast, <2 x double>* %mem - %GEMHFF2 = call %gemhandlesFF @"gemhandlesFF@Z12gemhandlesFFM7N3PFFIN2fxUN2fyUN2foUN3pfxUN3pfyUN3pfoU"() - %GEMHFF2.fca.0.extract = extractvalue %gemhandlesFF %GEMHFF2, 0 - %GEMHFF2.fca.0.gep = getelementptr inbounds %gemhandlesFF, %gemhandlesFF* %GEMHFF, i32 0, i32 0 - store i64 %GEMHFF2.fca.0.extract, i64* %GEMHFF2.fca.0.gep - %GEMHFF2.fca.1.extract = extractvalue %gemhandlesFF %GEMHFF2, 1 - %GEMHFF2.fca.1.gep = getelementptr inbounds %gemhandlesFF, %gemhandlesFF* %GEMHFF, i32 0, i32 1 - store <2 x double> %GEMHFF2.fca.1.extract, <2 x double>* %GEMHFF2.fca.1.gep - %GEMHFF2.fca.2.extract = extractvalue %gemhandlesFF %GEMHFF2, 2 - %GEMHFF2.fca.2.gep = getelementptr inbounds %gemhandlesFF, %gemhandlesFF* %GEMHFF, i32 0, i32 2 - store <2 x double> %GEMHFF2.fca.2.extract, <2 x double>* %GEMHFF2.fca.2.gep - %GEMHFF2.fca.3.extract = extractvalue %gemhandlesFF %GEMHFF2, 3 - %GEMHFF2.fca.3.gep = getelementptr inbounds %gemhandlesFF, %gemhandlesFF* %GEMHFF, i32 0, i32 3 - store <2 x double> %GEMHFF2.fca.3.extract, <2 x double>* %GEMHFF2.fca.3.gep - %GEMHFF2.fca.4.extract = extractvalue %gemhandlesFF %GEMHFF2, 4 - %GEMHFF2.fca.4.gep = getelementptr inbounds %gemhandlesFF, %gemhandlesFF* %GEMHFF, i32 0, i32 4 - store <2 x double> %GEMHFF2.fca.4.extract, <2 x double>* %GEMHFF2.fca.4.gep - %GEMHFF2.fca.5.extract = extractvalue %gemhandlesFF %GEMHFF2, 5 - %GEMHFF2.fca.5.gep = getelementptr inbounds %gemhandlesFF, %gemhandlesFF* %GEMHFF, i32 0, i32 5 - store <2 x double> %GEMHFF2.fca.5.extract, <2 x double>* %GEMHFF2.fca.5.gep - %GEMHFF2.fca.6.extract = extractvalue %gemhandlesFF %GEMHFF2, 6 - %GEMHFF2.fca.6.gep = getelementptr inbounds %gemhandlesFF, %gemhandlesFF* %GEMHFF, i32 0, i32 6 - store <2 x double> %GEMHFF2.fca.6.extract, <2 x double>* %GEMHFF2.fca.6.gep - call void @"gemhandlesFFBuild@Z12gemhandlesFFM7N3PFFIN2fxUN2fyUN2foUN3pfxUN3pfyUN3pfoU"(%gemhandlesFF* %GEMHFF) - %GEMHFF3.fca.0.load = load i64, i64* %GEMHFF2.fca.0.gep - %GEMHFF3.fca.0.insert = insertvalue %gemhandlesFF undef, i64 %GEMHFF3.fca.0.load, 0 - %GEMHFF3.fca.1.load = load <2 x double>, <2 x double>* %GEMHFF2.fca.1.gep - %GEMHFF3.fca.1.insert = insertvalue %gemhandlesFF %GEMHFF3.fca.0.insert, <2 x double> %GEMHFF3.fca.1.load, 1 - %GEMHFF3.fca.2.load = load <2 x double>, <2 x double>* %GEMHFF2.fca.2.gep - %GEMHFF3.fca.2.insert = insertvalue %gemhandlesFF %GEMHFF3.fca.1.insert, <2 x double> %GEMHFF3.fca.2.load, 2 - %GEMHFF3.fca.3.load = load <2 x double>, <2 x double>* %GEMHFF2.fca.3.gep - %GEMHFF3.fca.3.insert = insertvalue %gemhandlesFF %GEMHFF3.fca.2.insert, <2 x double> %GEMHFF3.fca.3.load, 3 - %GEMHFF3.fca.4.load = load <2 x double>, <2 x double>* %GEMHFF2.fca.4.gep - %GEMHFF3.fca.4.insert = insertvalue %gemhandlesFF %GEMHFF3.fca.3.insert, <2 x double> %GEMHFF3.fca.4.load, 4 - %GEMHFF3.fca.5.load = load <2 x double>, <2 x double>* %GEMHFF2.fca.5.gep - %GEMHFF3.fca.5.insert = insertvalue %gemhandlesFF %GEMHFF3.fca.4.insert, <2 x double> %GEMHFF3.fca.5.load, 5 - %GEMHFF3.fca.6.load = load <2 x double>, <2 x double>* %GEMHFF2.fca.6.gep - store <2 x double> %GEMHFF3.fca.1.load, <2 x double>* %0 - store <2 x double> %GEMHFF3.fca.2.load, <2 x double>* %1 - store <2 x double> %GEMHFF3.fca.3.load, <2 x double>* %2 - call void @"affine@UUUU"(<2 x double>* %mem, <2 x double>* %0, <2 x double>* %1, <2 x double>* %2) - %6 = icmp ne i64 %GEMHFF3.fca.0.load, 0 - br i1 %6, label %true, label %end - -true: ; preds = %__llvm_entry - store <2 x double> %GEMHFF3.fca.4.load, <2 x double>* %3 - store <2 x double> %GEMHFF3.fca.5.load, <2 x double>* %4 - store <2 x double> %GEMHFF3.fca.6.load, <2 x double>* %5 - call void @"affine@UUUU"(<2 x double>* %mem, <2 x double>* %3, <2 x double>* %4, <2 x double>* %5) - br label %end - -end: ; preds = %true, %__llvm_entry - %mem24 = load <2 x double>, <2 x double>* %mem - %cast25 = call <3 x double> @"set@VU"(<2 x double> %mem24) - %output = call <3 x double> @"add@VV"(<3 x double> %cast25, <3 x double> ) - store <3 x double> %output, <3 x double>* %_bound_P - ret void -} - -; Function Attrs: nounwind readnone -declare <2 x double> @"set@UV"(<3 x double>) #0 - -; Function Attrs: nounwind readnone -declare <3 x double> @"set@VU"(<2 x double>) #0 - -; Function Attrs: nounwind readnone -declare <3 x double> @"add@VV"(<3 x double>, <3 x double>) #0 - -; Function Attrs: nounwind -define void @FLAM3HANDLESFF(<3 x double> %P) #1 { -__llvm_entry: - %"

" = alloca <3 x double> - store <3 x double> %P, <3 x double>* %"

" - call void @"_FLAM3HANDLESFF@V"(<3 x double>* %"

") - %evalue = load <3 x double>, <3 x double>* %"

" - %gvalue = call <3 x double> @"_export@VSV"(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @9, i64 0, i64 0), <3 x double> %evalue) #3 - store <3 x double> %gvalue, <3 x double>* @P - ret void -} - -declare <3 x double> @"_export@VSV"(i8*, <3 x double>) - -define void @__shader_default_arguments() { -__llvm_entry: - call void @FLAM3HANDLESFF(<3 x double> zeroinitializer) - ret void -} - -attributes #0 = { nounwind readnone } -attributes #1 = { nounwind } -attributes #2 = { alwaysinline nounwind } -attributes #3 = { nounwind readonly } - -!context = !{!0} -!version = !{!1} -!precision = !{!2} - -!0 = !{!"cvex"} -!1 = !{!"20.5.370"} -!2 = !{!"64"} -!3 = !{!""} - -;_code_end