On Tue, 30 Jun 2015, Marc Glisse wrote: > On Tue, 30 Jun 2015, Marek Polacek wrote: > > > This moves a simple optimization. Here it's plain to see how :c > > removes the need to duplicate code to handle commutativity. > > Note that the same transformation would work for plus and xor. > > > I put some more converts into the pattern, but then it's turned > > out that I also need the tree_nop_conversion_p (otherwise we'd > > regress binop-notor2.c that uses booleans). > > I don't really see why removing tree_nop_conversion_p would regress anything > (though you would probably need to build the all_ones constant in TREE_TYPE > (@0) and convert that to type). For my curiosity, could you explain a bit > more?
what fold-const.c did was certainly ensuring tree_nop_conversion_p but indeed I also can't see why it should be necessary. Marek said for bools, but they are just signed one-bit precision entities... Richard.