Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Clang plugin - save metadata"
2012 Apr 21
0
[LLVMdev] Remove function from module
It also occurs on several (different) test cases. I have founded that assershion rises in void ValueHandleBase::ValueIsDeleted(Value *V);
Code from function:
// All callbacks, weak references, and assertingVHs should be dropped by now.
if (V->HasValueHandle) {
#ifndef NDEBUG // Only in +Asserts mode...
dbgs() << "While deleting: " << *V->getType()
2012 Apr 22
2
[LLVMdev] Remove function from module
It is ModulePass with AnalysisUsage of CallGraph
Yours sincerely,
Kadysev Mikhail
22.04.2012, в 5:20, Nick Lewycky написал(а):
> Михаил wrote:
>> Thanks, but I replaceAllUsesWith() - works well, but I still get bug in
>> eraseFromParent():
>>
>> While deleting: i32 (%class.B*, i32)* %_ZN1B1xEi
>> An asserting value handle still pointed to this value!
>>
2012 Apr 21
4
[LLVMdev] Remove function from module
Thanks, but I replaceAllUsesWith() - works well, but I still get bug in eraseFromParent():
While deleting: i32 (%class.B*, i32)* %_ZN1B1xEi
An asserting value handle still pointed to this value!
UNREACHABLE executed at /Users/neonomaly/LLVM/LLVM/lib/VMCore/Value.cpp:561!
Yours sincerely,
Kadysev Mikhail
21.04.2012, в 23:45, Nick Lewycky написал(а):
> Михаил wrote:
>> How correctly
2012 Apr 22
0
[LLVMdev] Remove function from module
Михаил wrote:
> It is ModulePass with AnalysisUsage of CallGraph
Ah, then you'll need to update the CallGraph first. Use
"CG.removeFunctionFromModule(F);" before deleting it.
Nick
> Yours sincerely,
> Kadysev Mikhail
>
> 22.04.2012, в 5:20, Nick Lewycky написал(а):
>
>> Михаил wrote:
>>> Thanks, but I replaceAllUsesWith() - works well, but I still
2012 Apr 22
0
[LLVMdev] Remove function from module
Михаил wrote:
> Thanks, but I replaceAllUsesWith() - works well, but I still get bug in
> eraseFromParent():
>
> While deleting: i32 (%class.B*, i32)* %_ZN1B1xEi
> An asserting value handle still pointed to this value!
> UNREACHABLE executed at /Users/neonomaly/LLVM/LLVM/lib/VMCore/Value.cpp:561!
The replaceAllUsesWith + eraseFromParent pattern remains correct, but
there's
2012 Feb 11
1
[LLVMdev] Clang passes
Hi.
I've tried to search the way to write a pass for clang like a pass for opt, but I haven't find it. Is it possible?
I need to save class inheritance of the program being processed to external file.
Thanks!
Yours sincerely,
Kadysev Mikhail
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2012 Apr 21
3
[LLVMdev] Remove function from module
How correctly remove function from module?
For example:
int f1(int x) {
...
a = f2(smth);
...
}
int f2 (int y) {
...
b = f1(smth);
...
}
I need delete from module both f1 and f2. They haven't uses in other part of module, but I can't delete them with eraseFromParent, because they are use each other.
Yours sincerely,
Kadysev Mikhail
-------------- next part
2012 May 04
2
[LLVMdev] StructTypes into one
Is it possible to merge StructTypes with different names like:
%"class.std::allocator.4" = type { i8 }
%"class.__gnu_cxx::new_allocator.5" = type { i8 }
%"class.std::allocator.0" = type { i8 }
%"class.__gnu_cxx::new_allocator.1" = type { i8 }
%"class.std::allocator.0.6" = type { i8 }
merge into
%"class.__gnu_cxx::new_allocator" = type
2012 Feb 09
1
[LLVMdev] Need Help with StructType inheritance
Hi.
I have such task: to get information about classes of work program (module) form Module (LLVM class), for example in ModulePass. I tried to analyze source code of LLVM architecture related with Module class, but I have not founded any useful information. Thanks!
Yours sincerely,
Kadysev Mikhail
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2012 Apr 01
1
[LLVMdev] Create Instruction
Hi!
I've have Instruction in my code:
...
%call6 = call i32 %9(%class.A* %call3, i32 2)
...
And I want to get something like this:
...
%11 = icmp eq i32 (%class.D*, i32)* %10, @_ZThn4_N1D1xEi
br i1 %11, label %12, label %14
; <label>:12 ; preds = %7
%13 = bitcast %class.A* %call3 to %class.D*
%call64 = call i32
2012 Mar 06
2
[LLVMdev] Work with CallSites
Hi.
I have a test program:
class A {
int A;
public:
virtual void test ( int x ) = 0;
};
class B : public A {
int B;
public:
void test ( int x ) {};
};
int main() {
A *a = new B();
a->test(1);
}
We have call site CS: "a->test(1);". CS.getCalledFunction() - return NULL, so we can say that this call site is virtual. My optimization determines, that in this call site
2012 Mar 02
1
[LLVMdev] IR + Module Pass
Hi.
Can I know that in Module *M Function* F is a method of StructType *st? Also can I know that in this StructType the F has mark "virtual"?
Thanks!
Yours sincerely,
Kadysev Mikhail
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120302/5c77c3ee/attachment.html>
2012 Apr 19
1
[LLVMdev] Switch + Addresses of functions
Is it possible to use address of function in case block of switch instruction? I understand that it should be constants only, but in llvm reference i founded that: "The addresses of global variables and functions are always implicitly valid (link-time) constants. "
Yours sincerely,
Kadysev Mikhail
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2012 Apr 19
1
[LLVMdev] VTable Method Index
Virtual call translates into IR like this:
%0 = bitcast %class.A* %call to i32 (%class.A*, i32)***
%vtable = load i32 (%class.A*, i32)*** %0
%vfn = getelementptr inbounds i32 (%class.A*, i32)** %vtable, i64 0
%1 = load i32 (%class.A*, i32)** %vfn
Is it possible to map pair [StructType, methodIndex(i64 0 in example)] into Function?
Yours sincerely,
Kadysev Mikhail
-------------- next
2012 May 04
1
[LLVMdev] StructTypes into one
I have such problem with linking represented files.... llvm-link 1.bc 2.bc
-o 3.bc
2012/5/4 Duncan Sands <baldrick at free.fr>
> Hi Михаил,
>
> > Is it possible to merge StructTypes with different names like:
> >
> > %"class.std::allocator.4" = type { i8 }
> > %"class.__gnu_cxx::new_allocator.5" = type { i8 }
> >
2012 Apr 21
0
[LLVMdev] Remove function from module
Михаил wrote:
> How correctly remove function from module?
> For example:
>
> int f1(int x) {
> ...
> a = f2(smth);
> ...
> }
> int f2 (int y) {
> ...
> b = f1(smth);
> ...
> }
>
> I need delete from module both f1 and f2. They haven't uses in other
> part of module, but I can't delete them with eraseFromParent, because
> they are use each
2015 Jan 14
2
[LLVMdev] Crash on invalid during LLVMContext destruction MDNode::dropAllReferences
On Wed, Jan 14, 2015 at 9:05 AM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:
>
> > On 2015 Jan 14, at 07:58, Duncan P. N. Exon Smith <dexonsmith at apple.com>
> wrote:
> >
> >>
> >> On 2015 Jan 13, at 23:59, David Blaikie <dblaikie at gmail.com> wrote:
> >>
> >>
> >>
> >> On Tue, Jan 13, 2015
2016 Jan 22
2
Clang 3.8 fails with asan enabled
Kostya, all,
I'm trying to build my project by clang 3.8rc1 with enabled asan (clang
itself is address sanitized) and it fails on several files from my project
(ISPC, https://github.com/ispc/ispc). I've reproduced this on MacOS and
Linux.
Please let me know if you need any other info.
How to reproduce:
1) Build address sanitized clang 3.8rc1:
cd /path-to-working-dir
svn co
2012 May 04
0
[LLVMdev] Getting Metadata
Hi.
I have strange case:
This is a code for getting metadata from callsite:
....
CallSite CS(cast<Value>(I->first));
SmallVector<std::pair<unsigned int, MDNode*> , 4> MD;
CS.getInstruction()->getAllMetadata(MD);
CS.getInstruction()->dump();
for (SmallVector<std::pair<unsigned int, MDNode*> , 4>::iterator md = MD.begin(); md!=MD.end(); md++)
2012 Mar 14
0
[LLVMdev] llvm-config --cxxflags does not give the result the configuration script wants?
Jun-qi Deng <dengjunqi06323011 at gmail.com> writes:
> I got your point. Thank you, and I'd like to provide the relative message
> now. But firstly, what do you mean by the "relevant command generated by
> your makefile"? What I can tell you now is:
>
> The Error Message:
> make[3]: Entering directory `/home/tang.kk/ppcg/ppcg/isl/interface'
> CXXLD