similar to: [LLVMdev] Function and inheritance

Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] Function and inheritance"

2012 Apr 09
0
[LLVMdev] Function and inheritance
Hello again, So, after some changes, I inserted intentionally values with use in other modules, and I get the following error: While deleting: i1 % Use still stuck around after Def is destroyed: %c = phi i1 [ false, <badref> ] [...] Assertion failed: (use_empty() && "Uses remain when a value is destroyed!"), function ~Value, file
2013 Jun 25
4
[LLVMdev] get value
Hi Cristianno, Thank you, it works :) with an extra cast:                                     Value *v ......                                     ConstantInt* RR = (ConstantInt *)v;                                     uint64_t VV = (RR->getValue()).getLimitedValue();                                     errs()<<"\nRR  "<<VV<<"\n";
2013 May 31
2
[LLVMdev] Dead Code Elimination and undef values
Hello there, I'm writing a transformation pass for LLVM, and I hoped to use dce to clean up the resulting code after my pass. I just have some questions about LLVM's dce implementation. Well, my transformation is a function pass, and, after the changes are made, some instructions are not needed anymore. In order to easily get rid of those instructions, I'm setting all their uses to
2012 Apr 04
2
[LLVMdev] BasicBlock predecessors list
Hi there, I'm trying to get a list of predecessors of a BasicBlock. I'm using a code similar to that on here (http://llvm.org/docs/ProgrammersManual.html#iterate_preds), but it appears to be more nodes been iterating that it should. Now, when I print out the llvm IR, I get something like: […] while.body: ; preds = %7, %while.cond […] for a code that
2013 Jun 01
0
[LLVMdev] Dead Code Elimination and undef values
Hi Cristianno, On 01/06/13 01:49, Cristianno Martins wrote: > Hello there, > > I'm writing a transformation pass for LLVM, and I hoped to use dce to clean up > the resulting code after my pass. I just have some questions about LLVM's dce > implementation. > > Well, my transformation is a function pass, and, after the changes are made, > some instructions are not
2013 Jun 25
0
[LLVMdev] get value
Oops, that's true: I forgot about that XD sorry =) Glad I could help, -- Cristianno Martins PhD Student of Computer Science University of Campinas cmartins at ic.unicamp.br <cristiannomartins at hotmail.com> On Tue, Jun 25, 2013 at 4:38 AM, Alexandru Ionut Diaconescu < cyrusthevirus001x at yahoo.com> wrote: > Hi Cristianno, > > Thank you, it works :) > > with
2012 Apr 04
0
[LLVMdev] BasicBlock predecessors list
Hi Cristianno, > I'm trying to get a list of predecessors of a BasicBlock. I'm using a code > similar to that on here > <http://llvm.org/docs/ProgrammersManual.html#iterate_preds>, but it appears to > be more nodes been iterating that it should. Now, when I print out the llvm IR, > I get something like: > […] > while.body: ; preds = %7, %while.cond > […] >
2015 May 06
3
[LLVMdev] (Possibly buggy?) doFinalization method behavior of FunctionPass
Hello there, I'm writing some LLVM passes, and just ran into an interesting situation: now, I don't know if I misunderstood the way doFinalization is supposed to work, but I hope someone could help =) One of the transformations I wrote needed to replace some instructions within the code, so I needed to clean up the code after the process was completed. The pass basically swapped some
2012 Mar 05
3
[LLVMdev] Problem using march=c
Hello everyone, I've been trying to generate a C file using the llc tool, but I'm having a problem. I'm using a single Hello World program in C, and executing the following passes: clang -emit-llvm -c -o hello.bc hello.c  # getting the bit code of hello.c llc -march=c hello.bc                          # generating the hello.cbe.c file using the llvm C backend So far, nothing weird
2015 May 06
3
[LLVMdev] (Possibly buggy?) doFinalization method behavior of FunctionPass
Hello again, First of all, thanks for all the answers =) they really helped a lot =D *Have you verified that some other pass is not adding the function declarations back in after your pass is executed (e.g., by using the -debug-pass=Executions argument to see what passes run after your pass)?* I considered that for a moment, but I realized that wouldn't be possible for two reasons: I
2012 Mar 05
1
[LLVMdev] Problem using march=c
Hello again, Thanks for the responses =) Dmitry, I have two points to comment: - First, I applied these two patches, and the .cbe.c file came out ok, except for one little thing -- the global variable was created with both modifiers: static and extern. Then, I just added a single guard to prevent this to happen (in a case of a variable having local linkage, the "extern" part was not
2013 Jun 26
0
[LLVMdev] get value
Alexandru Ionut Diaconescu wrote: > Hi Cristianno, > > Thank you, it works :) > > with an extra cast: > Value *v ...... > ConstantInt* RR = (ConstantInt *)v; Please use "cast<ConstantInt>(v)" instead. See http://llvm.org/docs/ProgrammersManual.html#the-isa-cast-and-dyn-cast-templates . Nick > uint64_t VV = (RR->getValue()).getLimitedValue(); >
2013 Jun 25
2
[LLVMdev] get value
Hello ! This may be a trivial question, but I cannot get fields from a Value type. If my Value is i32 1, how can I store 1 in a different structure (an integer) ? For the type, I have getType(). For the value, I see no method in Value.h. I tried to cast to ConstantExpr and then to get operands, or cast to ConstantDataArray and then use getAsString(), but is not working. How should I get the
2012 Mar 05
0
[LLVMdev] Problem using march=c
Hi Cristianno, This problem has been around for a while, ourselves we solve it with the following patches: https://hpcforge.org/scm/viewvc.php/trunk/patches/llvm.gpu.patch?root=kernelgen&view=markup https://hpcforge.org/scm/viewvc.php/trunk/patches/llvm.patch?revision=591&root=kernelgen&view=markup Please feel free to apply them, they *should* work for you even with the latest llvm
2013 Jul 10
2
[LLVMdev] Problem Adding New Pass to Alias Analysis Group
Dear All, I'm trying to add a new alias analysis to the alias analysis group in LLVM 3.2. This new pass is linked statically into a tool that lives outside the LLVM source tree, so I'm trying to avoid making patches to the LLVM sources. I've added the INITIALIZE_AG_PASS_BEGIN() and INITIALIZE_AG_PASS_END() code to the pass, manually scheduled it before the
2013 May 14
2
[LLVMdev] Queue implementation is being trapped
Hello there, I'm trying to use a simple implementation of a queue (my own implementation of it, actually), and I'm trying to use the functions defined on my queue class inside some llvm-ir code. Unfortunately, the names of the functions are being messed up, then I created some function wrappers just to avoid having to deal with the C++ weird function renaming. So, to easily wrapper the
2012 Apr 26
2
[LLVMdev] Detect if a basicblock is part of a loop
Hi Rinaldini, In order to find information about loops inside a given function you should use something like "LoopInfo *LI = P->getAnalysis<LoopInfo>()", remembering to add "AU.addRequired<LoopInfo>();" to your getAnalysisUsage method. If the function you are interested to is not located in the module being compiled (if you created it as an auxiliary function,
2015 May 06
5
[LLVMdev] (Possibly buggy?) doFinalization method behavior of FunctionPass
On 5/6/15 10:19 AM, Kuperstein, Michael M wrote: > > Hello Cristiano, > > I don’t think doFinalization() is really meant to be used this way. > My understanding is that doInitialization() and doFinalization() are designed specifically for modifying the LLVM IR (otherwise, why would a mutable reference to the Function be provided)? If that is not the case, then there is either a
2016 Jun 23
4
[cfe-dev] clang++ build from source is not able to find C++ headers
Hi Vivek, you can also include these lines below to your ~/.bash_profile: LLVM_BUILD="/Developer/llvm/build" # Path to your build directory alias new-clang="$LLVM_BUILD/bin/clang -Wno-expansion-to-defined -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include" alias new-clang++="$LLVM_BUILD/bin/clang++
2013 Jun 25
0
[LLVMdev] get value
Hi Alexandru, if you have a Value pointer named v, you could use the method v->getValue(). getLimitedValue(), which returns uint64_t, that can be casted as int. Hope I could help, -- Cristianno Martins PhD Student of Computer Science University of Campinas cmartins at ic.unicamp.br <cristiannomartins at hotmail.com> On Tue, Jun 25, 2013 at 4:05 AM, Alexandru Ionut Diaconescu <