forked from pbiggar/phc
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This combines two large changes. The latter was required for the form…
…er (I should have checked in once it built, but too late now). The first change combines Type_inference and CCP into a single Value_analysis analysis. It uses an Abstract_value and an Absval_cell instead of the Literal_cell and Type_cell. It makes it much clearer the tole of BOTTOM (we now use NULL), and avoids any superfluous differences between them. The second change is designed to expose the default_value at a much higher level, but it also gets rid of a lot of the messing with Lattice_cell. We passed around Lattice_cells before, and used dynamic_casts to ensure they were the right type. Instead now we use templates, and provide a default_value method. The whole mess of multiple meet functions and equals functions is all moved to within methods, and its much clearer whats called where. Each Cell_type has its own TOP/BOTTOM etc instead of sharing a Special_cell between different analysis. Overall, there isnt anything functionally different (except a few bugs cleared up).
- Loading branch information
Showing
32 changed files
with
954 additions
and
1,373 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.