摘要:
指令合并主要合并相邻的,use-def 链上 相邻的指令。 讲多条可以合并的指令合并成一条指令,去除多余指令。 1, 常量折叠和计算。 a = 100; b = 100; c = a + b; d = f * c; > d = f * 200; 2,去除无效move指令 a = b; c = a; 阅读全文
摘要:
静态单赋值形式 每个遍历仅仅被赋值一次。 变量仅在单bb块内被多次赋值。重命名 a = 1; b = a; a = 2; d = a; > a1 = 1; b = a1; a2 = 2; d = a2; 变量块跨bb块被多次赋值,插入phi节点,并重命名 B1 if (cond) B2 a = b; 阅读全文
摘要:
push 和 pop 栈内的数据 pushx source 压栈 pushl %ecx # puts the 32-bit value of the ECX register on the stackpushw %cx # puts the 16-bit value of the CX regist 阅读全文
摘要:
原因,字符集不对。重新改字符集合,需要utf-8 字符集合 #cpuid.s Sample program to extract the processor Vendor ID.section .dataoutput:.ascii “The processor Vendor ID is ‘xxxxx 阅读全文