Comments (3)
我分析了流程好像就直接dvm字节码按照直接翻译成IR,然后就直接用相同名字(根据寄存器编号跟参数类型)消去Phi,没有TSSA转CSSA的步骤,是不是dvm的字节码直接翻译过来的实际上已经符合(CSSA)。
from dcc.
是没有TSSA到CSSA的过程。 对于归约CFG,转出来的就是CSSA;对于不可归约的CFG,按我的理解,只要PHI相关资源活跃不冲突,同样可以给他们分配相同的名字来消除PHI。
刚转出来,没有经过任何优化的PHI相关资源,我理解也是不会冲突的,如:
r0_2 = phi(r0_0, r0_1)
r0_0, r0_1, v0_2 都来源于同一个寄存器r0。既然他们能分配到同一个寄存器r0,那么他们肯定不会冲突。
对变量进行命名确实是使用寄存器编号和类型。
另外,compiler.py还有个叫verify_phi_operand_type函数,它是用来确保phi相关变量会分配到相同的名称,保证PHI消除是正确的。
from dcc.
thks
from dcc.
Related Issues (20)
- 有点不太了解指定编译方法 HOT 3
- Exception: ABI x86 is not supported! HOT 4
- Exception: unkonw type vResult_43 HOT 3
- 编译后adb install 错误 提示 资源4字节对齐 HOT 2
- win10 HOT 2
- BUG HOT 2
- 不能安装 与架构有关吗 HOT 1
- WIN10 找不到指定文件报错 HOT 2
- 直接使用python 脚本加固报错 HOT 1
- make: *** No rule to make target HOT 4
- dcc java
- win10测试tests发现应该使用python dcc.py而不是python3 dcc.py HOT 3
- 怎么解决duplicate symbol: .datadiv_decode HOT 1
- 怎么编译静态方法呢
- 这个不能通过定时任务或者脚本去执行嘛? HOT 4
- 怎么编译到aar的加固?
- Phi消除问题 HOT 2
- apktool-r 导致闪退 HOT 2
- 无法使用dex2c HOT 1
- Support 16 KB page sizes? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dcc.