Changes

Summary

  1. [X86] Add non-uniform vector tests for 'one bit diff' comparison fold (details)
  2. [mlir] Use-after-free checker for the Transform dialect (details)
  3. [FileCheck] Catch missspelled directives. (details)
  4. [MachineSink] replace MachineLoop with MachineCycle (details)
  5. [FileCheck] GetCheckTypeAbbreviation() to handle the misspelled case. (details)
  6. [DAG] Cleanup "and/or of cmp with single bit diff" fold to use ISD::matchBinaryPredicate (details)
  7. Use the canonical type when matching a generic selection association (details)
  8. [AMDGPU][GFX9] Support base+soffset+offset SMEM loads. (details)
  9. [analyzer] Return from reAssume if State is posteriorly overconstrained (details)
  10. [analyzer] Add UnarySymExpr (details)
  11. [analyzer][solver] Handle UnarySymExpr in RangeConstraintSolver (details)
  12. [analyzer][solver] Handle UnarySymExpr in SMTConv (details)
  13. Improve the strict prototype diagnostic behavior (details)
  14. Fix failing test case with strict prototype changes (details)
  15. [clang-format] Fix QualifierAlignment with global namespace qualified types. (details)
  16. [DAG] Generalize (sra (trunc (sra x, c1)), c2) -> (trunc (sra x, c1 + c2)) constant folding (details)
  17. [libc++abi] Use from-scratch testing configs for libc++abi by default (details)
  18. [InstCombine] add tests for icmp with udiv operand; NFC (details)
  19. [InstCombine] fold icmp equality with udiv and large constant (details)
  20. [Cuda] Use fallback method to mangle externalized decls if no CUID given (details)
  21. [flang][NFC] Make semantics test dosemantics03.f90 warning-correct (details)
Commit b45e04685894a9d8467a291e2d9e8298330a5ab7 by llvm-dev
[X86] Add non-uniform vector tests for 'one bit diff' comparison fold
The file was modifiedllvm/test/CodeGen/X86/setcc-logic.ll
Commit 73c3dff1b3e42c278f4c675418b0cb5e8784174b by zinenko
[mlir] Use-after-free checker for the Transform dialect

The Transform dialect uses the side effect modeling mechanism to record the
effects of the transform ops on the mapping between Transform IR values and
Payload IR ops. Introduce a checker pass that warns if a Transform IR value is
used after it has been freed (consumed). This pass is mostly intended as a
debugging aid in addition to the verification/assertion mechanisms in the
transform interpreter. It reports all potential use-after-free situations.
The implementation makes a series of simplifying assumptions to be simple and
conservative. A more advanced implementation would rely on the data flow-like
analysis associated with a side-effect resource rather than a value, which is
currently not supported by the analysis infrastructure.

Reviewed By: springerm

Differential Revision: https://reviews.llvm.org/D126381
The file was addedmlir/lib/Dialect/Transform/Transforms/CheckUses.cpp
The file was modifiedmlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was modifiedmlir/include/mlir/Dialect/Transform/IR/TransformOps.h
The file was addedmlir/include/mlir/Dialect/Transform/Transforms/Passes.td
The file was addedmlir/include/mlir/Dialect/Transform/Transforms/Passes.h
The file was addedmlir/include/mlir/Dialect/Transform/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Transform/CMakeLists.txt
The file was addedmlir/test/Dialect/Transform/check-use-after-free.mlir
The file was modifiedmlir/include/mlir/Dialect/Transform/IR/TransformOps.td
The file was modifiedmlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td
The file was modifiedmlir/include/mlir/Dialect/Transform/CMakeLists.txt
The file was addedmlir/lib/Dialect/Transform/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Transform/IR/TransformOps.cpp
Commit ad1d60c3befd606d6864b367f939238e50fb0f7e by ivan.kosarev
[FileCheck] Catch missspelled directives.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D125604
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
The file was modifiedllvm/test/tools/llvm-objdump/MachO/disassemble-all.test
The file was modifiedflang/test/Fir/convert-to-llvm.fir
The file was modifiedmlir/test/Dialect/Affine/loop-coalescing.mlir
The file was modifiedclang/test/CodeGenCXX/eh-aggregate-copy-destroy.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_private_codegen.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/PR41279.ll
The file was modifiedmlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
The file was modifiedllvm/test/MC/AsmParser/directive_file-g.s
The file was modifiedflang/test/Lower/Intrinsics/not.f90
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-middle-chain.ll
The file was modifiedmlir/test/Dialect/SPIRV/IR/memory-ops.mlir
The file was modifiedllvm/test/Transforms/PGOProfile/memop_size_from_strlen.ll
The file was modifiedmlir/test/Dialect/Linalg/tile-and-fuse-no-fuse.mlir
The file was modifiedllvm/test/Transforms/Inline/inline-strictfp.ll
The file was modifiedclang/test/OpenMP/taskloop_simd_private_codegen.cpp
The file was modifiedllvm/test/tools/llvm-dwp/X86/tu_units_v5.s
The file was modifiedclang/test/CodeGenObjC/non-runtime-protocol.m
The file was modifiedllvm/test/tools/llvm-dwp/X86/type_dedup_v5.test
The file was modifiedllvm/test/CodeGen/AMDGPU/mode-register.mir
The file was modifiedllvm/test/Transforms/MergeFunc/alias.ll
The file was modifiedllvm/test/Transforms/PGOProfile/memop_clone.ll
The file was modifiedllvm/test/CodeGen/AVR/atomics/fence.ll
The file was modifiedmlir/test/mlir-tblgen/op-decl-and-defs.td
The file was modifiedclang/test/OpenMP/task_private_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/attr-mustprogress.cpp
The file was modifiedclang/test/CodeGenCXX/inheriting-constructor.cpp
The file was modifiedllvm/test/MC/WebAssembly/unnamed-data.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hoist-cond.ll
The file was modifiedpolly/test/ScopDetect/dot-scops-npm.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/gather-vs-interleave.ll
The file was modifiedllvm/test/tools/llvm-readobj/COFF/unwind-arm64-windows.test
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ps.live.ll
The file was modifiedllvm/test/CodeGen/ARM/cmpxchg-O0-be.ll
The file was modifiedllvm/include/llvm/FileCheck/FileCheck.h
The file was addedllvm/test/FileCheck/missspelled-directive.txt
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/taskgroup_task_reduction_codegen.cpp
The file was modifiedllvm/test/MC/AMDGPU/data.s
The file was modifiedllvm/test/CodeGen/AMDGPU/smrd.ll
The file was modifiedclang/test/OpenMP/master_taskloop_simd_private_codegen.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/divergence-driven-bfe-isel.ll
The file was modifiedmlir/test/Dialect/MemRef/canonicalize.mlir
The file was modifiedclang/test/OpenMP/taskloop_private_codegen.cpp
The file was modifiedllvm/test/Analysis/RegionInfo/infinite_loop_4.ll
The file was modifiedllvm/test/MC/PowerPC/ppc64-reloc-directive-pcrel.s
The file was modifiedllvm/test/CodeGen/WebAssembly/libcalls.ll
The file was modifiedllvm/lib/FileCheck/FileCheck.cpp
The file was modifiedmlir/test/IR/dynamic.mlir
The file was modifiedllvm/test/Analysis/MemorySSA/phi-translation.ll
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-full-partial-split.mlir
The file was modifiedclang/test/OpenMP/master_taskloop_private_codegen.cpp
Commit d79275238f9fb11fac31d42a846fe80fca2306d9 by czhengsz
[MachineSink] replace MachineLoop with MachineCycle

reapply 62a9b36fcf728b104ea87e6eb84c0be69b779df7 and fix module build
failue:
1: remove MachineCycleInfoWrapperPass in MachinePassRegistry.def
   MachineCycleInfoWrapperPass is a anylysis pass, should not be there.
2: move the definition for MachineCycleInfoPrinterPass to cpp file.

Otherwise, there are module conflicit for MachineCycleInfoWrapperPass
in MachinePassRegistry.def and MachineCycleAnalysis.h after
62a9b36fcf728b104ea87e6eb84c0be69b779df7.

MachineCycle can handle irreducible loop. Natural loop
analysis (MachineLoop) can not return correct loop depth if
the loop is irreducible loop. And MachineSink is sensitive
to the loop depth, see MachineSinking::isProfitableToSinkTo().

This patch tries to use MachineCycle so that we can handle
irreducible loop better.

Reviewed By: sameerds, MatzeB

Differential Revision: https://reviews.llvm.org/D123995
The file was modifiedllvm/include/llvm/CodeGen/MachinePassRegistry.def
The file was modifiedllvm/include/llvm/ADT/GenericCycleImpl.h
The file was modifiedllvm/test/CodeGen/PowerPC/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/pr38795.ll
The file was modifiedllvm/include/llvm/CodeGen/MachineCycleAnalysis.h
The file was modifiedllvm/test/CodeGen/X86/opt-pipeline.ll
The file was modifiedllvm/test/CodeGen/RISCV/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/X86/switch-phi-const.ll
The file was modifiedllvm/include/llvm/CodeGen/MachineSSAContext.h
The file was modifiedllvm/test/CodeGen/X86/x86-shrink-wrapping.ll
The file was modifiedllvm/test/CodeGen/AArch64/loop-sink-limit.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/llc-pipeline.ll
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was modifiedllvm/include/llvm/ADT/GenericCycleInfo.h
The file was modifiedllvm/lib/CodeGen/MachineCycleAnalysis.cpp
Commit 8894c05b0d351f998b1836542ba791247394bd12 by ivan.kosarev
[FileCheck] GetCheckTypeAbbreviation() to handle the misspelled case.

Also fix directives not covered by D125604.
The file was modifiedpolly/test/GPGPU/non-read-only-scalars.ll
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
The file was modifiedmlir/test/python/ir/integer_set.py
Commit 7b617eef8018d4cd001b36ad28f014e21270fde5 by llvm-dev
[DAG] Cleanup "and/or of cmp with single bit diff" fold to use ISD::matchBinaryPredicate

Prep work as I'm investigating some cases where TLI::convertSetCCLogicToBitwiseLogic should accept vectors.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 85750de685f543443ec38c407392d9d7cdc19451 by aaron
Use the canonical type when matching a generic selection association

This ensures that a deduced type like __auto_type matches the correct
association instead of matching all associations.

This addresses a regression from e4a42c5b64d044ae28d9483b0ebd12038d5b5917

Fixes #55702
The file was modifiedclang/test/Sema/auto-type.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit b0ccf38b0187e91fa36e5b7c2a2eecd9b5c00f01 by ivan.kosarev
[AMDGPU][GFX9] Support base+soffset+offset SMEM loads.

Resolves part of
https://github.com/llvm/llvm-project/issues/38652

Reviewed By: dp

Differential Revision: https://reviews.llvm.org/D125700
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
The file was modifiedllvm/lib/Target/AMDGPU/SMInstructions.td
The file was modifiedllvm/test/MC/AMDGPU/smem.s
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt
The file was modifiedllvm/test/MC/AMDGPU/gfx9_asm_smem.s
Commit ca3d962548b9699d69157d102e071607d27ba126 by gabor.marton
[analyzer] Return from reAssume if State is posteriorly overconstrained

Depends on D124758. That patch introduced serious regression in the run-time in
some special cases. This fixes that.

Differential Revision: https://reviews.llvm.org/D126406
The file was addedclang/test/Analysis/runtime-regression.c
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit b5b2aec1ff51197343dede9741ea377f8314d41b by gabor.marton
[analyzer] Add UnarySymExpr

This patch adds a new descendant to the SymExpr hierarchy. This way, now
we can assign constraints to symbolic unary expressions. Only the unary
minus and bitwise negation are handled.

Differential Revision: https://reviews.llvm.org/D125318
The file was modifiedclang/lib/StaticAnalyzer/Core/SValBuilder.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SymbolManager.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
The file was modifiedclang/test/Analysis/explain-svals.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/Symbols.def
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
The file was modifiedclang/test/Analysis/expr-inspection.cpp
The file was addedclang/test/Analysis/unary-sym-expr.c
Commit 88abc50398eb26d536518270b91939ce18687305 by gabor.marton
[analyzer][solver] Handle UnarySymExpr in RangeConstraintSolver

Fixes https://github.com/llvm/llvm-project/issues/55241

Differential Revision: https://reviews.llvm.org/D125395
The file was addedclang/test/Analysis/unary-sym-expr-no-crash.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was modifiedclang/test/Analysis/unary-sym-expr.c
The file was addedclang/test/Analysis/constraint_manager_negate.c
The file was modifiedclang/test/Analysis/constraint_manager_negate_difference.c
Commit cd5783d3e82b98bfa140853fee95170852fd3c74 by gabor.marton
[analyzer][solver] Handle UnarySymExpr in SMTConv

Dependent patch adds UnarySymExpr, now I'd like to handle that for SMT
conversions like refutation.

Differential Revision: https://reviews.llvm.org/D125547
The file was addedclang/test/Analysis/unary-sym-expr-z3-refutation.c
The file was modifiedclang/test/Analysis/z3-crosscheck.c
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
Commit 681c50c62e9338afdf58ebfd663f8e3ff43439fb by aaron
Improve the strict prototype diagnostic behavior

Post-commit feedback on https://reviews.llvm.org/D122895 pointed out
that the diagnostic wording for some code was using "declaration" in a
confusing way, such as:

int foo(); // warning: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x

int foo(int arg) { // warning: a function declaration without a prototype is deprecated in all versions of C and is not supported in C2x
  return 5;
}

And that we had other minor issues with the diagnostics being somewhat
confusing.

This patch addresses the confusion by reworking the implementation to
be a bit more simple and a bit less chatty. Specifically, it changes
the warning and note diagnostics to be able to specify "declaration" or
"definition" as appropriate, and it changes the function merging logic
so that the function without a prototype is always what gets warned on,
and the function with a prototype is sometimes what gets noted.
Additionally, when diagnosing a K&R C definition that is preceded by a
function without a prototype, we don't note the prior declaration, we
warn on it because it will also be changing behavior in C2x.

Differential Revision: https://reviews.llvm.org/D125814
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/knr-def-call.c
The file was modifiedclang/test/Sema/knr-variadic-def.c
The file was modifiedclang/test/CodeGen/2009-06-01-addrofknr.c
The file was modifiedclang/test/Sema/arg-duplicate.c
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/C/drs/dr0xx.c
The file was modifiedclang/test/Sema/warn-deprecated-non-prototype.c
The file was modifiedclang/test/Sema/warn-strict-prototypes.c
The file was modifiedclang/test/Parser/declarators.c
Commit 605651135b4c37e423825a9201b06a16ff6160a1 by aaron
Fix failing test case with strict prototype changes

Amends 681c50c62e9338afdf58ebfd663f8e3ff43439fb and hopefully fixes:

https://lab.llvm.org/buildbot/#/builders/109/builds/39347
https://lab.llvm.org/buildbot/#/builders/188/builds/14634
and others
The file was modifiedclang/test/SemaObjC/nonnull.m
Commit d4d28f2ace764a0420a33462628b43a1c71fc3dc by marek.kurdej+llvm.org
[clang-format] Fix QualifierAlignment with global namespace qualified types.

Fixes https://github.com/llvm/llvm-project/issues/55610.

Reviewed By: MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D126096
The file was modifiedclang/lib/Format/QualifierAlignmentFixer.cpp
The file was modifiedclang/unittests/Format/QualifierFixerTest.cpp
Commit f366acdbf694f93e0d3fbaeec5a7756ea2032df2 by llvm-dev
[DAG] Generalize (sra (trunc (sra x, c1)), c2) -> (trunc (sra x, c1 + c2)) constant folding

Remove local (uniform) constant folding and rely on getNode() to perform it

Minor cleanup step toward adding non-uniform shift amount support
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 851bfc07c86e7f84ee38d918cb4b6b49a47434f1 by Louis Dionne
[libc++abi] Use from-scratch testing configs for libc++abi by default

Like we have been doing for libc++ for a while now, start using
from-scratch testing configurations for libc++abi.

As a fly-by fix, remove the LIBCXXABI_NO_TIMER macro, which was defined
but never used.

Differential Revision: https://reviews.llvm.org/D125242
The file was addedlibcxxabi/test/configs/llvm-libc++abi-shared-clangcl.cfg.in
The file was modifiedlibcxxabi/test/test_fallback_malloc.pass.cpp
The file was modifiedlibcxxabi/CMakeLists.txt
The file was addedlibcxxabi/test/configs/llvm-libc++abi-mingw.cfg.in
The file was addedlibcxxabi/test/configs/llvm-libc++abi-shared-gcc.cfg.in
The file was modifiedlibcxxabi/test/forced_unwind3.pass.cpp
The file was modifiedlibcxxabi/test/configs/apple-libc++abi-backdeployment.cfg.in
The file was modifiedlibcxxabi/test/test_exception_storage.pass.cpp
The file was addedlibcxxabi/test/configs/llvm-libc++abi-shared.cfg.in
The file was modifiedlibcxxabi/test/guard_test_basic.pass.cpp
The file was modifiedlibcxxabi/test/libcxxabi/test/config.py
The file was modifiedlibcxxabi/test/configs/ibm-libc++abi-shared.cfg.in
The file was addedlibcxxabi/test/configs/llvm-libc++abi-static-clangcl.cfg.in
The file was modifiedlibcxxabi/test/configs/apple-libc++abi-shared.cfg.in
The file was addedlibcxxabi/test/configs/llvm-libc++abi-static.cfg.in
The file was modifiedlibcxxabi/test/cxa_thread_atexit_test.pass.cpp
The file was modifiedlibcxxabi/test/configs/llvm-libc++abi-merged.cfg.in
The file was modifiedlibcxxabi/test/guard_threaded_test.pass.cpp
The file was modifiedlibcxxabi/test/configs/cmake-bridge.cfg.in
The file was modifiedlibcxxabi/test/test_guard.pass.cpp
The file was modifiedlibcxxabi/test/thread_local_destruction_order.pass.cpp
Commit ea6171c108c47c1ee486388adfa106e13e280e33 by spatel
[InstCombine] add tests for icmp with udiv operand; NFC

This covers a generalization of one of the transforms
suggested in #55695.
The file was modifiedllvm/test/Transforms/InstCombine/icmp-div-constant.ll
Commit 3952c905ef08580de1ddc5d776177497407a6093 by spatel
[InstCombine] fold icmp equality with udiv and large constant

With large compare constant:
(X u/ Y) == C --> (X == C) && (Y == 1)
(X u/ Y) != C --> (X != C) || (Y != 1)

https://alive2.llvm.org/ce/z/EhKwh6

There are various potential missing icmp (div) transforms shown here:
https://github.com/llvm/llvm-project/issues/55695

This is a generalization for part of the udiv + equality.
I didn't check in detail, but some of those may only make sense as
codegen transforms.

This results in one extra instruction in IR, but it is better for
analysis, and looks much better in codegen on all targets that I tried.

Differential Revision: https://reviews.llvm.org/D126410
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/test/Transforms/InstCombine/icmp-div-constant.ll
Commit 1bae02b77335eb1a01d9a0bb36c2b2a29dfdd5d9 by jhuber6
[Cuda] Use fallback method to mangle externalized decls if no CUID given

CUDA requires that static variables be visible to the host when
offloading. However, The standard semantics of a stiatc variable dictate
that it should not be visible outside of the current file. In order to
access it from the host we need to perform "externalization" on the
static variable on the device. This requires generating a semi-unique
name that can be affixed to the variable as to not cause linker errors.

This is currently done using the CUID functionality, an MD5 hash value
set up by the clang driver. This allows us to achieve is mostly unique
ID that is unique even between multiple compilations of the same file.
However, this is not always availible. Instead, this patch uses the
unique ID from the file to generate a unique symbol name. This will
create a unique name that is consistent between the host and device side
compilations without requiring the CUID to be entered by the driver. The
one downside to this is that we are no longer stable under multiple
compilations of the same file. However, this is a very niche use-case
and is not supported by Nvidia's CUDA compiler so it likely to be good
enough.

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D125904
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/test/CodeGenCUDA/device-fun-linkage.cu
The file was modifiedclang/test/CodeGenCUDA/static-device-var-rdc.cu
The file was modifiedclang/lib/CodeGen/CGCUDANV.cpp
Commit 4c549a0b593e787ac2431ecbcf50b5a5de795f0c by j.emil.kieri
[flang][NFC] Make semantics test dosemantics03.f90 warning-correct

This is a preparation for D125804, which makes test_errors.py test
warnings the same way it already tests errors, i.e., assert that the
emitted and expected errors are identical. The following changes are
made to the test:

- Add the WARNING directive where warnings are expected.
- Remove -Werror in the RUN line. It does not serve much purpose here:
   with -Werror flang makes compilation fail in the presence of
   warnings, but warnings are still printed as warnings and not as
   errors. And I anyway find it better to test the warnings as warnings
   instead of promoting them and test both warnings and errors as
   errors.
- Update the header comment describing the test case, mostly in
   response to the removal of -Werror.
- Remove the reference to 'issue 458', referring to
   https://github.com/flang-compiler/f18/issues/458, from the header.
   I think the relevant reference here is to C1120 of the standard,
   and references to bug trackers from other projects (from before
   upstreaming) can be confusing.

Reviewed By: PeteSteinfeld

Differential Revision: https://reviews.llvm.org/D126176
The file was modifiedflang/test/Semantics/dosemantics03.f90