No more Scalars/LabeledAggregates/Arrays/Pointers.
That’s right. More hassle than its worth.


How do you model a stack variables ? Do you create them under same region (say stack) with different indices or each of them is a different region with index = 0 ?
Right now each is a different region (stx analysis assigns a region to each SgSymbol) unless there’s something in the C spec forbidding this.

Greg Bronevetsky
Lawrence Livermore National Lab
(925) 424-5756
bronevetsky@llnl.gov<mailto:bronevetsky@llnl.gov>
http://greg.bronevetsky.com

From: Sriram Aananthakrishnan [mailto:notifications@github.com]
Sent: Monday, November 04, 2013 4:08 PM
To: sriram87/edg4x-rose
Cc: bronevet
Subject: Re: [edg4x-rose] Fuse dev integration 11/3/13 (#1)


In projects/fuse/src/analysis/abstract_object.h:

> -   // support dereference of array object, similar to the dereference of pointer

> -   // Return the element object: array[0]

> -   virtual MemLocObjectPtr getDereference(PartEdgePtr pedge);

> -   //virtual bool operator == (const ObjSet & that) const;

> -   //virtual bool operator < (const ObjSet & that) const;

> -};

> +/* ########################

> +   ##### MemLocObject #####

> +   ########################

> +

> +A MemLocObject denotes a set of memory addresses. Locations within a single memory regions can be directly

> +compared to each other since memory regions are guaranteed to be contiguous and have a finite size.

> +Locations in different memory regions cannot be equal to each other and no additional information is

> +available and their relative values. As such, memory locations are represented as MemoryRegionObject/ValueObject

> +pairs that identify the location's region and its index within the region. Memory accesses are modeled as

> +reading/writing a fixed number of bytes (sizeof some type) starting from some memory location.

No more Scalars/LabeledAggregates/Arrays/Pointers. How do you model a stack variables ? Do you create them under same region (say stack) with different indices or each of them is a different region with index = 0 ?

—
Reply to this email directly or view it on GitHub<https://github.com/sriram87/edg4x-rose/pull/1/files#r7418470>.