This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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] |
Ah, yes, I remember that discussion now. Ignore my concerns :-)
However, from the wiki page I see: "A speculative load which has its results thrown away are considered to not have changed the semantics of the program, and are therefore allowed." That seems to cover the case here: the load is hoisted, but if the path where it was originally loaded is not executed, its result is discarded.
I think the flags are something like -fallow-load-data-races -fallow-store-data-races and the like.
If needed, though, what flags/detection mechanisms are available for determining that the load speculation should be disabled?
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |