[PATCH] D45576: [RFC] Allow target to handle STRICT floating-point nodes
Cameron McInally via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 27 09:32:34 PDT 2018
cameron.mcinally added a comment.
The patterns look great. I'm still not comfortable enough to review the target-independent changes, so will leave that to someone else.
The FPC register use on non-strict operations may be overly restrictive though. Here's a pathological test case to illustrate:
void foo(int a, int b) {
while(something) {
call_that_may_modify_FPC();
int x = a / b;
use(x);
}
}
Since a and b are local to the function, the *non-strict* DIV could be hoisted out of the loop. If we assume that calls implicitly define FPC, which I think we must to model global state, wouldn't that prevent the hoist of this non-strict DIV?
Repository:
rL LLVM
https://reviews.llvm.org/D45576
More information about the llvm-commits
mailing list