Dataflow_Galkina_424 (1161738)
Текст из файла
Галкина Екатерина, группа 424int foo (char * s, int n) {i ← -1j ← 0k ← 1p ← 1goto L54L55:t58 ← +, i, ky ← s[t58]t61 ← +, j, kx ← s[t61]L52:x ← -, x, yi ← +, i, 1ifTrue x > y goto L52L53:ifFalse x == y goto L68L67:t69 ← +, i, jp ← /, t69, 2goto L70L68:k ← +, k, 1L70:j ← +, j, 1x ← ygoto L54i ← +, i, 1L54:t71 ← +, i, jt72 ← +, t71, kifTrue t72 < n goto L55L56:t76 ← s[j]return t76}Базовые блоки:B1:(1)(2)(3)(4)(5)B6:i ← -1j ← 0k ← 1p ← 1goto L54L67:t69 ← +, i, jp ← /, t69, 2goto L70(17)(18)(19)B2:B7:L54:(6)t71 ← +, i, j(7)t72 ← +, t71, k(8)ifTrue t72 < n goto L55L68:(20) k ←B3:B8:L55:(9)t58(10) y ←(11) t61(12) x ←L70:(21) j ← +, j, 1(22) x ← y(23) goto L54← +, i, ks[t58]← +, j, ks[t61]+, k, 1B4:B9:L52:(13) x ← -, x, y(14) i ← +, i, 1(15) ifTrue x > y goto L52L56:(24) t76 ← s[j](25) return t76B5:B10:(26)L53:ifFalse x == y goto L68(16)i ←+, i, 1ГПУ:Множества gen и kill для каждого блока (бинарный векторсоответствует инструкциям в базовых блоках в порядке номеровблоков):BB1B2B3B4B5B6B7B8B9B10BB1B2B3B4B5B6B7B8B9B10Gen(B)(i, B1) (j, B1) (k, B1)(p, B1)(t71, B2) (t72, B2)(t58, B3) (y, B3) (t61,B3) (x, B3)(x, B4) (i, B4)0(t69, B6) (p, B6)(k, B7)(j, B8) (x, B8)(t76, B9)(i, B10)Kill(B)(i, B4) (p,(j, B8) (i,0(x, B4) (x,(i, B1) (x,(i, B10)0(p, B1)(k, B1)(j, B1) (x,0(i, B1) (i,B6) (k, B7)B10)B8)B3) (x, B8)B3) (x, B4)B4)1111000000000000000000000000000000000000000000000000000000010000 0000 0000 0000 00000110 0000 0000 0000 00000000 1111 0000 0000 00000000 0000 1100 0000 00000000 0000 0000 0000 00000000 0000 0000 1100 00000000 0000 0000 0001 00000000 0000 0000 0000 11000000 0000 0000 0000 00010000 0000 0000 0000 00000000 0000 0000 0100 0101 1000 010000 0000 0000 0000 0000 0000 000000 0000 0000 1000 0000 0100 001000 0000 0001 0000 0000 0100 01000000010010010000001000000000000000000000000000000000000000000100000000000000000000100000000100000000000000000000000000000000000000000000000000000000000000Результат анализа достигающих определений (было проделано 4итерации, In 0 = Out 0 = 0, In 3 = In 4):BB1In RD(B)00000 0000 0000 0000 0000 0000 00B2B3B4B5B6B7B8B9B10(i, B1) (j, B1) (k, B1)(p, B1) (t71, B2)(t72, B2) (t58, B3)(y, B3) (t61, B3) (i, B4)(t69, B6) (p, B6) (k, B7)(j, B8) (x, B8) (i, B10)(i, B1) (j, B1) (k, B1)(p, B1) (t71, B2)(t72, B2) (t58, B3)(y, B3) (t61, B3) (i, B4)(t69, B6) (p, B6) (k, B7)(j, B8) (x, B8) (i, B10)(i, B1) (j, B1) (k, B1)(p, B1) (t71, B2)(t72, B2) (t58, B3)(y, B3) (t61, B3) (x, B3)(x, B4) (i, B4) (t69, B6)(p, B6) (k, B7) (j, B8)(i, B10)(j, B1) (k, B1) (p, B1)(t71, B2) (t72, B2) (t58,B3) (y, B3) (t61, B3)(x, B4) (i, B4) (t69, B6)(p, B6) (k, B7) (j, B8)(j, B1) (k, B1) (p, B1)(t71, B2) (t72, B2)(t58, B3) (y, B3)(t61, B3) (x, B4) (i, B4)(t69, B6) (p, B6) (k, B7)(j, B8)(j, B1) (k, B1) (p, B1)(t71, B2) (t72, B2)(t58, B3) (y, B3)(t61, B3) (x, B4) (i, B4)(t69, B6) (p, B6) (k, B7)(j, B8)(j, B1) (k, B1) (p, B1)(t71, B2) (t72, B2)(t58, B3) (y, B3)(t61, B3) (x, B4) (i, B4)(t69, B6) (p, B6) (k, B7)(j, B8)(i, B1) (j, B1) (k, B1)(p, B1) (t71, B2)(t72, B2) (t58, B3)(y, B3) (t61, B3) (i, B4)(t69, B6) (p, B6) (k, B7)(j, B8) (x, B8) (i, B10)01111 0110 1110 0100 1101 1100 011111 0110 1110 0100 1101 1100 011111 0110 1111 1100 1101 1000 010111 0110 1110 1100 1101 1000 000111 0110 1110 1100 1101 1000 000111 0110 1110 1100 1101 1000 000111 0110 1110 1100 1101 1000 001111 0110 1110 0100 1101 1100 010000 0000 0000 0000 0000 0000 00Множества use и def для каждого блока:BUse(B)Def(B)B1{}{i, j, k, p}B2{i, j, k}{t71, t72}B3{i, j, k}{t58, y, t61, x}B4{x, y, i}{}B5{x, y}{}B6{i, j}{t69, p}B7{k}{}B8{j, y}{x}B9{j}{t67}B10{i}{}Результат анализа живых переменных (потребовалось 3 итерации):BOut LV(B)B1{i, j, k}B2{i, j, k}B3{x, y, i, j, k}B4{x, y, i, j, k}B5{y, i, j, k}B6{y, i, j, k}B7{y, i, j, k}B8{i, j, k}B9{}B10{i, j, k}.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.