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?