Displaying 8 results from an estimated 8 matches for "dnicacio".
Did you mean:
nicacio
2011 Jul 27
2
[LLVMdev] XOR Optimization
...ne knows which function gives the information that for 32 unrolled
steps it is possible to optimize but not for smaller numbers?
I also would like to see why the "XOR A, -1" is not turned into a NOT, any
hints on that are welcome.
Thanks,
Daniel Nicacio
2011/7/26 Daniel Nicácio <dnicacios at gmail.com>
> Hi Duncan,
>
> when I run "opt -std-compile-opts" on the original source code it has the
> same output of O3.
> when I run "opt -std-compile-opts" on the -O3 optimized code, things get
> even more weird, it outputs the following code:
>...
2011 Jul 27
0
[LLVMdev] XOR Optimization
2011/7/26 Daniel Nicácio <dnicacios at gmail.com>:
>
> I also would like to see why the "XOR A, -1" is not turned into a NOT, any
>
Probably because NOT (like NEG) doesn't exist :)
<http://llvm.org/docs/LangRef.html#instref>
I assume the decision was made that it wasn't worth adding the extra...
2011 Jul 28
1
[LLVMdev] XOR Optimization
Hey guys,
I still think there is no optimization doing what I want. When the loop is
unrolled 32 times, llvm is able to identify that the loop is working on a
whole word, it finds some constants and propagate them, resulting in the
folded XOR instruction. However, when the loop operates on some bits of the
word, llvm is still not able to fold those XOR, even when the operated bits
does not
2011 Jul 26
0
[LLVMdev] XOR Optimization
Hi Duncan,
when I run "opt -std-compile-opts" on the original source code it has the
same output of O3.
when I run "opt -std-compile-opts" on the -O3 optimized code, things get
even more weird, it outputs the following code:
while.body: ; preds = %while.body,
%entry
%indvar = phi i32 [ 0, %entry ], [ %indvar.next.3, %while.body ]
%tmp
2011 Jul 26
2
[LLVMdev] XOR Optimization
Hi Daniel,
> Precisely. The code generated by unrolling can be folded into a single XOR and
> SHL. And even if it was not inside a loop, it can still be optimized. What I
> want to know is: is there any optimization supposed to optimize this code, but
> for some reason it thinks it is not possible, or there is no optimization for
> that situation at all?
it could be a phase
2011 Jul 26
0
[LLVMdev] XOR Optimization
"The fact that the loop is unrolled explains why the XORs, SHLs, and ORs are
not folded into 1."
I dont see why the unrolling explains it.
"I think he is trying to say this expression generated by unrolling by a
factor of 4 can indeed be folded into a single XOR, SHL and OR. "
Precisely. The code generated by unrolling can be folded into a single XOR
and SHL. And even if it
2011 Jul 26
2
[LLVMdev] XOR optimization
Hi folks,
I couldn't find a specific XOR (OR and AND) optimization on llvm, and
therefore I am about to implement it.
But first I would like to check with you guys that it really does not exist.
For a simple loop like this:
nbits = 128;
bit_addr = 0;
while(nbits--)
{
bindex=bit_addr>>5; /* Index is number /32 */
bitnumb=bit_addr % 32; /* Bit number in longword */
2011 Apr 05
0
[LLVMdev] GSoC 2011: Building and Executing Traces on LLVM
Hi folks, I am going to submit a project to Google Summer of Code, the
Project is below to anyone it might interest. Any critics and suggestions
are welcome.
If anyone is interested mentoring this project please contact me.
Building and Executing Traces on LLVM
Daniel Nicacio
IC-UNICAMP, Brazil
April 5, 2011
1 Objective
The objective of this project is to augment LLVM with dynamic pro
ling