| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When creating equivalent phis we copy the inputs of the original phi
which may be improperly typed. This will be fixed during the type
propagation but as a result we may have two equivalent phis with the
same type for the same dex register. This is correct but generates more
code and prevent some optimizations.
This CL adds another step in the SSA builder to remove the extra Phi
nodes created due to equality operators.
The graph checker verifies that for a given dex register not two phis
have the same type.
Also, replace zero int constant with null constant when we compare a
reference against null.
Change-Id: Id37cc11a016ea767c7e351575e003d822a9d2e60
|
|
|
|
| |
Change-Id: I3725b6c6a6cf44440c34a1bfb67e623531e665d6
|
|
|
|
| |
Change-Id: Iafd3b1f58ed7ce45350b4b3aa493bafc63ade179
|
|
How it works:
- run a type analysis to propagate null information on instructions
- during the last instruction simplifier remove null checks for which
the input is known to be not null
The current type analysis is actually a nullability analysis but it will
be reused in follow up CLs to propagate type information: so it keeps
the more convenient name.
Change-Id: I54bb1d32ab24604b4d677d1ecdaf8d60a5ff5ce9
|