Displaying 20 results from an estimated 900 matches similar to: "[LLVMdev] Extending FunctionType"
2011 Feb 28
0
[LLVMdev] Extending FunctionType
On 2/28/11 6:31 AM, Gabriel Rodríguez wrote:
> Hi all,
>
> I am trying to extend a FunctionType to include new parameters. In
> particular, I want to
> ensure that the main function has been declared with both argsc and
> argsv. However
> there seems to be no easy way to accomplish this:
> llvm::Function::getFunctionType() returns a
> a reference to a const object,
2011 Feb 28
3
[LLVMdev] Extending FunctionType
2011/2/28 John Criswell <criswell at illinois.edu>:
> On 2/28/11 6:31 AM, Gabriel Rodríguez wrote:
>
> Hi all,
>
> I am trying to extend a FunctionType to include new parameters. In
> particular, I want to
> ensure that the main function has been declared with both argsc and argsv.
> However
> there seems to be no easy way to accomplish this:
>
2011 Feb 28
2
[LLVMdev] Extending FunctionType
On Mon, Feb 28, 2011 at 5:10 PM, John Criswell <criswell at illinois.edu> wrote:
> On 2/28/11 10:04 AM, Frits van Bommel wrote:
>> I don't think a full clone is necessary, since he wants to replace the
>> function. He only needs to create the new function and splice in the
>> body of the old one.
>
> That is exactly what MakeFunctionClone() does. It creates a
2011 Feb 28
0
[LLVMdev] Extending FunctionType
On 2/28/11 10:04 AM, Frits van Bommel wrote:
> 2011/2/28 John Criswell<criswell at illinois.edu>:
>> On 2/28/11 6:31 AM, Gabriel Rodríguez wrote:
>>
>> Hi all,
>>
>> I am trying to extend a FunctionType to include new parameters. In
>> particular, I want to
>> ensure that the main function has been declared with both argsc and argsv.
>>
2013 May 29
2
[LLVMdev] CloneFunctionInto() Error
Dear All,
I need your help urgently
I have to copy the CFG of each function using CloneFunction or
CloneFunctionInto.
After I made the copy function. Print the basic blocks then get this error :
While deleting: i32 %
Use still stuck around after Def is destroyed: %mul2_ = mul nsw i32 %6, 3
Use still stuck around after Def is destroyed: store i32 3, i32* %x_,
align 4
opt: Value.cpp:75: virtual
2009 Jun 30
1
S4 class redefinition
I haven't found much on S4 class redefinition; the little I've seen
indicates the following is to be expected:
1. setClass("foo", ....)
2. create objects of class foo.
3. execute the same setClass("foo", ...) again (source the same file).
4. objects from step 2 are now NULL.
Is that the expected behavior (I ran under R 2.7.1)?
Assuming it is, it's kind of
2013 May 29
0
[LLVMdev] CloneFunctionInto() Error
Does cloning copies the function with its address or it constructs a new
address to the new function? Is this real copying for the CFG or just
opaque one to do some work?
If it's not real copying, please I need a method that can help me in
copying the function in another with new pointer to another address.
Please I need answer urgent
Thanks
On 29 May 2013 10:14, Rasha Omar <rasha.sala7
2008 Sep 13
3
[LLVMdev] Duplicate Function with duplicated Arguments
I'm now writing a pass and I wanna ask a question about how to
duplicate the function and add duplicated arguments in llvm, for
example:
func(int a, char *b) -> func(int a, char *b, int a1, char *b1)
I'm now stuck at using "getOrInsertFunction" and how to handle
"getArgumentList", please share your opinion, thanks a lot!
James
2017 Jun 08
4
DICompileUnit duplication in LLVM 4.0.0?
All,
I'm seeing duplication of DICompileUnits in a pass that worked in 3.8. I
assume I'm doing something wrong. Would someone be willing to point me in
the right direction?
The below minimized pass reproduces my issue in 4.0 with the following
error:
DICompileUnit not listed in llvm.dbg.cu
!1707 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1,
producer: "clang
2011 Sep 16
2
[LLVMdev] How to duplicate a function?
Hi all,
Sorry for the inconvenient about the previous post. The files were not
attached. So I put them here again.
I am a newbie in LLVM and I am trying to replace the function like:
old function || new function
==============================
=========
int haha(int a) { int haha(int a, char* ID) {
===>
}
2017 Jun 08
2
DICompileUnit duplication in LLVM 4.0.0?
Thank you. What I need to do to address this? Open an issue on bugs.llvm.org?
I'm not sure what the fix needs to be in the cloner.
On Thu, Jun 8, 2017 at 4:19 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:
> There have in the past been bugs in the cloner involving duplicate
> DICompileUnits (see e.g. https://reviews.llvm.org/D29240), this one may
> need a similar fix.
2015 Aug 10
2
Bug or expected behavior of APFloat class?
Hi,
I've been playing around with the APFloat class lately and I came
across behavior I was not expecting based on reading the
implementation comments and I'm wondering if it's a bug or
intentional.
The behavior concerns converting an APFloat to a string and back
again. In the implementation of ``APFloat::toString(...)`` you can
specify ``FormatPrecision`` as 0. The method comments
2009 Nov 05
2
[LLVMdev] create dummy function
Hello,
I have a simple question. How to create "dummy" function which will
have no functionality behind (return nothing and do nothing)?
Currently I'm trying to do this:
llvm::Constant* c = Module.getOrInsertFunction("dummy",
FunctionThatNeedsToBeReplaced.getFunctionType());
llvm::Function* dummy = llvm::cast<llvm::Function>(c);
This way I create new function that
2009 Nov 05
3
[LLVMdev] create dummy function
Thank you very much for you help, Renato!
I read through paper you referred and also this document -
http://llvm.org/docs/tutorial/JITTutorial1.html
Following these instructions to create successful function I run into
some problems:
1) llvm::getGlobalContext() does not exists anymore? "llvm/LLVMContext.h" too?
2) creating instance of IRBuilder don't require template (from
tutorial
2005 Jul 19
1
Nested drag and drop rendering issue with ie
First and foremost, excellent library - excellent work. Thank you.
Now, here''s what I''m doing:
<div id="wrapper">
<fieldset id="page_1">
<legend>Page</legend>
<fieldset id="group_1">
Group
</fieldset>
<fieldset id="group_2">
Group
</fieldset>
2004 May 03
4
ctags(1) command execution vulnerability
Hello,
ctags(1) uses external application sort(1) for sorting the tags file.
It calls it via system(3) function.
Look at the /usr/src/usr.bin/ctags/ctags.c file, there are such lines
here:
if (uflag) {
(void)asprintf(&cmd, "sort -o %s %s",
outfile, outfile);
if (cmd == NULL)
err(1, "out of space");
system(cmd);
free(cmd);
cmd = NULL;
}
This code will be
2008 Jul 08
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
PPCTargetLowering::EmitInstrWithCustomInserter has a reference
to the current MachineFunction for other purposes. Can you use
MachineFunction::getRegInfo instead?
Dan
On Jul 8, 2008, at 1:56 PM, Gary Benson wrote:
> Would it be acceptable to change MachineInstr::getRegInfo from private
> to public so I can use it from
> PPCTargetLowering::EmitInstrWithCustomInserter?
>
>
2008 Jul 10
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Just cast both values to const TargetRegisterClass*.
Evan
On Jul 10, 2008, at 7:36 AM, Gary Benson wrote:
> Evan Cheng wrote:
>> How about?
>>
>> const TargetRegisterClass *RC = is64Bit ? &PPC:GPRCRegClass :
>> &PPC:G8RCRegClass;
>> unsigned TmpReg = RegInfo.createVirtualRegister(RC);
>
> I tried something like that yesterday:
>
> const
2008 Jul 10
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Evan Cheng wrote:
> How about?
>
> const TargetRegisterClass *RC = is64Bit ? &PPC:GPRCRegClass :
> &PPC:G8RCRegClass;
> unsigned TmpReg = RegInfo.createVirtualRegister(RC);
I tried something like that yesterday:
const TargetRegisterClass *RC =
is64bit ? &PPC::GPRCRegClass : &PPC::G8RCRegClass;
but I kept getting this error no matter how I arranged it:
2008 Jun 30
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
You need to insert new basic blocks and update CFG to accomplish this.
There is a hackish way to do this right now. Add a pseudo instruction
to represent this operation and mark it usesCustomDAGSchedInserter.
This means the intrinsic is mapped to a single (pseudo) node. But it
is then expanded into instructions that can span multiple basic
blocks. See