This is an archive of the discontinued LLVM Phabricator instance.

Override ffp-contract to fast due to command line changes planned in D74436
AbandonedPublic

Authored by mibintc on Jun 10 2021, 1:18 PM.

Details

Summary

The previous patch https://reviews.llvm.org/D102861 suppressed ffp-contract but that was wrong, the change should be to set ffp-contract=fast.
When I applied the clang patch, the same tests failed again, this time due to execution_time.
Also the previous patch limited the changes to x86, but they are also needed broadly on all architectures so I changed that too in this revision.

I could revert the previous patch and roll them both into a single patch, what do you think?

Diff Detail

Repository
rT test-suite

Event Timeline

mibintc created this revision.Jun 10 2021, 1:18 PM
mibintc requested review of this revision.Jun 10 2021, 1:18 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 10 2021, 1:18 PM

Probably cleaner to revert, let the bots calm down, then reapply the right patch.

In llorg currently, with ffp-model=precise, the option ffp-contract=fast is implied. My patch to clang is to change this to ffp-contract=on. My patch to LNT hopes to achieve merely "do what you did before so the test has expected behavior".

There could be a problem with my currently proposed LNT patch: it relies on the assumption that the other targets are also building with ffp-model=precise.

My first attempt to patch LNT (submitted Monday) combined with the clang patch modification (submitted Thursday) caused execution time increases on x86 Broadwell. The clang patch caused LNT fails on other targets because the hash values didn't compare equal.

My current proposal to LNT is to patch the failing tests with ffp-model=precise which hopefully results in no change to LNT results on all targets.

Here's dump of clang cc1 options with ffp-model=precise

bin/clang -### -ffp-model=precise -c test.c >& zot

grep contra zot
"build/bin/clang-13" "-cc1" "-triple" "x86_64-unknown-linux-gnu" "-emit-obj" "-mrelax-all" "--mrelax-relocations" "-disable-free" "-main-file-name" "test.c" "-mrelocation-model" "static" "-mframe-pointer=all" "-fmath-errno" "-ffp-contract=fast" "-fno-rounding-math" ...

I would like to submit this patch as well as the dependent clang patch, hopefully over this weekend when it would be less disruptive.

@sebpop Do you know if all the targets are running with ffp-model=precise? Where can I find the build rules for the various targets?

Probably cleaner to revert, let the bots calm down, then reapply the right patch.

Thanks, I'll go that way

mibintc abandoned this revision.Jun 14 2021, 1:04 PM