Skip to content
Snippets Groups Projects
Commit ff942489 authored by clc5q's avatar clc5q
Browse files

Add memory region type refinements for POINTER type.

parent 9a783c4e
No related branches found
No related tags found
No related merge requests found
......@@ -118,10 +118,14 @@ enum SMPitype {
// at all, which is even better. In order to emit these annotations, we
// will track all operands in a function as to their basic SMP types.
enum SMPOperandType { // What type is a given register or memory operand?
UNINIT, // Operand type not yet analyzed
UNINIT, // Operand type not yet analyzed; type lattice top
NUMERIC, // Definitely holds non-pointer value (char, int, etc.)
POINTER, // Definitely holds an address
UNKNOWN // Might hold an address, might not (Bad!)
CODEPTR, // Definitely holds a code address
POINTER, // Definitely holds a data address
STACKPTR, // Definitely holds a stack data address (refinement of POINTER)
GLOBALPTR, // Definitely holds a global static data address (refinement of POINTER)
HEAPPTR, // Definitely holds a heap data address (refinement of POINTER)
UNKNOWN // Might hold an address, might not (Bad!); type lattice bottom
};
class DefOrUse {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment