SuccessChanges

Summary

  1. [IR] make stack-protector-guard-* flags into module attrs (details)
  2. [lit] Print full googletest commad line (details)
  3. [NFC][sanitizer] Remove unused variable (details)
  4. [NewPM] Mark BitcodeWriter as required. (details)
  5. Revert "[NPM] Do not run function simplification pipeline unnecessarily" (details)
  6. Revert "[NewPM] Only invalidate modified functions' analyses in CGSCC passes" (details)
  7. [ORC][C-bindings] Replace LLVMOrcJITTargetMachineBuilderDisposeTargetTriple. (details)
  8. [flang] Fix symbol table bugs with ENTRY statements (details)
Commit 033138ea452f5f493fb5095e5963419905ad12e1 by ndesaulniers
[IR] make stack-protector-guard-* flags into module attrs

D88631 added initial support for:

- -mstack-protector-guard=
- -mstack-protector-guard-reg=
- -mstack-protector-guard-offset=

flags, and D100919 extended these to AArch64. Unfortunately, these flags
aren't retained for LTO. Make them module attributes rather than
TargetOptions.

Link: https://github.com/ClangBuiltLinux/linux/issues/1378

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D102742
The file was modifiedllvm/test/CodeGen/X86/stack-protector-3.ll
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/test/CodeGen/AArch64/stack-guard-sysreg.ll
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedllvm/include/llvm/IR/Module.h
The file was addedllvm/test/Linker/stack-protector-guard-module-attrs.ll
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was addedclang/test/CodeGen/stack-protector-guard.c
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/StackProtector.cpp
The file was modifiedllvm/lib/IR/Module.cpp
Commit 01c5904907318e4c13ac664567f993428602643a by Vitaly Buka
[lit] Print full googletest commad line

Similar to regular output of LIT tests:
https://github.com/llvm/llvm-project/blob/c162f086ba632ffaedfe92d63bf21571bc8ae4da/llvm/utils/lit/lit/TestRunner.py#L1569

Differential Revision: https://reviews.llvm.org/D102899
The file was modifiedllvm/utils/lit/tests/googletest-format.py
The file was modifiedllvm/utils/lit/tests/googletest-timeout.py
The file was modifiedllvm/utils/lit/tests/googletest-upstream-format.py
The file was modifiedllvm/utils/lit/lit/formats/googletest.py
Commit 599282300836c1c3860aeeab63c253f41863a95a by Vitaly Buka
[NFC][sanitizer] Remove unused variable
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cpp
Commit f8e7b28c99e9e1fdbca6600fc9d9182d7aefa162 by efriedma
[NewPM] Mark BitcodeWriter as required.

The textual IR writer has an equivalent marking.  It looks like this got
missed in e6ea877.
The file was modifiedllvm/test/Other/opt-bisect-new-pass-manager.ll
The file was modifiedllvm/include/llvm/Bitcode/BitcodeWriterPass.h
Commit a52530dd6a6d2aa3b63637ad40e4fce8e89c34c2 by aeubanks
Revert "[NPM] Do not run function simplification pipeline unnecessarily"

This reverts commit 97ab068034161fb35e5c9a7b293bf1e569cf077b.

Depends on D100917, which is to be reverted.
The file was removedllvm/test/Other/new-pass-manager-cgscc-fct-proxy.ll
The file was modifiedllvm/unittests/Analysis/CGSCCPassManagerTest.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Analysis/CGSCCPassManager.h
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
Commit f7788e1bff223a58292b8b1d0818dac63b713ead by aeubanks
Revert "[NewPM] Only invalidate modified functions' analyses in CGSCC passes"

This reverts commit d14d84af2f5ebb8ae2188ce6884a29a586dc0a40.

Causes unacceptable memory regressions.
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
The file was removedllvm/test/Transforms/Inline/analysis-invalidation.ll
The file was modifiedllvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll
The file was modifiedllvm/lib/Transforms/IPO/FunctionAttrs.cpp
The file was modifiedllvm/lib/Transforms/IPO/ArgumentPromotion.cpp
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
Commit 40df1b15b4f718d203272290cc831c7b174c1a55 by Lang Hames
[ORC][C-bindings] Replace LLVMOrcJITTargetMachineBuilderDisposeTargetTriple.

The implementation and intent behind freeing the triple string here is the same
as LLVMGetDefaultTargetTriple (and any other owned c string returned from the C
API), so we should use LLVMDisposeMessage for to free the string for
consistency.

Patch by Mats Larsen -- thanks Mats!

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D102957
The file was modifiedllvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
The file was modifiedllvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
The file was modifiedllvm/include/llvm-c/Orc.h
Commit e162dc6f281e817e6dd000be71bfaf6bad358d79 by pklausler
[flang] Fix symbol table bugs with ENTRY statements

Dummy arguments of ENTRY statements in execution parts were
not being created as objects, nor were they being implicitly
typed.

When the symbol corresponding to an alternate ENTRY point
already exists (by that name) due to having been referenced
in an earlier call, name resolution used to delete the extant
symbol.  This isn't the right thing to do -- the extant
symbol will be pointed to by parser::Name nodes in the parse
tree while no longer being part of any Scope.

Differential Review: https://reviews.llvm.org/D102948
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/test/Semantics/resolve18.f90