search for: neonomaly

Displaying 19 results from an estimated 19 matches for "neonomaly".

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 remove function from module? >> For example: >> >> int f1(int x) { >> ... >> a = f2(smth); >> ... &gt...
2012 Apr 21
0
[LLVMdev] Remove function from module
...llvm_unreachable("All references to V were not removed?"); } Yours sincerely, Kadysev Mikhail 22.04.2012, в 1:41, Dmitry N. Mikushin написал(а): > Assertion occurs on some different test case? Could you attach its IR-code? > > 22 апреля 2012 г. 1:38 пользователь Михаил <neonomaly.x at gmail.com> написал: >> Yes >> >> Yours sincerely, >> Kadysev Mikhail >> >> 22.04.2012, в 0:30, Dmitry N. Mikushin написал(а): >> >> Could you reproduce this assertion with my test program? >> >> 22 апреля 2012 г. 0:09 пользоват...
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 more to the story than the parts we've focused on. This error means that there's some other code that is holding a pointer to the function you tried to delete, but is us...
2012 Apr 22
2
[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 more to the story than the parts we've focused on. This error means that there's some other code that is holding a pointer to the function you tried to delete, bu...
2012 Apr 22
0
[LLVMdev] Remove function from module
...ks, 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 more to the story than the parts we've focused on. This error >> means that there's some other code that is holding a pointer to the >&gt...
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
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
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 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 Feb 25
0
[LLVMdev] Clang plugin - save metadata
Hi! I've tried to write a plugin for clang using an example. class PrintInheritanceConsumer : public ASTConsumer { public: virtual void HandleTopLevelDecl(DeclGroupRef DG) { ......... } }; I need to save Metadata for Type or Module into IR, but I can't find a way to do this, can you help me? Thanks! Yours sincerely, Kadysev Mikhail -------------- next part -------------- An HTML
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 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 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] Linking
Hi. I have 2 byte code files with 2 exactly same StructTypes. Is it possible to use some argument of llvm-link for getting result bytecode with one StructType for bytecodes, not two types like Type and Type.<some number>? С уважением, Кадысев Михаил -------------- next part -------------- An HTML attachment was scrubbed... URL:
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 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 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 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