Displaying 20 results from an estimated 5000 matches similar to: "[LLVMdev] Dead Code Elimination and undef values"
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
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 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
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
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();
>
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
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
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 08
2
[LLVMdev] Function and inheritance
Hello guys,
So, I'm stucked in a problem involving a Function and a derived class. Well, I was refactoring part of my pass code, and created two classes in this process that are interesting here: class A and class B. Class B inherits from class A; on the other hand, class A has some pure virtual methods (already implemented in class B), and a Module, that holds only one auxiliary function (a
2013 May 14
0
[LLVMdev] Queue implementation is being trapped
On Tue, May 14, 2013 at 11:42 AM, Cristianno Martins <
cristiannomartins at gmail.com> wrote:
> 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,
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
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,
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++
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
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 <
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 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 Jun 06
3
[LLVMdev] CFG of a function
I think I understood that, but what I mean is what is the function
responsible to do mapping is it MapValue() in ValueMapper.h?
Thanks for your help
On 6 June 2013 09:54, Alexandru Ionut Diaconescu <
alexandruionutdiaconescu at gmail.com> wrote:
> Map every basic block from the CFG to a set of integers. The successors
> from the CFG can be used to make the edges in your simplified
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
2012 Apr 26
0
[LLVMdev] Detect if a basicblock is part of a loop
Hi,
Depending on what have run before your pass, the loop may have been unrolled or simplified if the computation inside the loop is too simple.
Cheers,
--
Arnaud de Grandmaison
________________________________________
From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] On Behalf Of Cristianno Martins [cristiannomartins at gmail.com]
Sent: Thursday, April 26, 2012 5:52 PM
To: