Displaying 10 results from an estimated 10 matches for "cmplwi".
2013 Apr 10
3
[LLVMdev] If Conversion and predicated returns
Evan, et al.,
I've come across a small issue when using the if conversion pass in PPC to generate conditional returns. Here's a small example:
** Before if conversion **
BB#0: derived from LLVM BB %entry
%R3<def> = LI 0
%CR0<def> = CMPLWI %R3, 0
BCC 68, %CR0, <BB#3>
Successors according to CFG: BB#3(16) BB#1(16)
BB#1: derived from LLVM BB %while.body.lr.ph
Live Ins: %R3
Predecessors according to CFG: BB#0
%CR0<def> = CMPLWI %R3<kill>, 0
BCC 68, %CR0, <BB#3>
Successors...
2016 Sep 07
2
[PowerPC] Recent branch too far breakage
...r-84c835.s:7671: Error: operand out of range
(0x0000000000008004 is not between 0xffffffffffff8000 and
0x0000000000007ffc)
The offending line is the bne branch in this snippet:
.LBB24_787:
ld 3, 16(29)
ld 4, 24(29)
sub 4, 4, 3
rldicl 4, 4, 60, 4
cmplwi 0, 4, 3
bne 0, .LBB24_2630
Could this be because of a recent change in the PowerPC code generator
or just because PPCInstPrinter.cpp changed a bit and exposed a
pre-existing bug?
-Rich
2008 Jun 11
0
[LLVMdev] Possible miscompilation?
On 2008-06-11, at 13:16, Gary Benson wrote:
> Duncan Sands wrote:
>
>> Can you please attach IR which can be compiled to an executable
>> (and shows the problem).
>
> I've been generating functions using a builder and then compiling
> them with ExecutionEngine::getPointerToFunction(). Is there some way
> I can get compilable IR from that?
2006 Mar 17
3
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
...ubyte 97, label %ret_true
ubyte 98, label %ret_true
]
Unfortunately, this generates really weird code on the LLVM 1.6
PowerPC backend:
LBB_matches_1: ; regex6
lbz r4, 0(r3)
LBB_matches_2: ; NodeBlock
rlwinm r5, r4, 0, 24, 31
cmplwi cr0, r5, 98
blt cr0, LBB_matches_4 ; LeafBlock
LBB_matches_3: ; LeafBlock1
rlwinm r4, r4, 0, 24, 31
cmpwi cr0, r4, 98
beq cr0, LBB_matches_8 ; ret_true
b LBB_matches_5 ; NewDefault
LBB_matches_4: ; LeafBlock
rlwinm r4, r4, 0, 24, 31...
2008 Jun 11
2
[LLVMdev] Possible miscompilation?
Duncan Sands wrote:
> Can you please attach IR which can be compiled
> to an executable (and shows the problem).
I've been generating functions using a builder and then
compiling them with ExecutionEngine::getPointerToFunction().
Is there some way I can get compilable IR from that?
Cheers,
Gary
--
http://gbenson.net/
2016 Sep 07
2
[PowerPC] Recent branch too far breakage
...and
> > 0x0000000000007ffc)
> >
> > The offending line is the bne branch in this snippet:
> >
> > .LBB24_787:
> > ld 3, 16(29)
> > ld 4, 24(29)
> > sub 4, 4, 3
> > rldicl 4, 4, 60, 4
> > cmplwi 0, 4, 3
> > bne 0, .LBB24_2630
> >
> > Could this be because of a recent change in the PowerPC code
> > generator
> > or just because PPCInstPrinter.cpp changed a bit and exposed a
> > pre-existing bug?
> >
> >
> > -Rich
> &g...
2008 Jun 12
4
[LLVMdev] Possible miscompilation?
...4, 26
2652: bl print_value
2653: la 3, dump57 at l(13)
2654: mr 4, 27
2655: bl print_value
2656: ori 4, 21, 7712
2657: li 3, 634
2658: bl trace_bytecode
2659: lis 3, 4031
2660: lwz 3, -12952(3)
2661: cmplwi 0, 3, 1
2662: beq 0, BB10_218 # do_safepoint
2663: BB10_41: # safepointed
2664: cmpw 0, 27, 26
2665: bge 0, BB10_169 # bci_637
2666: BB10_42: # bci_132
2667: lis 21, 3984
2668: ori 4, 21, 6756
2669: li 3, 132
2670:...
2006 Mar 17
0
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
On Mar 17, 2006, at 7:54 AM, Eric Kidd wrote:
> Unfortunately, this generates really weird code on the LLVM 1.6
> PowerPC backend:
>
> LBB_matches_1: ; regex6
> lbz r4, 0(r3)
> LBB_matches_2: ; NodeBlock
> rlwinm r5, r4, 0, 24, 31
> cmplwi cr0, r5, 98
> blt cr0, LBB_matches_4 ; LeafBlock
> LBB_matches_3: ; LeafBlock1
> rlwinm r4, r4, 0, 24, 31
> cmpwi cr0, r4, 98
> beq cr0, LBB_matches_8 ; ret_true
> b LBB_matches_5 ; NewDefault
> LBB_matches_4: ; LeafBlock
>...
2006 Mar 17
0
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
On Thu, 16 Mar 2006, Eric Kidd wrote:
> Hello! I'm compiling code which uses pointers as iterators. For some
> reason--probably a silly misunderstanding of the docs--I can't eliminate
> duplicate pointer loads. I'll probably figure this out eventually, but if
> somebody else sees the answer instantly, I certainly won't complain. :-)
There are no stupid questions.
2006 Mar 16
2
[LLVMdev] Stupid '-load-vn -licm' question (LLVM 1.6)
Hello! I'm compiling code which uses pointers as iterators. For some
reason--probably a silly misunderstanding of the docs--I can't
eliminate duplicate pointer loads. I'll probably figure this out
eventually, but if somebody else sees the answer instantly, I
certainly won't complain. :-)
Here are the optimizers I'm running:
opt -f -simplifycfg -dce -instcombine