views:

40

answers:

1

Hi all,

I have a quite general question regarding false dependencies. As the name implies, these are not real dependencies and can be eliminated. I am aware of the technique called register renaming that eliminates such dependencies at a hardware level. Of course I could eliminate these beforehand at a "higher" level when writing assembler code that avoids false dependencies.

But now I am wondering whether the compiler also provides support to keep the number of false dependencies low, or whether it relies more on the hardware to eliminate them?

+1  A: 

Optimizing compilers do something like this through the use of a program representation called Single Static Assignment (SSA)...

vicatcu