SuccessChanges

Summary

  1. [clang-format] Find main include after block ended with #pragma hdrstop (details)
  2. [ARM] Update trunc costs (details)
  3. [NFC] Remove min/max functions from InstructionCost (details)
  4. Reapply "[clang][cli] Port DiagnosticOpts to new option parsing system" (details)
Commit 89878e8c966a82ed6b7f0254700017f0a97fb7d7 by marek.kurdej
[clang-format] Find main include after block ended with #pragma hdrstop

Find main include in first include block not ended with #pragma hdrstop

Reviewed By: curdeius

Differential Revision: https://reviews.llvm.org/D94217
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/unittests/Format/SortIncludesTest.cpp
Commit dcefcd51e01741c79c9d9a729fe803b13287a372 by david.green
[ARM] Update trunc costs

We did not have specific costs for larger than legal truncates that were
not otherwise cheap (where they were next to stores, for example). As
MVE does not have a dedicated instruction for them (and we do not use
loads/stores yet), they should be expensive as they get expanded to a
series of lane moves.

Differential Revision: https://reviews.llvm.org/D94260
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-overflow.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/mve-gather-scatter-cost.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit b7ccaca53700fce21b0e8e5d7bd2a956bd391fee by david.sherwood
[NFC] Remove min/max functions from InstructionCost

Removed the InstructionCost::min/max functions because it's
fine to use std::min/max instead.

Differential Revision: https://reviews.llvm.org/D94301
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/include/llvm/Support/InstructionCost.h
The file was modifiedllvm/unittests/Support/InstructionCostTest.cpp
Commit 97100646d1b4526de1eac3aacdb0b098739c6ec9 by jan_svoboda
Reapply "[clang][cli] Port DiagnosticOpts to new option parsing system"

This reverts commit 8e3e148c

This commit fixes two issues with the original patch:
* The sanitizer build bot reported an uninitialized value. This was caused by normalizeStringIntegral not returning None on failure.
* Some build bots complained about inaccessible keypaths. To mitigate that, "this->" was added back to the keypath to restore the previous behavior.
The file was modifiedclang/unittests/Frontend/CompilerInvocationTest.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticOptions.h
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/include/llvm/Option/OptParser.td
The file was modifiedllvm/utils/TableGen/OptParserEmitter.cpp