Commit 8b0cea6a authored by Michael Beck's avatar Michael Beck
Browse files

- fix for r21852: do not remove ALL Conv optimizations,

  yust those that causing a problem (Conv to mode_b leading to Phib)

[r21863]
parent 282f5a2e
......@@ -5281,9 +5281,16 @@ static ir_node *transform_node_Conv(ir_node *n) {
ir_node *c, *oldn = n;
ir_node *a = get_Conv_op(n);
if (is_Phi(a)) {
// let deconv do this
return n;
if (get_irn_mode(n) != mode_b && is_const_Phi(a)) {
/* Do NOT optimize mode_b Conv's, this leads to remaining
* Phib nodes later, because the conv_b_lower operation
* is instantly reverted, when it tries to insert a Convb.
*/
c = apply_conv_on_phi(a, get_irn_mode(n));
if (c) {
DBG_OPT_ALGSIM0(oldn, c, FS_OPT_CONST_PHI);
return c;
}
}
if (is_Unknown(a)) { /* Conv_A(Unknown_B) -> Unknown_A */
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment