Displaying 10 results from an estimated 10 matches similar to: "Problems with Inline ASM expressions generated in the back end"
2017 Jun 05
2
Question about llvm::Value::print performance
Dear Thomas,
> Hi Christoph,
> 
> maybe there is a way of caching the print outputs and output them at the
> end of the program execution?
> So, your real application do not have this kind of bottle neck.
this is a valid idea, thought the problem is: I output all things only "once" and I even
output it like:
1) load module
2) go over functions
3) output all blocks with
2017 Jun 05
2
Question about llvm::Value::print performance
Hi,
I want to use llvm::Value::print to output the assembly strings for llvm::Instructions
inside a rather large llvm::Module (linked module with lots of types/...).
I started with plain ::print and switched over to 
http://llvm.org/docs/doxygen/html/classllvm_1_1Value.html#a04e6fc765eeb0c4c90ac5d55113db116
with a ModuleSlotTracker I pass in myself to avoid some complexity.
Still now I have
2018 Nov 12
2
Convert Register Names to String
Hi Tim,
Thanks for the nice answer. The code that you mentioned, seems to generate
the IR. You mean I should reuse the code to extract and output the register
names in a file. Next, I should postprocess the file in my own pass?
Regards.
On Mon, 12 Nov 2018 at 13:09, Tim Northover <t.p.northover at gmail.com> wrote:
> Hi Ahmad,
>
> On Sun, 11 Nov 2018 at 13:39, Ahmad Nouralizadeh
2017 Nov 29
3
question: access IR class Instruction from DAG SDValue
Seems llvm cannot pass metadata to MachineInstr, or setting operand description in class Instruction and pass to class MachineInstr.
Is it a good idea to extend llvm kernel structure to having this feature?
Jonathan
> On Nov 27, 2017, at 9:01 PM, Jatin Bhateja <jatin.bhateja at gmail.com> wrote:
> 
> SelectionDAGBuilder contained within SelectionDAGISel has a map (NodeMap) b/w
2015 Oct 05
6
Why is printing an Instruction so slow?
Hi all,
When writing my custom passes, I often emit log messages to llvm::errs()
like so:
llvm::errs() << "Could not handle instruction: " << *Inst << std::endl;
where Inst is a pointer to an Instruction.
I've profiled my code and found that this way of printing an Instruction
takes a very long time: indeed, it is the bottleneck of my pass.
Of course, I could
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;*
2012 Dec 17
0
[LLVMdev] Query Regarding instruction ordering of passive nodes
Hi All,
I'm trying to compile the attached code(gdb11531.c) with latest clang with -O0 on ARM. 
Clang seems to be reordering the instructions in case of constant nodes(for ARM) even when O0 is specified resulting in few wrong information when debugging through GDB. 
I had few queries,would be great if someone could clarify the same -
In the given assembly code, the instructions where constant
2019 Jul 29
5
Arguments name IR LLVM
Hi everybody,
I want to read the name of the arguments of fucntion IR LLVM, I have the following function define:
define void @vecadd(i32, float* nocapture readonly, float* nocapture readonly, float* nocapture) local_unnamed_addr #0 {
As we see, the argument has no name, if we look at call function in main function we see the arguments name (a, b and c):
call void @vecadd(i32 10, float*
2018 Dec 12
6
How to get the destination in a LoadInst
Hi all,
I have %5 = load i32, i32* %3, align 4 LoadInst and I would like to get
reference to the destination ( in this case %5 ). How can I do that?
Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181212/1d0bd00c/attachment.html>
2017 Apr 14
5
Saving Compile Time in InstCombine
I’m taking a first look at InstCombine performance. I picked up the caching patch and ran a few experiments on one of our larger C++ apps. The size of the *.0.2.internalize.bc no-debug IR is ~ 30M. Here are my observations so far.
Interestingly, caching produced a slight but measurable performance degradation of -O3 compile time.
InstCombine takes about 35% of total execution time, of which ~20%