Ramana Radhakrishnan <ramana.radhakrish...@linaro.org> writes: > While the ARM backend doesn't support hot cold partitioning of basic blocks > because of issues with the mini-pool placements, I suspect > this by itself is a good cleanup. The bits of the use that I'm not > convinced about > yet are the changes of optimize_size in thumb_legitimize_address > to optimize_insn_for_size_p and I'm looking for some comments there.
I'm not sure it's correct for the define_insns either. I think it can only be called during passes that produce new code, and which explicitly set the global state appropriately (e.g. expand, split and peephole2). I might be wrong, but as things stand, I don't think you can guarantee that the global state describes the insn under test every time that recog is called. For existing insns, I think optimize_bb_for_speed_p (BLOCK_FOR_INSN (insn)) is the canonical check. Richard