SuccessChanges

Summary

  1. Precommit AArch64 test for -consider-local-interval-cost (details)
  2. [AArch64] Fix unannotated fall-through between switch labels (details)
  3. Add Windows Control Flow Guard checks (/guard:cf). (details)
Commit 265ddc57579b28da1fcfb632f165307e98480528 by Sanne.Wouda
Precommit AArch64 test for -consider-local-interval-cost
Summary: Precommitting this test makes it more obvious what the delta is
of enabling
-consider-local-interval-cost in D69437.
Reviewers: dmgreen
Subscribers: kristof.beyls, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69512
The file was addedllvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
Commit a233e7d7cb642ada49985426c23aa3c6a4c98690 by Jinsong Ji
[AArch64] Fix unannotated fall-through between switch labels
This is breaking buildbot with -Werror,-Wimplicit-fallthrough on. eg:
http://lab.llvm.org:8011/builders/ppc64le-lld-multistage-test/builds/6881
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
Commit d157a9bc8ba1085cc4808c6941412322a7fd884e by David.Chisnall
Add Windows Control Flow Guard checks (/guard:cf).
Summary: A new function pass (Transforms/CFGuard/CFGuard.cpp) inserts
CFGuard checks on indirect function calls, using either the check
mechanism (X86, ARM, AArch64) or or the dispatch mechanism (X86-64). The
check mechanism requires a new calling convention for the supported
targets. The dispatch mechanism adds the target as an operand bundle,
which is processed by SelectionDAG. Another pass
(CodeGen/CFGuardLongjmp.cpp) identifies and emits valid longjmp targets,
as required by /guard:cf. This feature is enabled using the `cfguard`
CC1 option.
Reviewers: thakis, rnk, theraven, pcc
Subscribers: ychen, hans, metalcanine, dmajor, tomrittervg, alex,
mehdi_amini, mgorny, javed.absar, kristof.beyls, hiraditya, steven_wu,
dexonsmith, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D65761
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/Target/X86/X86AsmPrinter.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/include/llvm/IR/LLVMContext.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FastISel.cpp
The file was modifiedllvm/include/llvm/MC/MCObjectFileInfo.h
The file was modifiedclang/test/Driver/cl-options.c
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/test/CodeGen/WinCFGuard/cfguard.ll
The file was modifiedllvm/include/llvm/IR/CallingConv.h
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/lib/Target/ARM/ARMCallingConv.h
The file was modifiedllvm/include/llvm/CodeGen/MachineFunction.h
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedllvm/lib/IR/LLVMContext.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/lib/CodeGen/CodeGen.cpp
The file was addedllvm/test/CodeGen/X86/cfguard-x86-vectorcall.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.td
The file was modifiedllvm/include/llvm/Target/TargetCallingConv.td
The file was modifiedllvm/lib/CodeGen/AsmPrinter/WinCFGuard.h
The file was modifiedllvm/lib/Target/X86/X86CallingConv.td
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/cfguard-module-flag.ll
The file was addedllvm/test/CodeGen/X86/cfguard-checks.ll
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Transforms/CMakeLists.txt
The file was addedllvm/test/CodeGen/AArch64/cfguard-checks.ll
The file was modifiedllvm/lib/Target/ARM/LLVMBuild.txt
The file was modifiedllvm/include/llvm/CodeGen/TargetCallingConv.h
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFastISel.cpp
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedllvm/test/Bitcode/calling-conventions.3.2.ll
The file was addedllvm/test/CodeGen/X86/cfguard-module-flag.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/test/Bitcode/calling-conventions.3.2.ll.bc
The file was addedllvm/lib/Transforms/CFGuard/CMakeLists.txt
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was addedllvm/test/CodeGen/ARM/cfguard-checks.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.h
The file was modifiedllvm/lib/Target/X86/LLVMBuild.txt
The file was addedllvm/lib/CodeGen/CFGuardLongjmp.cpp
The file was modifiedllvm/lib/Transforms/LLVMBuild.txt
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/lib/Target/ARM/ARMCallingConv.td
The file was modifiedllvm/include/llvm/CodeGen/Passes.h
The file was addedllvm/include/llvm/Transforms/CFGuard.h
The file was addedllvm/test/CodeGen/ARM/cfguard-module-flag.ll
The file was modifiedllvm/lib/Target/AArch64/LLVMBuild.txt
The file was modifiedclang/test/Driver/cl-fallback.c
The file was modifiedllvm/test/Bitcode/operand-bundles-bc-analyzer.ll
The file was modifiedclang/test/CodeGen/cfguardtable.c
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was addedllvm/test/CodeGen/X86/cfguard-x86-64-vectorcall.ll
The file was addedllvm/lib/Transforms/CFGuard/CFGuard.cpp
The file was addedllvm/lib/Transforms/CFGuard/LLVMBuild.txt
The file was modifiedllvm/lib/AsmParser/LLToken.h