Displaying 20 results from an estimated 200 matches similar to: "[LLVMdev] use function address as global variable initializer"
2014 Mar 29
2
[LLVMdev] Cast specific pointer type to generic one
Hi,
Suppose I have a pointer to "something" (a structure I defined) and I want
to pass the pointer to a generic function, that gets a 64-bit address
pointer.
How do I do that?
For instance:
The function is:
void Foo (void *);
I get the specific pointer using getPointerOperand() on a store instruction
that store to it:
inst->getPointerOperand()->getType()
Now I want
2011 Apr 26
0
[LLVMdev] inserting a fucntion call at the end of basic bloc
Hi Nabila,
> where did the "noalias" attribute and "tail call" (rather than "call") come
> from? Are you setting these yourself or running some optimization pass after
> your pass?
>
>
> i have written a module pass and i have compiled it and then
you didn't answer my questions, you just repeated what you said before.
Ciao,
2013 Aug 19
4
[LLVMdev] Generating GetElementPtr inlined in a function argument list programmatically
Hello LLVMDev List,
It's my first time sending a message to the List - I have been working on a tool for my research project using LLVM. Thanks for your awesome work!
I have come across some bytecode like the following with an GetElementPtr instruction in brackets:
Bytecode:%3 = call i32 @_Z4funcPKc(i8* getelementptr inbounds ([5 x i8]* @.str2, i32 0, i32 0))
C++ code:func("bleh");
2009 Jan 19
1
[LLVMdev] Load from abs address generated bad code on LLVM 2.4
Andrew Haley <aph at redhat.com> writes:
> Óscar Fuentes wrote:
>> The following message is a courtesy copy of an article
>> that has been posted to gmane.comp.compilers.llvm.devel as well.
>>
>> Andrew Haley <aph at redhat.com> writes:
>>
>>> This is x86_64. I have a problem where an absolute memory load
>>>
>>> define
2011 Apr 26
2
[LLVMdev] inserting a fucntion call at the end of basic bloc
2011/4/26 Duncan Sands <baldrick at free.fr>
> Hi Nabila,
>
> Now when i tried this pass an error says:
>> Wrong type for attribute noalias
>> tail call void @consume(i32 noalias 3, i32* @y) nounwind
>>
>>
>> noalias is only for arguments of pointer type. You probably meant it
>> to
>> be on the second argument
2017 Aug 07
2
vrp
I am primarily interested in phi nodes and their induction variables, in
ValueTracking file there is an analysis of them, but if the upper bound is
inf, it is not working?
2017-08-07 11:41 GMT+02:00 Anastasiya Ruzhanskaya <
anastasiya.ruzhanskaya at frtk.ru>:
> So, it is not supported to determine by this instruction : %cmp = icmp slt
> i32 %i.03, 99,
> that %i.03 = phi i32 [ 0,
2017 Jan 20
2
Get Num of Uses in only dominated blocks?
Hi all,
I am doing a project that requires counting the number of uses of a value
only in all dominated blocks in a function. I checked the manual for
llvm::User
class, but only get this
unsigned <http://llvm.org/test-doxygen/api/classunsigned.html> getNumUses
<http://llvm.org/test-doxygen/api/classllvm_1_1Value.html#a380559e99b47632a34f74de7c1d03cc0>
()
const
This gives me all the
2015 Nov 26
4
Creating/Deleting a new instruction from LLVM IR
Hi,
I was trying to create a new *Store* instruction and inserting it to LLVM
IR (.ll) file. I found the following constructor in LLVM Manual:
StoreInst::StoreInst
<http://llvm.org/docs/doxygen/html/classllvm_1_1StoreInst.html#aa2a72f9a51b317f5b4ab8695adf59025>
(Value <http://llvm.org/docs/doxygen/html/classllvm_1_1Value.html> * Val,
Value
2016 Feb 04
3
result of load Instruction
Hi all,
How can i find the instruction that uses the result of a load instruction.
For example:
%16 = load i32, i32* %ptr
%add = add i32 4, %16
In this case, i would like to get the add instruction.
Best,
Mo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160204/bdef6f63/attachment.html>
2009 Dec 04
2
[LLVMdev] "SrcValue is not a pointer?" assertion in SelectionDAG::getSrcValue
hi,
i am building selectionDAG by my own code, but got a assertion fail
said "SrcValue is not a pointer?".
but since the comment above the SrcValueSDNode said: "SrcValueSDNode -
An SDNode that holds an arbitrary LLVM IR Value." why the llvm value
of SrcValueSDNode must be with PointerType? is that assertion
necessary? thanks a lots.
regards
--ether
2005 Nov 02
2
[LLVMdev] Statically Initialized Arrays
I am trying to generate LLVM code that references a global array.
Unfortunately, while I am generating the code I do not know the final
length of the array, as I add elements to it as my compiler goes along.
What is the best way to do this in LLVM? Ideally, I would be able to
define the GlobalVariable array and change its length later on. I would
love for it to have the correct length so I
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
2009 Jan 22
3
[LLVMdev] replacing instructions
Hello everyone,
is there any way to replace an instruction inside LLVM that is more
elegant than creating a new one, replacing uses and deleting the old one
if I only want to modify the type? It is generally not a big deal, but
the issue gets really messy if I am in the middle of iterating over uses
and start deleting some of them...
I hope I could describe my problem well enough ;)
Regards,
2017 Jul 20
3
Value
Thank you! I wanted to use the right part of the instruction ,
%a = alloca i32, align 4 - %a here , but I don't quite understand the
difference between Instruction object and Value object of a, which is used
further , and in this case :
%1 = alloca i32, align 4 - I also wanted to use %1 and in this case the
only possibility is Instruction object.
2017-07-20 15:32 GMT+02:00 Evgeny Astigeevich
2009 Jan 21
0
[LLVMdev] Load from abs address generated bad code on LLVM 2.4
Óscar Fuentes wrote:
> Andrew Haley <aph at redhat.com> writes:
>
>> Óscar Fuentes wrote:
>>> The following message is a courtesy copy of an article
>>> that has been posted to gmane.comp.compilers.llvm.devel as well.
>>>
>>> Andrew Haley <aph at redhat.com> writes:
>>>
>>>> This is x86_64. I have a problem where an
2005 Nov 02
0
[LLVMdev] Statically Initialized Arrays
On Wed, 2 Nov 2005, Evan Jones wrote:
> I am trying to generate LLVM code that references a global array.
> Unfortunately, while I am generating the code I do not know the final length
> of the array, as I add elements to it as my compiler goes along. What is the
> best way to do this in LLVM? Ideally, I would be able to define the
> GlobalVariable array and change its length
2009 Dec 04
0
[LLVMdev] "SrcValue is not a pointer?" assertion in SelectionDAG::getSrcValue
Hello Ether,
I think it is referring to the Value class (captial V) whose documentation is found at http://llvm.org/doxygen/classllvm_1_1Value.html . It has to be a pointer because the Value class is a parent class to many many child classes.
--Sam
----- Original Message ----
> From: ether zhhb <etherzhhb at gmail.com>
> To: LLVM Developers Mailing List <llvmdev at
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
2009 Jan 19
6
[LLVMdev] Load from abs address generated bad code on LLVM 2.4
This is x86_64. I have a problem where an absolute memory load
define i32 @foo() {
entry:
%0 = load i32* inttoptr (i64 12704196 to i32*) ; <i32> [#uses=1]
ret i32 %0
}
generates incorrect code on LLVM 2.4:
0x7ffff6d54010: mov 0xc1d9c4(%rip),%eax # 0x7ffff79719da
0x7ffff6d54016: retq
should be
0x7ffff6d54010: mov 0xc1d9c4, %eax
0x7ffff6d54016: retq
2003 May 09
3
[LLVMdev] ConstantPointerRef and void*'s to functions
I have a Function* to a function that has a signature like:
void foo(double*, double*);
I need to write the address of this function into a global variable initializer (really, into the initializer of a particular structure field). The structure field type is void*, and must be.
Because of type constraints, doing something like:
Function* foo = ...;
std::vector<const Type*> fields;
...