This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] powerpc: Fix POWER7/PPC64 performance regression on LE


On 01/13/2015 11:43 AM, Adhemerval Zanella wrote:
> +	std	rWORD8, rWORD8SAVE(r1)
> +	cfi_offset(rWORD8, rWORD8SAVE)
> +	std	rWORD7, rWORD7SAVE(r1)
> +	cfi_offset(rWORD7, rWORD7SAVE)
> +	std	rOFF8, rOFF8SAVE(r1)
> +	cfi_offset(rWORD7, rOFF8SAVE)
> +	std	rOFF16, rOFF16SAVE(r1)
> +	cfi_offset(rWORD7, rOFF16SAVE)
> +	std	rOFF24, rOFF24SAVE(r1)
> +	cfi_offset(rWORD7, rOFF24SAVE)
> +	std	rOFF32, rOFF32SAVE(r1)
> +	cfi_offset(rWORD7, rOFF32SAVE)

Given a sequence of stores like this, it's better to
put all of the cfi_offset annotations after the last store.

By interspersing them like this, you're just adding unnecessary
DW_CFA_advance opcodes to the unwind info.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]