-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CodeGen] Disable -mfloat-abi hard option for LLVM < 6.0 #4071
Conversation
The -mfloat-abi hard option does not work for LLVM < 6.0 as it is ignored. This adds a fatal error when using unsupported LLVM versions so that the failure is not silent.
Thanks @mbarrett97 ! |
@mbarrett97 which LLVM version works with -mfloat-abi hard option. I use LLVM 8.0 with "mfloat-abi=hard", the result was still not as expected. |
In what way was it unexpected? If you print out the assembly source are the correct registers being used? |
@mbarrett97 the output, test mobile-net, same input but the output don't match with the tflite's result (verify by np.testing.assert_allclose()). |
@mbarrett97 test LLVM6.0,8.0,9.0, all failed, it cause by op depthwise_conv2d_nchw. but not failed everytime, also relate to the schedule config. |
This issue was specifically related to a problem in the LLVM compilation which resulted in layers such as softmax giving nonsense results. It was fully resolved for me by upgrading from LLVM 4.0 to LLVM 6.0 for all the networks I tested. I wouldn't expect this issue to affect depthwise_conv2d, so it sounds like you have a different problem. |
The -mfloat-abi hard option does not work for LLVM < 6.0 as it is ignored. This adds a fatal error when using unsupported LLVM versions so that the failure is not silent.
The -mfloat-abi hard option does not work for LLVM < 6.0 as it is ignored. This adds a fatal error when using unsupported LLVM versions so that the failure is not silent.
The -mfloat-abi hard option does not work for LLVM < 6.0 as it is ignored. This adds a fatal error when using unsupported LLVM versions so that the failure
is not silent.