https://bugs.kde.org/show_bug.cgi?id=417187

--- Comment #14 from Stefan Maksimovic <stefan.maksimo...@rt-rk.com> ---
Created attachment 126546
  --> https://bugs.kde.org/attachment.cgi?id=126546&action=edit
branch special case patch

Another update:

Analyzing the mips and the x86 debug output side by side we noticed the
following:

The fallthrough blocks in the main function differ by x86 having an
unconditional jump,
which when translated to IR results in a single PUT(PC) instruction.

Mips on the other hand uses a conditional branch instruction with parameters
set so as to
always take one of the two paths, making the jump effectively unconditional.
By using a conditional branch a conditional PUT(PC) was generated in the IR
which enabled
the &&-transform to take place, resulting in the outcome described in previous
comments.

Attached patch modifies this special case of the branch instruction by not
generating
conditional PUTs to PC. Having applied this change the &&-transform does not
take place
in the main function, much like in the x86 case.

This fixes a number of failing tests on our side.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to