Advertisement
Guest User

Untitled

a guest
May 9th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 2.88 KB | None | 0 0
  1. ; ModuleID = 'ML'
  2.  
  3. @fmt = private unnamed_addr constant [4 x i8] c"%d\0A\00"
  4. @fmt1 = private unnamed_addr constant [4 x i8] c"%f\0A\00"
  5.  
  6. declare i32 @printf(i8*, ...)
  7.  
  8. define i32 @main() {
  9. entry:
  10.   %x = alloca [2 x [2 x [3 x double]]]
  11.   %b = alloca double
  12.   %o = alloca [3 x double]
  13.   %o1 = alloca double
  14.   %o2 = alloca double
  15.   %c = alloca [3 x double]
  16.   %i = alloca [3 x double]
  17.   store [2 x [2 x [3 x double]]] [[2 x [3 x double]] [[3 x double] [double 1.111000e+01, double 2.222000e+01, double 3.333000e+01], [3 x double] [double 5.555000e+01, double 6.666000e+01, double 7.777000e+01]], [2 x [3 x double]] [[3 x double] [double 1.717000e+01, double 3.838000e+01, double 1.718000e+01], [3 x double] [double 1.737000e+01, double 3.855000e+01, double 3.535000e+01]]], [2 x [2 x [3 x double]]]* %x
  18.   %x1 = getelementptr [2 x [2 x [3 x double]]]* %x, i32 0, i32 0, i32 0
  19.   store [3 x double] [double 4.550000e+01, double 5.420000e+01, double 3.333000e+01], [3 x double]* %x1
  20.   %x2 = getelementptr [2 x [2 x [3 x double]]]* %x, i32 0, i32 0, i32 0
  21.   %x3 = load [3 x double]* %x2
  22.   store [3 x double] %x3, [3 x double]* %c
  23.   %c4 = getelementptr [3 x double]* %c, i32 0, i32 0
  24.   %c5 = load double* %c4
  25.   store double %c5, double* %b
  26.   %b6 = load double* %b
  27.   %printf = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @fmt1, i32 0, i32 0), double %b6)
  28.   %c7 = getelementptr [3 x double]* %c, i32 0, i32 1
  29.   %c8 = load double* %c7
  30.   store double %c8, double* %b
  31.   %b9 = load double* %b
  32.   %printf10 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @fmt1, i32 0, i32 0), double %b9)
  33.   %x11 = getelementptr [2 x [2 x [3 x double]]]* %x, i32 0, i32 1, i32 0
  34.   %x12 = load [3 x double]* %x11
  35.   store [3 x double] %x12, [3 x double]* %o
  36.   %o13 = getelementptr [3 x double]* %o, i32 0, i32 0
  37.   %o14 = load double* %o13
  38.   store double %o14, double* %o1
  39.   %o15 = getelementptr [3 x double]* %o, i32 0, i32 1
  40.   %o16 = load double* %o15
  41.   store double %o16, double* %o2
  42.   %o17 = getelementptr [3 x double]* %o, i32 0, i32 0
  43.   %o118 = load double* %o1
  44.   store double %o118, double* %o17
  45.   %o19 = getelementptr [3 x double]* %o, i32 0, i32 1
  46.   %o220 = load double* %o2
  47.   store double %o220, double* %o19
  48.   %o21 = getelementptr [3 x double]* %o, i32 0, i32 2
  49.   store double 2.230000e+01, double* %o21
  50.   %x22 = getelementptr [2 x [2 x [3 x double]]]* %x, i32 0, i32 1, i32 0
  51.   %o23 = load [3 x double]* %o
  52.   store [3 x double] %o23, [3 x double]* %x22
  53.   %x24 = getelementptr [2 x [2 x [3 x double]]]* %x, i32 0, i32 1, i32 0
  54.   %x25 = load [3 x double]* %x24
  55.   store [3 x double] %x25, [3 x double]* %c
  56.   %c26 = getelementptr [3 x double]* %c, i32 0, i32 2
  57.   %c27 = load double* %c26
  58.   store double %c27, double* %b
  59.   %b28 = load double* %b
  60.   %printf29 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @fmt1, i32 0, i32 0), double %b28)
  61.   ret i32 0
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement