Sebastian Pop via llvm-dev
2016-Oct-31 20:20 UTC
[llvm-dev] [test-suite] Fix for CFLAGS="-ffp-contract=on"
Renato, I see that you were not on CC to the following email thread. I would appreciate if you could provide some guidance on how to fix the test-suite. On Mon, Oct 24, 2016 at 3:08 PM, Sebastian Pop <sebpop at gmail.com> wrote:> On Thu, Oct 20, 2016 at 5:59 PM, Renato Golin <renato.golin at linaro.org> wrote: >> So, let's separate the FP_CONTRACT from the FAST_MATH problems, and solve them separately, in separate patches. > > Agreed. > >> >> We may want to avoid some tests with -Ofast or -ffast-math, but we don't want to avoid them with -ffp-contract, at least not as a first attempt. > > Agreed. > >> So, remove any trace of fp-contract from this patch and let's look at it from a fast-math perspective. Then we'll look at the fp problem in a separate patch, which should not be similar to this one as a first attempt, but something similar to what Sebastian did on his Polybench patch. >> > > Out of the failing tests reported by the bot on aarch64 with the FP > Contract patch, > the Polybench should be fixed now, and there are 5 more tests failing: > > - MultiSource/Applications/oggenc: 48326 LoC > I think this one we should avoid touching: it is way too large at 50K > lines of code... > Renato, do you agree to add "-ffp-contract=off" to the CFLAGS for oggenc? > > The other 4 seem to be "fixable" the way we fixed Polybench: > - MultiSource/Benchmarks/MiBench/telecomm-FFT 288 LoC > - MultiSource/Benchmarks/VersaBench/beamformer 279 LoC > - SingleSource/Benchmarks/Linpack 586 LoC > - SingleSource/Benchmarks/Misc-C++/Large/sphereflake.cpp 224 LoC > > I will submit separate patches for each of these 4. > Renato, do you agree that this is a reasonable way to fix the > test-suite when compiled with -ffp-contract=on? > > Thanks, > SebastianOn Mon, Oct 24, 2016 at 3:08 PM, Sebastian Pop <sebpop at gmail.com> wrote:> - MultiSource/Benchmarks/MiBench/telecomm-FFT 288 LoChttps://reviews.llvm.org/D25924> - MultiSource/Benchmarks/VersaBench/beamformer 279 LoChttps://reviews.llvm.org/D25923> - SingleSource/Benchmarks/Linpack 586 LoC > - SingleSource/Benchmarks/Misc-C++/Large/sphereflake.cpp 224 LoCThese two are harder.
Apparently Analagous Threads
- [RFC] FP contract = on
- [LLVMdev] Enabling the SLP-vectorizer by default for -O3
- [LLVMdev] Enabling the SLP-vectorizer by default for -O3
- Compare test-suite benchmarks performance complied without TBAA, with default TBAA and with new TBAA struct path
- [test-suite] making polybench/symm succeed with "-Ofast" and "-ffp-contract=on"