Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] Getting Basic block's scope information"
2013 Jul 15
0
[LLVMdev] Fwd: Regarding scope information for variable declaration.
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
2013 Jul 15
2
[LLVMdev] Regarding scope information for variable declaration.
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
2011 Apr 27
1
[LLVMdev] LLVM internal getDirectory() for LexicalBlock debug information returns filename?
Hi,
For my project, I am using internal llvm class functions to print the
filename and directory associated with an instruction from the debug
information.
With a recent checkout of llvm and clang (svn revision 129445), the
following custom code (e.g. in a pass that prints directory info for
all instructions) returns the filename iso. directory whenever Scope
refers to a lexical block:
if (const
2018 May 24
2
LLVM Pass To Remove Dead Code In A Basic Block
Hi Dean,
Thanks for your reply.
That's exactly what I am doing, but I was looking for a default
optimization or pass implementation if there was.
I used BasicBlock::splitBasicBlock() but it puts "br" end of original basic
block. I tried to delete the br instruction by using eraseFromParent() but
it didn't work.
I had to rewrite my own splitBasicBlock() by modifying the
2003 Nov 20
3
[LLVMdev] Basic Block Chaining
Newbie Question .. (sorry if its redundant/silly) ..
As I've started to develop Stacker, I had assumed that simply adding
BasicBlocks to a function in sequence would imply that there is an
implicit unconditional branch from the end of one basic block to the
start of the next block. Based on the assertion checks that I get when I
tried this, I assume that it is required to place a terminating
2018 May 24
0
LLVM Pass To Remove Dead Code In A Basic Block
> On 25 May 2018, at 01:46, Aaron via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi all,
>
> LLVM optimization pass gives an error "Terminator found in the middle of a basic block!" since basic block IR may have multiple "ret" instructions. It seems LLVM does not accept multiple return in a basic block by default.
>
Yes, if you’re inserting
2004 Dec 07
1
[LLVMdev] Question adding dummy basic blocks
Hi,
I got a problem when I am trying to add a dummy basic block.
Let say there are two blocks, A and B.
A----->B
I am trying to generate new BB called C which is located between A and B, but not break the edge of AB. The graph is like the following
A---->B
\ /
\ /
C
There is new BB 'C' with edges AC and CB.
It is kind of like what breakcriticaledge pass does.
2003 Nov 20
0
[LLVMdev] Basic Block Chaining
On Thu, 20 Nov 2003, Reid Spencer wrote:
> Newbie Question .. (sorry if its redundant/silly) ..
No worries, this is good stuff to have archived on the list!
> As I've started to develop Stacker, I had assumed that simply adding
> BasicBlocks to a function in sequence would imply that there is an
> implicit unconditional branch from the end of one basic block to the
> start
2013 Jul 12
0
[LLVMdev] Regarding scope information for variable declaration.
I have the same demand. Have you resolved this problems? if so, would you
share me the solution?
Best Regards.
Eric
--
View this message in context: http://llvm.1065342.n5.nabble.com/Regarding-scope-information-for-variable-declaration-tp47707p59268.html
Sent from the LLVM - Dev mailing list archive at Nabble.com.
2017 Nov 06
2
[RFC] Setting the current debug loc when the insertion point changes
> On Nov 6, 2017, at 2:58 PM, Adrian Prantl <aprantl at apple.com> wrote:
>
>
>
>> On Nov 6, 2017, at 2:50 PM, Vedant Kumar <vsk at apple.com> wrote:
>>
>>>
>>> On Nov 6, 2017, at 2:32 PM, Adrian Prantl <aprantl at apple.com> wrote:
>>>
>>>
>>>> On Nov 6, 2017, at 2:19 PM, Vedant Kumar <vsk at
2012 Jul 30
3
[LLVMdev] Regarding scope information for variable declaration.
Hi All,
I have question regarding lexical scope information.
If I have .c source with scope as below.
void func()
{
//-- some code here..
{ //parent scope
if() //high pass
{
int i;
for( i =0; i < FRAM_I; i++)
{
}
}
if() //low pass
{
int i;
for( i =0; i < FRAM_J; i++)
{
}
}
2010 Feb 05
0
[LLVMdev] Basic block with two return instructions
On Fri, Feb 5, 2010 at 11:30 AM, Russell Wallace
<russell.wallace at gmail.com> wrote:
> Ah! I didn't know about verifyFunction; it does indeed catch it,
> thanks! I'll leave that call in my code for all cases for the moment,
> should help identify problems like that.
>
> Is there a recommended way to avoid this problem when compiling a
> language that has an
2011 Mar 07
1
[LLVMdev] DW_TAG_lexical_block structure in debug information
Hello,
The documentation for debug information
(http://llvm.org/docs/SourceLevelDebugging.html) says the structure of
block descriptors metadata is:
!3 = metadata !{
i32, ;; Tag = 11 + LLVMDebugVersion (DW_TAG_lexical_block)
metadata,;; Reference to context descriptor
i32, ;; Line number
i32 ;; Column number
}
However, looking at the generated metadata, there are 2 extra
2009 May 08
0
[LLVMdev] Splitting a basic block, replacing it's terminator
On May 8, 2009, at 4:02 PM, Nick Johnson wrote:
> I want to insert a conditional branch in the middle of a basic block.
> To that end, I am doing these steps:
>
> (1) Split the basic block:
> bb->splitBasicBlock()
>
> (2) Remove the old terminator:
> succ->removePredecessor(bb)
> bb->getTerminator()->getParent()
Assuming that the new block will still be a
2018 May 29
2
LLVM IR source line error
Hi
I am using LLVM to help me do some code analysis. I wrote a LLVM Function
Pass to help me to generate some information. I use the code below to get
the source line information for every instruction.
for (BasicBlock &BB : F){
for(Instruction &I: BB){
DILocation* Loc = I.getDebugLoc().get();
unsigned Line = Loc->getLine()
}
}
I think the function's first
2006 May 17
0
[LLVMdev] Obfuscation with LLVM
Hi all,
I was trying to implement an obfuscation tool for C-code on the basis of
LLVM. I got a prototype of the simple obfuscation transformation which
converting control flow graph to something like a state machine. I am not
sure I will have time to work on extending further this tool with new
transformations like opaque predicates and decided to put here source code I
have by now with hope
2018 May 29
0
LLVM IR source line error
On Tue, May 29, 2018 at 5:25 AM Muhui Jiang via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi
>
> I am using LLVM to help me do some code analysis. I wrote a LLVM Function
> Pass to help me to generate some information. I use the code below to get
> the source line information for every instruction.
>
> for (BasicBlock &BB : F){
> for(Instruction &I:
2017 Sep 17
2
assertion triggered since update to llvm 5
Dump the IR before newgvn and run through opt -newgvn. It should crash. I'm
not familiar with your frontend but you might want to use -mllvm
-opt-bisect-limit.
On Sep 17, 2017 1:06 PM, "Andrew Kelley" <superjoe30 at gmail.com> wrote:
Valgrind is strictly better than address sanitizer, is that right? It runs
valgrind-clean:
[nix-shell:~/dev/zig/build-llvm5-debug]$ valgrind
2018 May 30
1
LLVM IR source line error
Hi David
Thank you very much for your suggestions. ScopeLine works well. It could
represent the start of a function. Do you know whether I can get the start
column of this function? Many Thanks
Regards
Muhui
2018-05-30 3:25 GMT+08:00 David Blaikie <dblaikie at gmail.com>:
>
>
> On Tue, May 29, 2018 at 5:25 AM Muhui Jiang via llvm-dev <
> llvm-dev at lists.llvm.org>
2012 Jan 20
0
[LLVMdev] context/scope of instruction
On Jan 19, 2012, at 10:12 AM, Christian Jacobs wrote:
> Hello,
> I need to know how I get the LLVM::IDScope object of an instruction.
>
> My program contains:
> call void (...)* @commit(), !dbg !16
>
> !16 = metadata !{i32 16, i32 5, metadata !8, null}
>
> !8 = metadata !{i32 589835, metadata !4, i32 10, i32 1, metadata !2, i32 0} ; [ DW_TAG_lexical_block ]
>
!8