[LLVMdev] Fwd: Regarding scope information for variable declaration.

Eric Lu eirc.lew at gmail.com
Mon Jul 15 02:40:56 PDT 2013

Thank your reply. Pankaj.

Actually, I have done it very similar to yours. But I think for my demand,
it is better to implement in Front End. Maybe I will re-implement it later
in clang.
---------- Forwarded message ----------
From: Pankaj Gode [via LLVM] <ml-node+s1065342n59345h22 at n5.nabble.com>
Date: Mon, Jul 15, 2013 at 2:35 PM
Subject: Re: Regarding scope information for variable declaration.
To: "eric.lew" <eirc.lew at gmail.com>

 Hi Eric,

I was considering machine instructions to get scope information. And
variable declaration does not correspond to machine instruction, hence the
problem i.e. no scope associated with it.
If 'i' is initialized in the 'if-scope' then we get 'variable i' mapped to
correct scope as corresponding machine instruction is generated for this.
This is not a problem as we can't expect variable declaration in a machine
instruction, I thought.

o instead of using machine instructions to collect scope information, (as
used by LexicalScope pass),
I had written code to collect scope information based on LLVM Instructions.
I did this by iterating over 'Function->BasicBlock' instead
of 'MachineFunction->MachineBasicBlock'.
const Function *F1 =  MF->getFunction();
for(Function::const_iterator BB = F1->begin(), E = F1->end();
                                BB != E; ++BB)
     for(BasicBlock::const_iterator ii = BB->begin(), ie = BB->end();
        ii != ie; ++ii)
        const Instruction *I = ii;  //I->dump();//debug
        DebugLoc MIDB = I->getDebugLoc();
 Though this is an overhead as scope information exists,
but I need to collect specific information such as 'start line, end line,
start column, end column'
(End line information should be derived as is not obvious).
Collecting information this way allowed me to get correct scope
and hence I was able to map the variable declaration to the scope. It
worked for me this way.


  *From:* eric.lew <[hidden
*To:* [hidden email] <http://user/SendEmail.jtp?type=node&node=59345&i=1>
*Sent:* Friday, July 12, 2013 8:30 AM
*Subject:* Re: [LLVMdev] Regarding scope information for variable

I have the same demand. Have you resolved this problems? if so, would you
share me the solution?

Best Regards.


View this message in context:
Sent from the LLVM - Dev mailing list archive at Nabble.com.
LLVM Developers mailing list
[hidden email] <http://user/SendEmail.jtp?type=node&node=59345&i=2>

LLVM Developers mailing list
[hidden email] <http://user/SendEmail.jtp?type=node&node=59345&i=3>

 If you reply to this email, your message will be added to the discussion
 To unsubscribe from Regarding scope information for variable
declaration., click
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130715/0b353f4c/attachment.html>

More information about the llvm-dev mailing list