FailedChanges

Summary

  1. Added openmp docs to SphinxDocsBuilder. (details)
Commit 786748274ad0b07093fed1422f49ca885c397c11 by alebedev
Added openmp docs to SphinxDocsBuilder.

Since openmp Sphinx docs are buildable, we can expand SphinxDocsBuilder to build and publish that as well.

Reviewed By: gkistanova, jdoerfert

Differential Revision: https://reviews.llvm.org/D88277
The file was modifiedzorg/buildbot/builders/SphinxDocsBuilder.py (diff)

Summary

  1. [Driver] Perform Linux distribution detection only once (details)
  2. [Driver] Fix formatting as suggested by clang-format (NFC) (details)
  3. [SelectionDAG] Add guard to automatically insert flags (details)
  4. [CodeGen] Do not call `emitGlobalConstantLargeInt` for constant requires 8 bytes to store (details)
  5. [LoopDelete][Assume] Allow deleting loops with assumes (details)
  6. [FPEnv] Evaluate constant expressions under non-default rounding modes (details)
Commit 96318f64a7864747ebbb4e33cb75b0dea465abfc by dmantipov
[Driver] Perform Linux distribution detection only once

Differential Revision: https://reviews.llvm.org/D87187
The file was modifiedclang/include/clang/Driver/Distro.h
The file was modifiedclang/lib/Driver/Distro.cpp
Commit 2ca0ea15e5c910ff93874679f0a03c923fe85e5b by dmantipov
[Driver] Fix formatting as suggested by clang-format (NFC)
The file was modifiedclang/include/clang/Driver/Distro.h
Commit c0f8e4c06c85db256806cfce90a2b49e4cdd58d4 by qiucofan
[SelectionDAG] Add guard to automatically insert flags

This is like FastMathFlagGuard in IR. Since we use SDAG instance to get
values, it's with SelectionDAG. By creating a FlagInserter in current
scope, all values created by getNode will get the flags if no Flags
argument provided.

In this patch, I applied it to floating point operations folding part in
DAG combiner, and removed Flags passing to getNode to show its effect.
Other places in DAG combiner and other helper methods similar to getNode
also need this. They can be done in follow-up patches.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D87361
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedllvm/test/CodeGen/X86/sqrt-fastmath-mir.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit c6c5629f2fb4ddabd376fbe7c218733283e91d09 by simon
[CodeGen] Do not call `emitGlobalConstantLargeInt` for constant requires 8 bytes to store

This is a fix for PR47630. The regression is caused by the D78011. After
this change the code starts to call the `emitGlobalConstantLargeInt` even
for constants which requires eight bytes to store.

Differential revision: https://reviews.llvm.org/D88261
The file was modifiedllvm/test/CodeGen/Mips/emit-big-cst.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Commit 8d5b289a4681d89f4dedcd8926225333e0772967 by tyker
[LoopDelete][Assume] Allow deleting loops with assumes

This pervent very poor optimization caused by a signle assume like https://godbolt.org/z/EK3oMh

baseline flags: -O3
patched flags: -O3 -mllvm --enable-knowledge-retention

Before the patch
```
Metric: compile_time
Program                                                      baseline patched diff
             test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test  20.72    29.74  43.5%
                     test-suite :: CTMark/Bullet/bullet.test  24.39    24.91   2.2%
               test-suite :: CTMark/7zip/7zip-benchmark.test  37.39    38.06   1.8%
                      test-suite :: CTMark/kimwitu++/kc.test  11.76    11.94   1.5%
                   test-suite :: CTMark/sqlite3/sqlite3.test  12.94    12.91  -0.3%
                       test-suite :: CTMark/SPASS/SPASS.test  11.72    11.70  -0.2%
                     test-suite :: CTMark/lencod/lencod.test  16.12    16.10  -0.1%
                   test-suite :: CTMark/ClamAV/clamscan.test  13.31    13.30  -0.1%
              test-suite :: CTMark/mafft/pairlocalalign.test   9.12     9.12  -0.1%
test-suite :: CTMark/consumer-typeset/consumer-typeset.test   9.34     9.34  -0.1%
                                          Geomean difference                   4.2%

Metric: compiler_Kinst_count
Program                                                      baseline     patched      diff
             test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test 107576069.87 172886418.90 60.7%
                     test-suite :: CTMark/Bullet/bullet.test 123291865.66 125457117.96  1.8%
                      test-suite :: CTMark/kimwitu++/kc.test  56347884.64  57298544.14  1.7%
               test-suite :: CTMark/7zip/7zip-benchmark.test 180637699.58 183341656.57  1.5%
                   test-suite :: CTMark/sqlite3/sqlite3.test  66723788.85  66664692.80 -0.1%
                   test-suite :: CTMark/ClamAV/clamscan.test  69581500.56  69597863.92  0.0%
                     test-suite :: CTMark/lencod/lencod.test  94236501.48  94216545.32 -0.0%
                       test-suite :: CTMark/SPASS/SPASS.test  58516756.95  58505089.07 -0.0%
test-suite :: CTMark/consumer-typeset/consumer-typeset.test  48832815.53  48841989.39  0.0%
              test-suite :: CTMark/mafft/pairlocalalign.test  49682720.53  49686324.34  0.0%
                                          Geomean difference                            5.4%
```

After the patch
```
Metric: compile_time
Program                                                      baseline patched diff
             test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test  20.70    22.40   8.2%
               test-suite :: CTMark/7zip/7zip-benchmark.test  37.13    38.05   2.5%
                     test-suite :: CTMark/Bullet/bullet.test  24.25    24.83   2.4%
                      test-suite :: CTMark/kimwitu++/kc.test  11.69    11.94   2.2%
                   test-suite :: CTMark/ClamAV/clamscan.test  13.19    13.36   1.3%
                     test-suite :: CTMark/lencod/lencod.test  16.02    16.19   1.1%
test-suite :: CTMark/consumer-typeset/consumer-typeset.test   9.29     9.36   0.7%
                       test-suite :: CTMark/SPASS/SPASS.test  11.64    11.73   0.7%
              test-suite :: CTMark/mafft/pairlocalalign.test   9.10     9.15   0.5%
                   test-suite :: CTMark/sqlite3/sqlite3.test  12.95    12.96   0.0%
                                          Geomean difference                   1.9%

Metric: compiler_Kinst_count
Program                                                      baseline     patched      diff
             test-suite :: CTMark/tramp3d-v4/tramp3d-v4.test 107590933.61 114044834.72  6.0%
                      test-suite :: CTMark/kimwitu++/kc.test  56344526.77  57235806.29  1.6%
                     test-suite :: CTMark/Bullet/bullet.test 123291285.10 125128334.97  1.5%
               test-suite :: CTMark/7zip/7zip-benchmark.test 180641540.10 183155706.39  1.4%
                   test-suite :: CTMark/sqlite3/sqlite3.test  66725619.22  66668713.92 -0.1%
                       test-suite :: CTMark/SPASS/SPASS.test  58509029.85  58478704.75 -0.1%
test-suite :: CTMark/consumer-typeset/consumer-typeset.test  48843711.23  48826894.68 -0.0%
                     test-suite :: CTMark/lencod/lencod.test  94233305.79  94207544.23 -0.0%
                   test-suite :: CTMark/ClamAV/clamscan.test  69587887.66  69603549.90  0.0%
              test-suite :: CTMark/mafft/pairlocalalign.test  49686968.65  49689291.04  0.0%
                                          Geomean difference                            1.0%
```

Reviewed By: jdoerfert, efriedma

Differential Revision: https://reviews.llvm.org/D86816
The file was addedllvm/test/Transforms/LoopDeletion/assume.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopDeletion.cpp
Commit 6314f412a83d61e293e3696d4afe1797a4001ac4 by sepavloff
[FPEnv] Evaluate constant expressions under non-default rounding modes

The change implements evaluation of constant floating point expressions
under non-default rounding modes. The main objective was to support
evaluation of global variable initializers, where constant rounding mode
may be specified by `#pragma STDC FENV_ROUND`.

Differential Revision: https://reviews.llvm.org/D87822
The file was addedclang/test/AST/const-fpfeatures.cpp
The file was addedclang/test/AST/const-fpfeatures-diag.c
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
The file was addedclang/test/AST/const-fpfeatures.c
The file was modifiedclang/include/clang/AST/Expr.h

Summary

  1. Added openmp docs to SphinxDocsBuilder. (details)
Commit 786748274ad0b07093fed1422f49ca885c397c11 by alebedev
Added openmp docs to SphinxDocsBuilder.

Since openmp Sphinx docs are buildable, we can expand SphinxDocsBuilder to build and publish that as well.

Reviewed By: gkistanova, jdoerfert

Differential Revision: https://reviews.llvm.org/D88277
The file was modifiedzorg/buildbot/builders/SphinxDocsBuilder.py