SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-zorg.git)

Summary

  1. Some builders.py cleaning. (details)
  2. NFC. Better names, more logs. (details)
  3. NFC. Changed getLntSchedulers() to follow the code style of the rest of the file. (details)
  4. And missing import log. (details)
  5. Added builders to build the release/* branches. (details)
  6. One GitHubStatusPush reporter is enough for our needs. (details)
  7. Have the buildbot email me when there is a failure on the sie-linux-builder builder. (details)
  8. Add flang debug new driver buildbot. (details)
  9. Add flang release buildbot. (details)
  10. Add flang release with assertions buildbot. (details)
Commit dbb86b2e37119e09d96d410b9066764663e74f5f by gkistanova
Some builders.py cleaning.
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 8fcbe87507f19eb3149677941f3871c2f9fa214a by gkistanova
NFC. Better names, more logs.
The file was modifiedbuildbot/osuosl/master/config/schedulers.py
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit 40fad5ed61e6190c6c42b8d199361153cc13a3d9 by gkistanova
NFC. Changed getLntSchedulers() to follow the code style of the rest of the file.
The file was modifiedbuildbot/osuosl/master/config/schedulers.py
Commit 715a15486bbe10f1b421ed629f002963982413ae by gkistanova
And missing import log.
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit a7c344aac55c844c0cac774dce06df783229151b by gkistanova
Added builders to build the release/* branches.
The file was modifiedbuildbot/osuosl/master/config/schedulers.py
The file was modifiedbuildbot/osuosl/master/master.cfg
The file was addedbuildbot/osuosl/master/config/release_builders.py
The file was modifiedzorg/buildbot/changes/llvmgitpoller.py
The file was modifiedbuildbot/osuosl/master/config/__init__.py
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit c8a67928ed444d3b1111398665d578be68d53cc5 by gkistanova
One GitHubStatusPush reporter is enough for our needs.
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit 84a9d7a9404c6afc2e9432681d4d5ae6d79734fa by douglas.yung
Have the buildbot email me when there is a failure on the sie-linux-builder builder.

Reviewed By: gkistanova

Differential Revision: https://reviews.llvm.org/D97180
The file was modifiedbuildbot/osuosl/master/config/status.py
Commit 16dde5b4a4344e703f4ed51f80126fd12535243f by stevan.radakovic
Add flang debug new driver buildbot.

Reviewed By: gkistanova

Differential Revision: https://reviews.llvm.org/D96859
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/workers.py
Commit c51fdf187b3a2a47d78f201665cc51c45be2c217 by stevan.radakovic
Add flang release buildbot.

Reviewed By: gkistanova

Differential Revision: https://reviews.llvm.org/D96857
The file was modifiedbuildbot/osuosl/master/config/workers.py
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 5f46a1d9280bc1ced2f35e6522c9be284802c4fb by stevan.radakovic
Add flang release with assertions buildbot.

Reviewed By: gkistanova

Differential Revision: https://reviews.llvm.org/D96858
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedbuildbot/osuosl/master/config/workers.py

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [InstrProfiling] Use ELF section groups for counters, data and values (details)
  2. [mlir] Add simple jupyter kernel (details)
  3. Revert "[sanitizers] Pass CMAKE_C_FLAGS into TSan buildgo script" (details)
  4. [Analysis] Use ListSeparator (NFC) (details)
  5. [llvm] Fix header guards (NFC) (details)
  6. [CodeGen] Use range-based for loops (NFC) (details)
  7. [AArch64][GlobalISel] Fix <16 x s8> G_DUP regbankselect to assign source to gpr. (details)
  8. [mlir] Export CUDA and Vulkan runtime wrappers on Windows (details)
  9. [InstrProfiling] Fix instrprof-gc-sections.c test (details)
  10. [NFC][llvm-dwarfdump] Don't calculate unnecessary stats (details)
  11. [mlir] Mark std.subview as NoSideEffect (details)
  12. [clang][cli] Stop creating '-Wno-stdlibcxx-not-found' in cc1 (details)
  13. [clang][cli] Pass '-Wspir-compat' to cc1 from driver (details)
  14. [clang][CodeComplete] Ensure there are no crashes when completing with ParenListExprs as LHS (details)
  15. [WebAssembly] call_indirect issues table number relocs (details)
  16. [ARM] Move double vector insert patterns using vins to DAG combine (details)
  17. [VPlan] Manage pairs of incoming (VPValue, VPBB) in VPWidenPHIRecipe. (details)
  18. [analyzer] Introduce MacroExpansionContext to libAnalysis (details)
  19. [analyzer] Create MacroExpansionContext member in AnalysisConsumer (details)
  20. [analyzer] Use the MacroExpansionContext for macro expansions in plists (details)
  21. [analyzer][CTU] API for CTU macro expansions (details)
  22. [ARM] Remove dead lowering code. NFC (details)
  23. [flang][driver] Add -Xflang and make -test-io a frontend-only flang (details)
Commit 5ca21175e09fc7fb7dcaee9ebd6782d122a5688f by phosek
[InstrProfiling] Use ELF section groups for counters, data and values

__start_/__stop_ references retain C identifier name sections such as
__llvm_prf_*. Putting these into a section group disables this logic.

The ELF section group semantics ensures that group members are retained
or discarded as a unit. When a function symbol is discarded, this allows
allows linker to discard counters, data and values associated with that
function symbol as well.

Note that `noduplicates` COMDAT is lowered to zero-flag section group in
ELF. We only set this for functions that aren't already in a COMDAT and
for those that don't have available_externally linkage since we already
use regular COMDAT groups for those.

Differential Revision: https://reviews.llvm.org/D96757
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/platform.ll
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll
The file was addedcompiler-rt/test/profile/instrprof-gc-sections.c
The file was modifiedcompiler-rt/test/profile/CMakeLists.txt
The file was modifiedcompiler-rt/test/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/test/Instrumentation/InstrProfiling/icall.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/linkage.ll
Commit 04c66edd3251975fd253e4c4b0e86ea56e8a7f46 by jpienaar
[mlir] Add simple jupyter kernel

Simple jupyter kernel using mlir-opt and reproducer to run passes.
Useful for local experimentation & generating examples. The export to
markdown from here is not immediately useful nor did I define a
CodeMirror synax to make the HTML output prettier. It only supports one
level of history (e.g., `_`) as I was mostly using with expanding a
pipeline one pass at a time and so was all I needed.

I placed this in utils directory next to editor & debugger utils.

Differential Revision: https://reviews.llvm.org/D95742
The file was addedmlir/utils/jupyter/README.md
The file was addedmlir/utils/jupyter/mlir_opt_kernel/install.py
The file was addedmlir/utils/jupyter/mlir_opt_kernel/assets/kernel.json
The file was addedmlir/utils/jupyter/mlir_opt_kernel/kernel.py
The file was addedmlir/utils/jupyter/mlir_opt_kernel/__init__.py
The file was addedmlir/utils/jupyter/mlir_opt_kernel/assets/kernel.js
The file was addedmlir/utils/jupyter/mlir_opt_kernel/__main__.py
The file was addedmlir/utils/jupyter/.gitignore
Commit 4b34e0c797e03fa411200f6819ce56d38ce8cc07 by thakis
Revert "[sanitizers] Pass CMAKE_C_FLAGS into TSan buildgo script"

This reverts commit ac6c13bfc49f2d67a77144c839ecf49e48cb994c.
Breaks building with PGO, see https://reviews.llvm.org/D96762#2574009
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
Commit 047fc3bf20b336adc2f331bba7d49e4ece8c9f62 by kazu
[Analysis] Use ListSeparator (NFC)
The file was modifiedllvm/lib/Analysis/TFUtils.cpp
Commit 5032b5890bb43895012585bd29ff5c3fbd1a7812 by kazu
[llvm] Fix header guards (NFC)

Identified with llvm-header-guard.
The file was modifiedllvm/include/llvm-c/ExternC.h
The file was modifiedllvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h
The file was modifiedllvm/include/llvm-c/DisassemblerTypes.h
The file was modifiedllvm/include/llvm-c/ErrorHandling.h
The file was modifiedllvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
Commit ffba9e596d09a1d41f83102756e145b59d3f8495 by kazu
[CodeGen] Use range-based for loops (NFC)
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/WinEHPrepare.cpp
The file was modifiedllvm/lib/CodeGen/LiveInterval.cpp
The file was modifiedllvm/lib/CodeGen/SplitKit.cpp
The file was modifiedllvm/lib/CodeGen/Analysis.cpp
Commit 6ff09ce061df499b518150f33006d1b0dcfdabd7 by Amara Emerson
[AArch64][GlobalISel] Fix <16 x s8> G_DUP regbankselect to assign source to gpr.

We can only select this type if the source is on GPR, not FPR.
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/regbank-dup.mir
Commit 2d62212b06be4d712dcc461c430e12c73a561449 by kern.handa
[mlir] Export CUDA and Vulkan runtime wrappers on Windows

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D97140
The file was modifiedmlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp
The file was modifiedmlir/include/mlir/ExecutionEngine/RunnerUtils.h
The file was modifiedmlir/tools/mlir-cuda-runner/cuda-runtime-wrappers.cpp
Commit 97184ab99c46e35ae94f828ee90f5d6af2c47e11 by phosek
[InstrProfiling] Fix instrprof-gc-sections.c test

After D97110 __llvm_prof_cnts has the nobits type so it's empty.
The file was modifiedcompiler-rt/test/profile/instrprof-gc-sections.c
Commit 52113451fbee6c34a6024cf82186709431ff6f3a by djtodoro
[NFC][llvm-dwarfdump] Don't calculate unnecessary stats

Small optimization of the code -- No need to calculate any stats
for NULL nodes, and also no need to call the collectStatsForDie()
if it is the CU itself.

Differential Revision: https://reviews.llvm.org/D96871
The file was modifiedllvm/tools/llvm-dwarfdump/Statistics.cpp
Commit 5b20d80a03ba8848bb0504dd70dc46aa47037fd2 by tpopp
[mlir] Mark std.subview as NoSideEffect

Differential Revision: https://reviews.llvm.org/D96951
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit bf15697e9b66b8f7e6f3f7c510a259651810bd29 by Jan Svoboda
[clang][cli] Stop creating '-Wno-stdlibcxx-not-found' in cc1

This patch stops creating the '-Wno-stdlibcxx-not-found' argument in `CompilerInvocation::CreateFromArgs`.

The code was added in 2e7ab55e657f (a follow-up to D48297). However, D61963 removes relevant tests and starts explicitly passing '-Wno-stdlibcxx-not-found' to the driver. I think it's fair to assume this is a dead code.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D97042
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 820e0c49fc48024d8b426f4b10b50b5b5659a705 by Jan Svoboda
[clang][cli] Pass '-Wspir-compat' to cc1 from driver

This patch moves the creation of the '-Wspir-compat' argument from cc1 to the driver.

Without this change, generating command line arguments from `CompilerInvocation` cannot be done reliably: there's no way to distinguish whether '-Wspir-compat' was passed to cc1 on the command line (should be generated), or if it was created within `CompilerInvocation::CreateFromArgs` (should not be generated).

This is also in line with how other '-W' flags are handled.

(This was introduced in D21567.)

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D97041
The file was modifiedclang/test/SemaOpenCL/sampler_t.cl
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/Driver/opencl.cl
Commit f10137399a3c9239a6acd1d3df12a40766b64759 by kadircet
[clang][CodeComplete] Ensure there are no crashes when completing with ParenListExprs as LHS

Differential Revision: https://reviews.llvm.org/D96950
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
Commit 861dbe1a021e6439af837b72b219fb9c449a57ae by wingo
[WebAssembly] call_indirect issues table number relocs

If the reference-types feature is enabled, call_indirect will explicitly
reference its corresponding function table via `TABLE_NUMBER`
relocations against a table symbol.

Also, as before, address-taken functions can also cause the function
table to be created, only with reference-types they additionally cause a
symbol table entry to be emitted.

We abuse the used-in-reloc flag on symbols to indicate which tables
should end up in the symbol table.  We do this because unfortunately
older wasm-ld will carp if it see a table symbol.

Differential Revision: https://reviews.llvm.org/D90948
The file was modifiedllvm/test/MC/WebAssembly/tail-call-encodings.s
The file was modifiedlld/test/wasm/compress-relocs.ll
The file was modifiedllvm/test/MC/WebAssembly/basic-assembly.s
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td
The file was addedllvm/test/MC/WebAssembly/call-indirect-relocs.s
The file was modifiedllvm/test/CodeGen/WebAssembly/function-pointer64.ll
The file was modifiedllvm/include/llvm/MC/MCSymbolWasm.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
The file was modifiedllvm/test/MC/WebAssembly/reloc-code.ll
The file was modifiedllvm/test/MC/WebAssembly/weak-alias.s
The file was modifiedllvm/test/MC/WebAssembly/reloc-pic.s
The file was modifiedllvm/test/MC/WebAssembly/type-index.s
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/test/MC/WebAssembly/function-alias.ll
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/multivalue.ll
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
Commit 21a4faab60c34b8a8c4d09a5ffac50ded8163208 by david.green
[ARM] Move double vector insert patterns using vins to DAG combine

This removes the existing patterns for inserting two lanes into an
f16/i16 vector register using VINS, instead using a DAG combine to
pattern match the same code sequences. The tablegen patterns were
already on the large side (foreach LANE = [0, 2, 4, 6]) and were not
handling all the cases they could. Moving that to a DAG combine, whilst
not less code, allows us to better control and expand the selection of
VINSs. Additionally this allows us to remove the AddedComplexity on
VCVTT.

The extra trick that this has learned in the process is to move two
adjacent lanes using a single f32 vmov, allowing some extra
inefficiencies to be removed.

Differenial Revision: https://reviews.llvm.org/D96876
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shufflemov.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld3.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-div-expand.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-minmax.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-simple-arith.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vldst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shuffle.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst3.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ind16-scaled.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrVFP.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float16regloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst2.ll
Commit 15a74b64dfa9bc1213cd582415f849b4dba51bad by flo
[VPlan] Manage pairs of incoming (VPValue, VPBB) in VPWidenPHIRecipe.

This patch extends VPWidenPHIRecipe to manage pairs of incoming
(VPValue, VPBasicBlock) in the VPlan native path. This is made possible
because we now directly manage defined VPValues for recipes.

By keeping both the incoming value and block in the recipe directly,
code-generation in the VPlan native path becomes independent of the
predecessor ordering when fixing up non-induction phis, which currently
can cause crashes in the VPlan native path.

This fixes PR45958.

Reviewed By: sguggill

Differential Revision: https://reviews.llvm.org/D96773
The file was modifiedllvm/test/Transforms/LoopVectorize/outer_loop_test2.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/outer_loop_test1_no_explicit_vect_width.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/vplan-vectorize-inner-loop-reduction.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was addedllvm/test/Transforms/LoopVectorize/outer-loop-vec-phi-predecessor-order.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 6e3071007b4c9438d2ae49476de87db30d6d24e9 by balazsbenics
[analyzer] Introduce MacroExpansionContext to libAnalysis

Introduce `MacroExpansionContext` to track what and how macros in a translation
unit expand. This is the first element of the patch-stack in this direction.

The main goal is to substitute the current macro expansion generator in the
`PlistsDiagnostics`, but all the other `DiagnosticsConsumer` could benefit from
this.

`getExpandedText` and `getOriginalText` are the primary functions of this class.
The former can provide you the text that was the result of the macro expansion
chain starting from a `SourceLocation`.
While the latter will tell you **what text** was in the original source code
replaced by the macro expansion chain from that location.

Here is an example:

  void bar();
  #define retArg(x) x
  #define retArgUnclosed retArg(bar()
  #define BB CC
  #define applyInt BB(int)
  #define CC(x) retArgUnclosed

  void unbalancedMacros() {
    applyInt  );
  //^~~~~~~~~~^ is the substituted range
  // Original text is "applyInt  )"
  // Expanded text is "bar()"
  }

  #define expandArgUnclosedCommaExpr(x) (x, bar(), 1
  #define f expandArgUnclosedCommaExpr

  void unbalancedMacros2() {
    int x =  f(f(1))  ));  // Look at the parenthesis!
  //         ^~~~~~^ is the substituted range
  // Original text is "f(f(1))"
  // Expanded text is "((1,bar(),1,bar(),1"
  }

Might worth investigating how to provide a reusable component, which could be
used for example by a standalone tool eg. expanding all macros to their
definitions.

I borrowed the main idea from the `PrintPreprocessedOutput.cpp` Frontend
component, providing a `PPCallbacks` instance hooking the preprocessor events.
I'm using that for calculating the source range where tokens will be expanded
to. I'm also using the `Preprocessor`'s `OnToken` callback, via the
`Preprocessor::setTokenWatcher` to reconstruct the expanded text.

Unfortunately, I concatenate the token's string representation without any
whitespaces except if the token is an identifier when I emit an extra space
to produce valid code for `int var` token sequences.
This could be improved later if needed.

Patch-stack:
  1) D93222 (this one) Introduces the MacroExpansionContext class and unittests

  2) D93223 Create MacroExpansionContext member in AnalysisConsumer and pass
     down to the diagnostics consumers

  3) D93224 Use the MacroExpansionContext for macro expansions in plists
     It replaces the 'old' macro expansion mechanism.

  4) D94673 API for CTU macro expansions
     You should be able to get a `MacroExpansionContext` for each imported TU.
     Right now it will just return `llvm::None` as this is not implemented yet.

  5) FIXME: Implement macro expansion tracking for imported TUs as well.

It would also relieve us from bugs like:
  - [fixed] D86135
  - [confirmed] The `__VA_ARGS__` and other macro nitty-gritty, such as how to
    stringify macro parameters, where to put or swallow commas, etc. are not
    handled correctly.
  - [confirmed] Unbalanced parenthesis are not well handled - resulting in
    incorrect expansions or even crashes.
  - [confirmed][crashing] https://bugs.llvm.org/show_bug.cgi?id=48358

Reviewed By: martong, Szelethus

Differential Revision: https://reviews.llvm.org/D93222
The file was addedclang/lib/Analysis/MacroExpansionContext.cpp
The file was addedclang/unittests/Analysis/MacroExpansionContextTest.cpp
The file was modifiedclang/lib/Analysis/CMakeLists.txt
The file was addedclang/include/clang/Analysis/MacroExpansionContext.h
The file was modifiedclang/unittests/Analysis/CMakeLists.txt
Commit 7c58fb6ba04e28e594587bb27f13849cc1f2d305 by balazsbenics
[analyzer] Create MacroExpansionContext member in AnalysisConsumer

Adds a `MacroExpansionContext` member to the `AnalysisConsumer` class.
Tracks macro expansions only if the `ShouldDisplayMacroExpansions` is set.
Passes a reference down the pipeline letting AnalysisConsumers query macro
expansions during bugreport construction.

Reviewed By: martong, Szelethus

Differential Revision: https://reviews.llvm.org/D93223
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
Commit 170c67d5b8cc58dd8a4bd0ea7c5ca02290fac39c by balazsbenics
[analyzer] Use the MacroExpansionContext for macro expansions in plists

Removes the obsolete ad-hoc macro expansions during bugreport constructions.
It will skip the macro expansion if the expansion happened in an imported TU.

Also removes the expected plist file, while expanding matching context for
the tests.
Adds a previously crashing `plist-macros-with-expansion.c` testfile.
Temporarily marks `plist-macros-with-expansion-ctu.c ` to `XFAIL`.

Reviewed By: xazax.hun, Szelethus

Differential Revision: https://reviews.llvm.org/D93224
The file was removedclang/test/Analysis/Inputs/expected-plists/plist-macros-with-expansion.cpp.plist
The file was addedclang/test/Analysis/plist-macros-with-expansion.c
The file was modifiedclang/test/Analysis/plist-macros-with-expansion.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was modifiedclang/test/Analysis/plist-macros-with-expansion-ctu.c
Commit 38b185832e04ed0588c43161f5c3a8c0ce267497 by balazsbenics
[analyzer][CTU] API for CTU macro expansions

Removes `CrossTranslationUnitContext::getImportedFromSourceLocation`
Removes the corresponding unit-test segment.

Introduces the `CrossTranslationUnitContext::getMacroExpansionContextForSourceLocation`
which will return the macro expansion context for an imported TU. Also adds a
few implementation FIXME notes where applicable, since this feature is
not implemented yet. This fact is also noted as Doxygen comments.

Uplifts a few CTU LIT test to match the current **incomplete** behavior.

It is a regression to some extent since now we don't expand any
macros in imported TUs. At least we don't crash anymore.

Note that the introduced function is already covered by LIT tests.
Eg.: Analysis/plist-macros-with-expansion-ctu.c

Reviewed By: balazske, Szelethus

Differential Revision: https://reviews.llvm.org/D94673
The file was modifiedclang/include/clang/AST/ASTImporter.h
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/test/Analysis/plist-macros-with-expansion-ctu.c
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was modifiedclang/lib/CrossTU/CrossTranslationUnit.cpp
The file was modifiedclang/include/clang/CrossTU/CrossTranslationUnit.h
The file was modifiedclang/unittests/CrossTU/CrossTranslationUnitTest.cpp
Commit 188f15d973101649f7172e353f85727b41f2ffa8 by david.green
[ARM] Remove dead lowering code. NFC

Remove the unnecessary code from 21a4faab60c34b8a8c4d09, left over from
a different way of lowering.
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
Commit d81f633fe28fd23108b4dc8c25548f1653ba0cd2 by andrzej.warzynski
[flang][driver] Add -Xflang and make -test-io a frontend-only flang

This patch adds support for `-Xflang` in `flang-new`. The semantics are
identical to `-Xclang`.

With the addition of `-Xflang`, we can modify `-test-io` to be a
compiler-frontend only flag. This makes more sense, this flag is:
  * very frontend specific
  * to be used for development and testing only
  * not to be exposed to the end user
Originally we added it to the compiler driver, `flang-new`, in order to
facilitate testing. With `-Xflang` this is no longer needed. Tests are
updated accordingly.

Differential Revision: https://reviews.llvm.org/D96864
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedflang/test/Frontend/multiple-input-files.f90
The file was modifiedflang/test/Flang-Driver/driver-help.f90
The file was modifiedclang/lib/Driver/ToolChains/Flang.cpp
The file was modifiedflang/test/Flang-Driver/driver-help-hidden.f90
The file was modifiedclang/lib/Driver/Types.cpp
The file was modifiedflang/test/Frontend/input-output-file.f90