Displaying 20 results from an estimated 2000 matches similar to: "CallSiteBase::getCalledFunction and non-trivial calls"
2018 Sep 12
2
CallSiteBase::getCalledFunction and non-trivial calls
The immediate change I have in mind is in CallGraph; our implementation
of LowerCall in AMDGPU currently relies on the the callee arguments
being lowered before the call is lowered, and we simply do not support
indirect calls. However, we should be able to support these bitcast
calls, as they are effectively direct for our purposes, but the
CallGraph does not seem to consider them (it uses
2005 Aug 29
1
[LLVMdev] getCalledFunction
Hi,
The getCalledFunction on CallInst is returning NULL, although it is (directly)
calling a function, which is defined in the same file.
----------------------
if (CallInst* callInst = dyn_cast<CallInst>(&inst))
{
std::cerr<<callInst->getCalledFunction();
}
-----------------------
When
------------------
std::cerr<<*callInst
----------------
the
2015 Sep 08
2
CallInst::getCalledFunction returns null?
I was wondering if someone could explain why CallInst::getCalledFunc behaves
the way it does.
For simple, direct call instructions in my IR, that method behaves just as
one would expect.
However, for instructions like this:
%25 = call i32 (%struct._IO_FILE*, ...)* bitcast (i32 (...)* @close to i32
> (%struct._IO_FILE*, ...)*)(%struct._IO_FILE* %24), !dbg !695
getCalledFunc returns null.
I
2012 Jan 03
1
[LLVMdev] AliasAnalysis and memory dependency
i am sorry,
i get this error:
opt: /home/llvm/src/include/llvm/Support/CallSite.h:87: ValTy*
llvm::CallSiteBase<FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy,
IterTy>::getCalledValue() const [with FunTy = const llvm::Function, ValTy =
const llvm::Value, UserTy = const llvm::User, InstrTy = const
llvm::Instruction, CallTy = const llvm::CallInst, InvokeTy = const
llvm::InvokeInst, IterTy =
2013 Apr 02
2
How to remove all characters after comma in R
I have the following list of strings:
x <- c("foo, foo2, foo3", "bar", "qux, qux1")
what I want to do is to obtain
foo, bar qux
Namely for each element in the vector obtain only string
before the first comma.
What's the way to do it?
- G.V.
[[alternative HTML version deleted]]
2008 Sep 09
3
Splitting Data Frame into Two Based on Source Array
Dear all,
Suppose I have this data frame:
> data_main
V1 V2
foo 13.1
bar 12.0
qux 10.4
cho 20.33
pox 8.21
And I want to split the data into two parts
first part are the one contain in the source array:
> src
[1] "bar" "pox"
and the other one the complement.
In the end we hope to get this two dataframes:
> data_child1
V1 V2
bar 13.1
pox
2013 Mar 11
2
[LLVMdev] How to detect all free() calls
Hi,
I'm trying to write a pass to detect all free()/delete() call instructions in LLVM IR.The method is as follows.
First I find Call Instructions: CallInst *CI=dyn_cast<CallInst>(&*i);
then see if the Function name matches:
name=CI->getCalledFunction()->getName(); if(name=="_ZdlPv"||name=="_ZdaPv"||name=="free")
2009 Jan 08
2
Faster Printing Alternatives to 'cat'
Dear all,
I found that printing with 'cat' is very slow.
For example in my machine this snippet
__BEGIN__
# I need to resolve to use this type of loop.
# because using write(), I need to create a matrix which
# consumes so much memory. Note that "foo, bar, qux" object
# is already very large (>2Gb)
for ( s in 1:length(x) ) {
2014 Apr 28
6
[LLVMdev] indirect calls tracking and control flow graph
Dear all,
I would like to keep track of all the indirect calls that may caused from
function
pointers inside a program. I need this in order to be able to construct the
control
flow graph of all the indirect calls, that is which function is legal to
call another
function.
Is there a module that implements this functionality in llvm? If not, is
there a way to
do it? Maybe through implementing a
2012 Jan 18
7
[LLVMdev] [RFC] Module Flags Metadata
Hello,
This is a proposal for implementing "module flags". Please take a look at this and give any feedback you may have.
Thanks!
-bw
Module Flags Metadata
Information about the module as a whole is difficult to convey to LLVM's
subsystems. The LLVM IR isn't sufficient to transmit this information. One
should instead use the llvm.module.flags named
2010 Nov 03
1
Recoding -- test whether number begins with a certain number
Dear R community,
I have a question concerning recoding of a variable. I have a data set
in which there is a variable devoted to the ISCO code describing the
occupation of this certain individual
(http://www.ilo.org/public/english/bureau/stat/isco/isco88/major.htm).
Every type of occupation begins with a number and every number added to
this number describes th occupation more detailed.
Now my
2007 Oct 26
2
[LLVMdev] RFC: llvm-convert.cpp Patch
Hi all,
The patch below is to fix a problem with unaligned memcpys. This program:
void Bork() {
int Qux[33] = {0};
}
will currently produce this LLVM code on PPC64:
@C.0.937 = internal constant [33 x i8] zeroinitializer
define void @Bork() {
entry:
%Qux = alloca [33 x i8]
%Qux1 = bitcast [33 x i8]* %Qux to i8*
call void @llvm.memcpy.i64( i8* %Qux1, i8* getelementptr ([33
x i8]*
2012 Apr 10
4
[LLVMdev] How to explain this weird phenomenon????????
My friends,
I ran a function pass on a .bc file, intending to insert a CallInst to my self-made check function.
The compilation is successful. BUT after I ran that pass on the .bc file, the size of the file didn't get any bigger!!
Does this mean my instrumentation work failed??
BTW the opt command I use is "opt -load ../../../Debug+Asserts/lib/Hello.so -hello <hello.bc> -o
2015 Nov 13
5
How to efficiently extract the calledFunction from a complex CallInst?
Hi all,
Usually if we want to get the called Function we can directly use
CallInst->getCalledFunction(), however, today i encounter an unusual
CallInst as follows:
%call11 = call double (...)* bitcast (double ()* @quantum_frand to double
(...)*)()
the original C source involve type cast:
float u,v;
extern double quantum_frand();
u = 2 * quantum_frand() - 1;
v = 2 * quantum_frand() -
2016 Mar 18
4
Redundant load in llvm's codegen compares to gcc when accessing escaped pointer?
1. Same question as David, why &c - 8 is invalid? Is it related to below
statements In C99 standard?
6.5.3.3:
"Among the invalid values for dereferencing a pointer by the unary *
operator are a null pointer, an
address inappropriately aligned for the type of object pointed to, and the
address of an object after the
end of its lifetime."
2. We are trying to preserve 1st load and
2019 Dec 05
2
Maybe bug? Using non-integer frequencies in stats::ts
On 05/12/2019 11:00 a.m., Johann R. Kleinbub wrote:
> It's been three months without an answer, is it ok to thread bump?
> Would someone provide a pointer?
I agree it's a bug, and agree with your analysis. You should report it
on bugs.r-project.org. (If you don't have an account there, let us
know, and either someone will give you one, or someone will report it
for you.)
2007 Nov 07
7
[LLVMdev] RFC: llvm-convert.cpp Patch
Hi all,
This patch is to fix a problem on PPC64 where an unaligned memcpy is
generated. The testcase is this:
$ cat testcase.c
void Qux() {
char Bar[11] = {0};
}
What happens is that we produce LLVM code like this:
call void @llvm.memcpy.i64( i8* %event_list2, i8* getelementptr ([11
x i8]* @C.103.30698, i32 0, i32 0), i64 11, i32 8 )
Notice that it has an 8-byte alignment. However, the Bar
2020 Jul 21
2
DW_OP_implicit_pointer design/implementation in general
Realized I didn't document the original reviews that motivated this thread:
A stack of reviews, split off from here: https://reviews.llvm.org/D69787
Alok's posted a new patch (with smaller patches split off from the
monolithic one) here: https://reviews.llvm.org/D84112
I haven't had a chance to page in all the old context, nor look at the
new ones in detail yet. But probably worth
2012 Jan 19
1
[LLVMdev] [cfe-dev] [RFC] Module Flags Metadata
Could you expand on likely uses other than ObjC? For example, should
float ABI (soft/softfp/hard) be conveyed via this mechanism?
deep
On Wed, Jan 18, 2012 at 9:36 PM, Bill Wendling <wendling at apple.com> wrote:
> Hello,
>
> This is a proposal for implementing "module flags". Please take a look at this and give any feedback you may have.
>
> Thanks!
> -bw
>
2013 Apr 26
2
[LLVMdev] CallGraph
Thanks for the response.
I looked and I cannot see what exactly I need. I saw getCalledFunction() so
I need CallSite CS(cast<Value>(II)) where II is a basic block iterator, so
an instruction. It seems not easier than the "unelegant" version....if I am
still at the Instruction level...
I need a method that takes from a "leaf" basic block from a function (Maybe
there is