[cfe-dev] Enhancing the DataFlowSolver in clang

Simone Pellegrini spellegrini at dps.uibk.ac.at
Tue Jul 20 07:52:59 PDT 2010


On 07/20/2010 08:15 AM, Simone Pellegrini wrote:
> On 07/20/2010 02:04 AM, Ted Kremenek wrote:
>    
>> On Jul 15, 2010, at 7:04 AM, Simone Pellegrini wrote:
>>
>>
>>      
>>> For what I understood from the code, the first time ProcessMerge() is called there is no edge data, therefore the last instruction in the function will always overwrite the existing block data with the one returned by the function TF.SetTopValue(), and in my case I don't have any TopValue to set.
>>>
>>> To solve the problem I introduced a flag which track whether edge data exists. If not, the D.getBlockDataMap()[B] will not be overwritten.
>>>
>>>        
>> This seems reasonable.  Does it work with the existing analyses?  (i.e., do all the clang tests pass)
>>      
> it works for mine :)
> eheh... just joking, I will run the tests and let you know.
>    
I run make tests from the root clang folder and none of the existing 
tests have been broken.

In attachment the patch file with the fix to the DataFlowSolver.h

cheers, Simone
> cheers, Simone
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>    

-------------- next part --------------
A non-text attachment was scrubbed...
Name: DataFlowSolver.patch
Type: text/x-patch
Size: 1214 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20100720/0c22be67/attachment.bin>


More information about the cfe-dev mailing list