Details
Details
- Reviewers
arsenm
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Needs tests. Bitreverse is definitely OK, but I'm not sure about sin/cos. The math function handling is a mess and they might need to be assumed to set errno (although I don't see why this is the case since the libcall can work for targets with this problem)
Comment Actions
I'd also like to mark UDiv, URem, SDiv, SRem, exp2, log2, pow, and at least 14 AMDGPU intrinsics as speculatively-executable.
All of those have no side effects on AMDGPU. Right now, we are losing some performance here.
Comment Actions
The divisions can't be speculated because divide by 0 is undefined behavior. The AMDGPU intrinsics and bitreverse are now speculatable