Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] New transformation"
2018 Feb 24
1
Parsing a bit code file
I am trying to parse LLVM IR from a bit code file. I went through the
following steps.
hello.cpp
#include <iostream>
int main() {
std::cout << "Hello world!" << "\n";
return 0;}
dump.cpp
#include <llvm/IR/Module.h>#include <llvm/IRReader/IRReader.h>#include
<llvm/IR/LLVMContext.h>#include <llvm/Support/SourceMgr.h>
using
2013 Oct 24
2
[LLVMdev] LLVM use chains
Hi,
I have:
...
@.str1 = private unnamed_addr constant [21 x i8] c"Now f is a
function\0A\00", align 1
; Function Attrs: ssp uwtable
define i32 @_Z1fv() #2 {
entry:
%call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([21
x i8]* @.str1, i32 0, i32 0))
ret i32 0
}
Then I get after trying to erase the function from the module:
511
2013 Oct 24
0
[LLVMdev] LLVM use chains
On 23 October 2013 22:41, Vassil Vassilev <vvasilev at cern.ch> wrote:
> Hi,
> I have:
> ...
> @.str1 = private unnamed_addr constant [21 x i8] c"Now f is a
> function\0A\00", align 1
> ; Function Attrs: ssp uwtable
> define i32 @_Z1fv() #2 {
> entry:
> %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([21 x
> i8]* @.str1, i32 0,
2013 Apr 29
1
[LLVMdev] Many tests fail on Win64
I fell over this issue yesterday myself with lots of asserts being thrown.
I think the issue is in lib/IR/AsmWriter.cpp:1618 in the function
AssemblyWriter::printFunction(const Function *F)
Looking at the code I think the 2nd for loop should be preceded by the test
...
if (Idx < AS.getNumSlots())
Not sure why it doesn't fail on other platforms as it looks like it should
be a genuine
2013 May 14
0
[LLVMdev] Implicit basic block labels?
On Mon, May 13, 2013 at 5:31 PM, Paul Sokolovsky <pmiscml at gmail.com> wrote:
> Hello,
>
> I only recently started to look at LLVM assembly generated by Clang,
> and one of the first thing I saw was like:
>
> define i32 @foo(i32 %a, i32 %b) nounwind {
> %1 = tail call i32 @bar(i32 %a) nounwind
> %2 = icmp eq i32 %1, 0
> br i1 %2, label %5, label %3
>
2009 May 10
2
[LLVMdev] llvm to x86 IR conversion
Hi,
I am running a basic block pass (and iterating through each instruction).
Is it possible to convert the basic block instruction form llvm IR to
x86 IRWITHIN the path ?
Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090510/9c636a9a/attachment.html>
2009 May 18
3
[LLVMdev] IDE for llvm
Hi,
I am new in the "Linux business" and i need to add an optimization to the
LLVM compiler.
I would like to know what is the bast way to debug (IDE) the LLVM compiler ?
To be more precise, what is the equivalent to Microsoft visual studio on
Linux platform? is it eclipse?
I want features like: syntax highlight, go to def, etc.
Thanks.
-------------- next part --------------
An HTML
2009 May 30
4
[LLVMdev] Value liveout (uses)
Thank you.
Is it possible to determine the liveout of the operands (see example bellow)
?
%5 = add i32 %4, %3
For '%5': i can simply use " i->isUsedOutsideOfBlock() "
For '%3' and '%4' : this is the question ...
>From your answer, is it possible to determine *which* value is liveout ( in
binary instruction)?
On Sat, May 30, 2009 at 2:57 AM,
2009 May 10
1
[LLVMdev] LLVM related question
Thank you you answer.
On Sun, May 10, 2009 at 12:48 AM, Eli Friedman <eli.friedman at gmail.com>wrote:
> On Sat, May 9, 2009 at 8:37 AM, Rotem Varon <varonrotem at gmail.com> wrote:
> > Its not x86 IR nor x86 assembly. I have x86 IR "like" instructions ( add
> > R1, R2, R3 and so...)
> >>
> >> If it's really
> >> x86
2009 May 30
0
[LLVMdev] Value liveout (uses)
I believe Dan has added a pass to compute livein / liveout values.
Evan
Sent from my iPhone
On May 30, 2009, at 5:03 AM, Rotem Varon <varonrotem at gmail.com> wrote:
> Thank you.
>
> Is it possible to determine the liveout of the operands (see example
> bellow) ?
>
> %5 = add i32 %4, %3
>
> For '%5': i can simply use "
2009 May 09
2
[LLVMdev] LLVM related question
I will start with that i am vary grateful for your time.And continue with, i
am sorry if my Qs aren't quite accurate( i just started with the LLVM
compiler).
On Sat, May 9, 2009 at 5:23 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Sat, May 9, 2009 at 5:35 AM, Rotem Varon <varonrotem at gmail.com> wrote:
> > I need to add a new optimization to the LLVM
2009 May 31
1
[LLVMdev] Value liveout (uses)
The pass you're referring to is in include/llvm/Analysis/LiveValues.h
and lib/Analysis/LiveValues.cpp. It computes conservative
approximations for specific liveness queries, rather than full
livein/liveout information. It's intended to be used as a heuristic.
Dan
On May 30, 2009, at 3:51 PM, Evan Cheng wrote:
> I believe Dan has added a pass to compute livein / liveout values.
>
2009 May 30
4
[LLVMdev] Value liveout (uses)
Hi,
How can i know, if a value have uses outside of the current basic block
(liveout), without iterating through all the basic block ?
Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090530/71681bc2/attachment.html>
2009 May 09
2
[LLVMdev] LLVM related question
Hi,
I am a student (software engineering), and i am using the LLVM in my project
(I am sorry of the lack of details, but i want to take the minimum of your
time, if you want more details don't hesitate...).
I need to add a new optimization to the LLVM compiler.
The optimization ALREADY written for x86 IR (i mean that the code that
handles the optimization is designated to work on assembly 86)
2009 May 10
0
[LLVMdev] llvm to x86 IR conversion
On Sun, May 10, 2009 at 15:17, Rotem Varon <varonrotem at gmail.com> wrote:
> I am running a basic block pass (and iterating through each instruction).
> Is it possible to convert the basic block instruction form llvm IR to x86 IR
> WITHIN the path ?
>
It seems to me that phi nodes would mean that you can't convert any
unit smaller than a function to native code.
~ Scott
2009 May 10
1
[LLVMdev] llvm to x86 IR conversion
Hi,
I believe that my question isn't clear. So, please let me rephrase :
I am running a basic block pass (and iterating through each instruction).
Is it possible to convert the basic block instruction form llvm IR to
x86 IRWITHIN the path ?
I mean: is LLVM API exists for this purpose ?
Again, thanks.
On Sun, May 10, 2009 at 10:30 PM, me22 <me22.ca at gmail.com> wrote:
> On Sun,
2013 Jun 04
1
[LLVMdev] Accessing slot numbers of unnamed instructions (SlotTracker)
Hey everyone,
I'm currently trying to figure out a method for providing a unique
identification of an llvm::Instruction that is consistent with the output of an
AssemblyWriter. Obviously this is easy for named instructions: In this case
the identification is the name itself, but I'd like to have the same thing for
unnamed instructions.
If I understand the code in AssemblyWriter.cpp
2012 Feb 28
0
[LLVMdev] Getting corresponding c-instruction line number along with ir-instruction in a function's CFG
Hi
I am not a good programmer but for my project i have to use llvm to generate CFG for c programs where i have a mapping from IR instruction in CFG to their respective c instruction. After surfing a in source of llvm i did the following change in printInstruction() function in llvm/lib/VMCore/AsmWriter.cpp file. .....void AssemblyWriter::printInstruction(const Instruction &I) { if
2018 Nov 11
2
Convert Register Names to String
Hi.
I want to do a cutomized points-to analysis on IR. Suppose that we have:
*%91 = bitcast i8* %90 to %struct.demux_packet*, !dbg !2688*
I want to store sth similar to %91 -> target of %90, which records the
target of pointer named %91. How can I access the names (Here, %90 and %91)?
I know that I can put the whole line for an instruction into a string,
using the following code:
*string str;*
2008 Mar 04
0
[LLVMdev] Deleting Instructions after Intrinsic Creation
Hi,
I tried creating intrinsics which
are to be placeholders for a set of instructions which
should not be executed by the backend.
I want to retain only intrinsic,phi and terminator instructions in a basic
block.
I have taken care of the external dependencies of basic block.
How do I delete the rest of the instructions?
Thank You
Aditya
P.S: