Dear all, Attached please find my revised patch to the RTL if converter. This patch enables the if-conversion of half-hammocks with a store in them that the internal GCC machinery otherwise considers too hazardous to if-convert. This is made safe by using the "scratchpad" technique, i.e. throwing away the store into a safe location where nothing of any importance is currently stored. The scratchpads are allocated in the stack frame. Here is an example of code which is newly converted with this patch, at least when targeting AArch64: int A[10]; void half_hammock() { if (A[0]) A[1] = 2; } Both tested against trunk and bootstrapped OK with defaults* on AMD64-AKA-"x86_64" GNU/Linux. '*': [except for "--prefix"] I`m sending the patch as an attachment to avoid it being corrupted/reformatted by any e-mail troubles. I look forward to your feedback. Regards, Abe