This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

difference between 'loop carried dependency bound' and the 'life' in 'register is live too long' message

What is the difference between loop carried dependency bound and the 'life' in 'register is live too long' message ? And is there any way by which the compiler can tell me which all registers are live too long?

  • Hi Govind,

    I think the difference between them is 

    Register is Live Too Long - Lifetime of a register is determined by the cycle a value is written into it and by the last cycle this value is read by another instruction, a variable can never be live longer than the ii (Number of cycles) of the loop, to see why this is happening check section 4.3.8 in spru198k.pdf - TMS320C6000 Programer's Guide

    loop carried dependency bound - A loop carry path occurs when one iteration of a loop writes a value that must be read in a future iteration

    So the difference is the the same iteration for the "Register is Live Too Long" and cross iterations "loop carried dependency bound"

    Thanks,

    Haim