[cfe-dev] How to know whether expression is derived from induction variable?

Madhur Amilkanthwar madhur13490 at gmail.com
Thu Sep 26 11:58:15 PDT 2013


I am very basic thing now
I inherited RecursiveASTVisitor Class and  overloaded function VisitStmt as
bool VisitStmt(Stmt *s)
{
 if(isa<ForStmt>(s))
{
std::cout<<"For Statement found\n";
 VarDecl *D=cast<ForStmt>(s)->getConditionVariable();
if(D->isLocalVarDecl())
llvm::errs()<<"local";
 }
return true;
}
but I am facing runtime error.(seg fault) any clue?



On Thu, Sep 26, 2013 at 7:35 PM, Madhur Amilkanthwar
<madhur13490 at gmail.com>wrote:

> Ohk..this looks cool. Let me try that. Thanks.
>
>
> On Thu, Sep 26, 2013 at 6:37 PM, Gabor Kozar <kozargabor at gmail.com> wrote:
>
>> **
>> The simplest probably would be finding all relevant loop nodes, i.e.
>> ForExpr-s, identifying the loop induction variable, i.e. the VarDecl-s (if
>> any), and finally running a RecursiveASTVisitor on its body, looking for a
>> DeclRefExpr referring to any of the VarDecl-s you identified in the
>> previous step.
>>
>> --
>>  Gábor Kozár -- ShdNx
>>  kozargabor at gmail.com
>>
>>
>>
>> On Thu, Sep 26, 2013, at 15:00, Madhur Amilkanthwar wrote:
>>
>> Hi,
>> I am interested in knowing if an expression is derived from loop
>> induction variable or not. As of now, I am able to inspect every expression
>> after locating "if" statement in the code.
>> Assume following code:
>>  for(int i=0;i<32;i++)
>>    i=i+2;
>>
>>  in above code, I am able to get access to the expression "i+2" but how
>> should I analyze its LHS and RHS for induction variable?
>>
>>  Any help appreciated.
>>
>> --
>> Thank You.
>> Madhur D. Amilkanthwar
>> RISE lab,
>> IIT Madras.
>>    *_______________________________________________*
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>
>>
>
>
> --
> Thank You.
> Madhur D. Amilkanthwar
> RISE lab,
> IIT Madras.
>



-- 
Thank You.
Madhur D. Amilkanthwar
RISE lab,
IIT Madras.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20130927/f089590b/attachment.html>


More information about the cfe-dev mailing list