FailedChanges

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

Summary

  1. Fix and test inter-procedural register allocation for ARM (details)
  2. [IPRA][ARM] Disable no-CSR optimisation for ARM (details)
  3. [MCA] Add support for printing immedate values as hex. Also enable (details)
  4. [clangd] Remove bad assert: nothing relies on it, and the reasons it was (details)
  5. [COFF] Avoid loading objects for mingw autoimport, when a defined alias (details)
  6. [COFF] Clarify a comment. NFC. (details)
  7. [OpenCL] Allow OpenCL C style vector initialization in C++ (details)
  8. [llvm-dlltool] Clarify an error message. NFC. (details)
  9. [x86] add/adjust tests for shift-add-shift; NFC (details)
  10. Fix "not all control paths return a value" warning. NFCI. (details)
  11. [ThinLTO] Implement index-based WPD (details)
  12. Fix new test (details)
  13. Fix new test try 2 (details)
  14. GlobalISel: support swiftself attribute (details)
  15. [clangd][vscode] clang-format the the extension code. (details)
  16. [NFC] Test commit, corrected some spelling in comment (details)
  17. [ORC] Change the locking scheme for ThreadSafeModule. (details)
  18. [clangd] Fix a crash when presenting values for Hover (details)
  19. Use llvm-nm instead of nm in new test to unbreak Windows bot (details)
  20. [doc] Give a workaround for a FileCheck regex that ends in a brace. (details)
  21. [Sema] Disable -Wbitwise-op-parentheses and -Wlogical-op-parentheses by (details)
  22. Fix PC adjustment in StackFrame::GetSymbolContext (details)
  23. gn build: Merge r367667. (details)
  24. Fix git-llvm to not delete non-empty directories. (details)
  25. [clang-tidy] Adding static analyzer check to list of clang-tidy checks (details)
  26. [InstCombine] fold cmp+select using select operand equivalence (details)
  27. CodeGen: Don't follow aliases when extracting type info. (details)
  28. Fix ARC after r367633 (details)
  29. [AMDGPU] Regenerated saddo.ll test file for D47927 (details)
  30. [SimplifyCFG] Cleanup redundant conditions [NFC]. (details)
  31. [AArch64][GlobalISel] Support the neg_addsub_shifted_imm32 pattern (details)
  32. [Formatters] Temporarily disable libc++ std::function formatter due to (details)
  33. [llvm-objcopy] - Fix the strip-dwo-groups.test. (details)
  34. [NewPassManager] Resolve assertion in CGSCCPassManager when CallCounts (details)
  35. Changing representation of cv_def_range directives in Codeview debug (details)
  36. [sanitizer_common][tests] Fix SanitizerCommon-Unit :: (details)
  37. Use rip-relative addressing in asm test (details)
  38. Temporarily Revert "Changing representation of cv_def_range directives (details)
  39. Remove a dead diagnostic, NFC (details)
  40. [Driver][test] Avoid undefined grep in darwin-ld.c (details)
  41. [DAGCombiner] try to convert opposing shifts to casts (details)
  42. Add MCRegister and use it in MCRegisterClass::contains() (details)
  43. [ORC] Turn on symbol-flags overrides for LLJIT on Windows by default. (details)
  44. [PowerPC][NFC] Enable ADT BitVectorTest (details)
Commit f6b00c279a5587a25876752a6ecd8da0bed959dc by oliver.stannard
Fix and test inter-procedural register allocation for ARM
- Avoid a crash when IPRA calls ARMFrameLowering::determineCalleeSaves
with a null RegScavenger. Simply not updating the register scavenger
is fine because IPRA only cares about the SavedRegs vector, the acutal
code of the function has already been generated at this point.
- Add a new hook to TargetRegisterInfo to get the set of registers which
can be clobbered inside a call, even if the compiler can see both
sides, by linker-generated code.
Differential revision: https://reviews.llvm.org/D64908
llvm-svn: 367669
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was modifiedllvm/lib/CodeGen/RegUsageInfoCollector.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetRegisterInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.h
The file was addedllvm/test/CodeGen/ARM/ipra.ll
Commit 4b7239ebaca72f2cd92682019fbe0bef5b46cd4e by oliver.stannard
[IPRA][ARM] Disable no-CSR optimisation for ARM
This optimisation isn't generally profitable for ARM, because we can
save/restore many registers in the prologue and epilogue using the PUSH
and POP instructions, but mostly use individual LDR/STR instructions for
other spills.
Differential revision: https://reviews.llvm.org/D64910
llvm-svn: 367670
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was addedllvm/test/CodeGen/ARM/ipra-no-csr.ll
The file was modifiedllvm/lib/CodeGen/RegUsageInfoCollector.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
Commit 207e3af5018ea97f69007ecc70687ce07990617d by Andrea_DiBiagio
[MCA] Add support for printing immedate values as hex. Also enable
lexing of masm binary and hex literals.
This patch adds a new llvm-mca flag named -print-imm-hex.
By default, the instruction printer prints immediate operands as
decimals. Flag
-print-imm-hex enables the instruction printer to print those operands
in hex.
This patch also adds support for MASM binary and hex literal numbers
(example 0FFh, 101b). Added tests to verify the behavior of the new
flag. Tests also verify that masm numeric literal operands are now
recognized.
Differential Revision: https://reviews.llvm.org/D65588
llvm-svn: 367671
The file was addedllvm/test/tools/llvm-mca/X86/print-imm-hex-2.s
The file was modifiedllvm/docs/CommandGuide/llvm-mca.rst
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was modifiedllvm/tools/llvm-mca/CodeRegionGenerator.cpp
The file was addedllvm/test/tools/llvm-mca/X86/print-imm-hex-1.s
Commit ad66e95b0de5e3763b0d22345a0dca5f6b722a48 by sam.mccall
[clangd] Remove bad assert: nothing relies on it, and the reasons it was
true no longer hold.
llvm-svn: 367672
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
Commit 5f0077d238f12572d13c6070f74ecbace49511c8 by martin
[COFF] Avoid loading objects for mingw autoimport, when a defined alias
exists
This avoids a spurious and confusing log message in cases where both
e.g. "alias" and "__imp_alias" exist.
Differential Revision: https://reviews.llvm.org/D65598
llvm-svn: 367673
The file was addedlld/test/COFF/alias-implib.s
The file was modifiedlld/COFF/SymbolTable.cpp
The file was addedlld/test/COFF/Inputs/alias-implib.lib
Commit 397a516a52d52a530a29351bbe4de02e72c884bd by martin
[COFF] Clarify a comment. NFC.
It's the __delayLoadHelper2 function that overwrites the jump table
slot, not this thunk.
llvm-svn: 367674
The file was modifiedlld/COFF/DLL.cpp
Commit 8d99a5c0e629131e732baf02cfeea8f42f61f5f2 by anastasia.stulova
[OpenCL] Allow OpenCL C style vector initialization in C++
Allow creating vector literals from other vectors.
float4 a = (float4)(1.0f, 2.0f, 3.0f, 4.0f);
float4 v = (float4)(a.s23, a.s01);
Differential revision: https://reviews.llvm.org/D65286
llvm-svn: 367675
The file was removedclang/test/CodeGenOpenCL/vector_literals_nested.cl
The file was modifiedclang/test/SemaCXX/vector.cpp
The file was removedclang/test/SemaOpenCL/vector_literals_const.cl
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/test/CodeGenOpenCL/vector_literals_valid.cl
Commit ed7e1cd877a43a0d723e08dac12625bf303edfde by martin
[llvm-dlltool] Clarify an error message. NFC.
The parameter to the -D (--dllname) option is the name of the dll that
llvm-dlltool produces an import library for. Even though this is named
"OutputFile" in the COFFModuleDefinition class, it's not an output file
name in the context of llvm-dlltool, but the name of the DLL to create
an import library for.
llvm-svn: 367676
The file was modifiedllvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
Commit ab90c893646c7a7f111f26ad38099a38013f2efa by spatel
[x86] add/adjust tests for shift-add-shift; NFC
Goes with D65607.
llvm-svn: 367677
The file was modifiedllvm/test/CodeGen/X86/shift-combine.ll
Commit 4cfd015bebb6966227964070c6bea738eaf897ae by llvm-dev
Fix "not all control paths return a value" warning. NFCI.
llvm-svn: 367678
The file was modifiedclang-tools-extra/clangd/unittests/TweakTesting.cpp
Commit d2df54e6a55af509b08afa109fe522cd88ad1c33 by tejohnson
[ThinLTO] Implement index-based WPD
This patch adds support to the WholeProgramDevirt pass to perform
index-based WPD, which is invoked from ThinLTO during the thin link.
The ThinLTO backend (WPD import phase) behaves the same regardless of
whether the WPD decisions were made with the index-based or (the
existing) IR-based analysis.
Depends on D54815.
Reviewers: pcc
Subscribers: mehdi_amini, inglorion, eraman, steven_wu, dexonsmith,
arphaman, dang, llvm-commits
Differential Revision: https://reviews.llvm.org/D55153
llvm-svn: 367679
The file was modifiedllvm/lib/LTO/LTO.cpp
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was addedllvm/test/ThinLTO/X86/Inputs/devirt2.ll
The file was modifiedllvm/test/ThinLTO/X86/devirt.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/WholeProgramDevirt.h
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
The file was addedllvm/test/ThinLTO/X86/devirt2.ll
The file was modifiedllvm/tools/llvm-lto2/llvm-lto2.cpp
The file was addedllvm/test/ThinLTO/X86/nodevirt-nonpromoted-typeid.ll
Commit e69f8dcd0b1b1ac8bed88cb3c116f08ef208a345 by tejohnson
Fix new test
Thew new test added in r367679 was using the wrong copy of the Input
file.
llvm-svn: 367680
The file was modifiedllvm/test/ThinLTO/X86/devirt2.ll
Commit deb61871d3020cee93e6f9a3badc91a09c319fd5 by tejohnson
Fix new test try 2
Fix second (and last) instance of wrong Input file name in new test
added in r367679.
llvm-svn: 367682
The file was modifiedllvm/test/ThinLTO/X86/devirt2.ll
Commit 522fb7eedc1bc6257a5aad9938ca0c47b5ad07e5 by Tim Northover
GlobalISel: support swiftself attribute
llvm-svn: 367683
The file was modifiedllvm/lib/Target/ARM/ARMCallLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsCallLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/swiftself.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/Target/X86/X86CallLowering.cpp
Commit 13a81444cd5be498aa224492a3439f4d1a1309f6 by hokein
[clangd][vscode] clang-format the the extension code.
Summary: As we are going to grow the extension in the near future, it is
time to formalize the TS code format/style of our extension (although
we'd lose the history).
We use default options of clang-format:
- 80 max line length
- 2 space indent
Reviewers: ilya-biryukov, sammccall, jvikstrom
Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D65657
llvm-svn: 367684
The file was modifiedclang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts
The file was modifiedclang-tools-extra/clangd/clients/clangd-vscode/test/index.ts
The file was modifiedclang-tools-extra/clangd/clients/clangd-vscode/package.json
The file was modifiedclang-tools-extra/clangd/clients/clangd-vscode/test/extension.test.ts
The file was modifiedclang-tools-extra/clangd/clients/clangd-vscode/README.md
Commit 7eacefedab6fcdaab760ce28665fff57458a4e2f by david.candler
[NFC] Test commit, corrected some spelling in comment
Test commit, corrected some spelling in comment.
Differential Revision: https://reviews.llvm.org/D65516
llvm-svn: 367685
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp
Commit 809e9d1efa2f58b6333b1a0445e8574beedffc22 by Lang Hames
[ORC] Change the locking scheme for ThreadSafeModule.
ThreadSafeModule/ThreadSafeContext are used to manage lifetimes and
locking for LLVMContexts in ORCv2. Prior to this patch contexts were
locked as soon as an associated Module was emitted (to be compiled and
linked), and were not unlocked until the emit call returned. This could
lead to deadlocks if interdependent modules that shared contexts were
compiled on different threads: when, during emission of the first
module, the dependence was discovered the second module (which would
provide the required symbol) could not be emitted as the thread emitting
the first module still held the lock.
This patch eliminates this possibility by moving to a finer-grained
locking scheme. Each client holds the module lock only while they are
actively operating on it. To make this finer grained locking
simpler/safer to implement this patch removes the explicit lock method,
'getContextLock', from ThreadSafeModule and replaces it with a new
method, 'withModuleDo', that implicitly locks the context, calls a
user-supplied function object to operate on the Module, then implicitly
unlocks the context before returning the result.
ThreadSafeModule TSM = getModule(...); size_t NumFunctions =
TSM.withModuleDo(
   [](Module &M) { // <- context locked before entry to lambda.
     return M.size();
   });
Existing ORCv2 layers that operate on ThreadSafeModules are updated to
use the new method.
This method is used to introduce Module locking into each of the
existing layers.
llvm-svn: 367686
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h
The file was modifiedllvm/unittests/ExecutionEngine/Orc/ThreadSafeModuleTest.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/Layer.cpp
The file was modifiedllvm/tools/lli/lli.cpp
The file was modifiedllvm/docs/ORCv2.rst
The file was modifiedllvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/ThreadSafeModule.cpp
Commit 25082817eb6b37f3a51799b006b297c0cd742179 by ibiryukov
[clangd] Fix a crash when presenting values for Hover
Summary: We should pass the expression type, not a variable type when
printing the resulting value. Variable type may be different from what
the pretty-printing function expects, e.g. have references.
Reviewers: sammccall
Reviewed By: sammccall
Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D65655
llvm-svn: 367687
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang-tools-extra/clangd/unittests/XRefsTests.cpp
Commit 08b72f0d4161e8c59af6ca29c0c18886a1f724f9 by tejohnson
Use llvm-nm instead of nm in new test to unbreak Windows bot
New test added in r367679 used nm and should use llvm-nm.
llvm-svn: 367688
The file was modifiedllvm/test/ThinLTO/X86/devirt2.ll
Commit 89683e9dd7db4693061b765923518cc040842ecf by paul.robinson
[doc] Give a workaround for a FileCheck regex that ends in a brace.
Addresses PR42864.
llvm-svn: 367689
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst
Commit e93341f7c87e6816a8026d8bdd2a59e2f71f56a9 by maskray
[Sema] Disable -Wbitwise-op-parentheses and -Wlogical-op-parentheses by
default
Summary: The -Wparentheses warnings are enabled by default in clang but
they are under
-Wall in gcc (gcc/c-family/c.opt). Some of the operator precedence
warnings are oftentimes criticized as noise (clang: default; gcc:
-Wall). If a warning is very controversial, it is probably not a good
idea to enable it by default. This patch disables the rather annoying
ones:
-Wbitwise-op-parentheses, e.g. i & i | i
-Wlogical-op-parentheses, e.g. i && i || i
After this change:
```
* = enabled by default
-Wall
-Wparentheses
   -Wlogical-op-parentheses
   -Wlogical-not-parentheses*
   -Wbitwise-op-parentheses
   -Wshift-op-parentheses*
   -Woverloaded-shift-op-parentheses*
   -Wparentheses-equality*
   -Wdangling-else*
```
-Woverloaded-shift-op-parentheses is typically followed by overload
resolution failure. We can instead improve the error message, and
probably delete -Woverloaded-shift-op-parentheses in the future. Keep it
for now because it gives some diagnostics.
Reviewers: akyrtzi, jyknight, rtrieu, rsmith, aaron.ballman
Reviewed By: aaron.ballman
Subscribers: dexonsmith, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D65192
llvm-svn: 367690
The file was modifiedclang/test/SemaCXX/parentheses.cpp
The file was addedclang/test/Sema/logical-op-parentheses.c
The file was addedclang/test/Sema/bitwise-op-parentheses.c
The file was modifiedclang/test/Sema/parentheses.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit 31e6dbe1c6a6e418bd65847610d5052cc59978b2 by jotrem
Fix PC adjustment in StackFrame::GetSymbolContext
Summary: Update StackFrame::GetSymbolContext to mirror the logic in
RegisterContextLLDB::InitializeNonZerothFrame that knows not to do the
pc decrement when the given frame is a signal trap handler frame or the
parent of one, because the pc may not follow a call in these frames.
Accomplish this by adding a behaves_like_zeroth_frame field to
lldb_private::StackFrame, set to true for the zeroth frame, for signal
handler frames, and for parents of signal handler frames.
Also add logic to propagate the signal handler flag from UnwindPlan to
the FrameType on the RegisterContextLLDB it generates, and factor out a
helper to resolve symbol and address range for an Address now that we
need to invoke it in four places.
Reviewers: jasonmolenda, clayborg, jfb
Reviewed By: jasonmolenda
Subscribers: labath, dexonsmith, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D64993
llvm-svn: 367691
The file was modifiedlldb/include/lldb/Core/Address.h
The file was modifiedlldb/source/Target/StackFrameList.cpp
The file was modifiedlldb/source/Core/Address.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.h
The file was modifiedlldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp
The file was addedlldb/lit/Unwind/trap_frame_sym_ctx.test
The file was modifiedlldb/include/lldb/Target/Unwind.h
The file was modifiedlldb/include/lldb/Target/StackFrame.h
The file was modifiedlldb/source/Plugins/Process/Utility/UnwindLLDB.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/HistoryUnwind.cpp
The file was addedlldb/lit/Unwind/Inputs/trap_frame_sym_ctx.s
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextLLDB.h
The file was modifiedlldb/source/Target/StackFrame.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/HistoryUnwind.h
The file was modifiedlldb/source/Plugins/Process/Utility/UnwindLLDB.h
Commit a13a827c99e07f8b64c569b9e7be60ddafed51d6 by peter
gn build: Merge r367667.
llvm-svn: 367692
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Commit 383d760ffef9ef919321364bc609a34923331940 by jyknight
Fix git-llvm to not delete non-empty directories.
Previously, if a directory contained only other sub-directories, one of
which was being removed, git llvm would delete the parent and all its
subdirs, even though only one should've been deleted.
This error occurred in r366590, where the commit attempted to remove
lldb/packages/Python/lldbsuite/test/tools/lldb-mi, but git-llvm
erroneously removed the entire contents of
lldb/packages/Python/lldbsuite/test/tools.
This happened because "git apply" automatically removes empty
directories locally, and the absence of a local directory was previously
taken as an indication to call 'svn rm' on that directory. However, an
empty local directory does not necessarily indicate that the directory
is truly empty.
Fix that by removing directories only when they're empty on the git
side.
Differential Revision: https://reviews.llvm.org/D65416
llvm-svn: 367693
The file was modifiedllvm/utils/git-svn/git-llvm
Commit 6722923c38839bb6ba9d3ff0d9ba3be5eaef1708 by nhuck
[clang-tidy] Adding static analyzer check to list of clang-tidy checks
Summary: Since clang-tidy supports use of the static analyzer there
should be documentation of how to invoke the static analyzer checks.
Reviewers: JonasToth, aaron.ballman, NoQ, Szelethus
Reviewed By: aaron.ballman
Subscribers: nickdesaulniers, lebedev.ri, jfb, NoQ, Eugene.Zelenko,
xazax.hun, baloghadamsoftware, a.sidorin, Szelethus, donat.nagy, dkrupp,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D64454
llvm-svn: 367694
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.RetainCount.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-cplusplus.InnerPointer.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-optin.portability.UnixAPI.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-unix.API.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.mktemp.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.uninitialized.Assign.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-optin.mpi.MPI-Checker.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.OSObjectRetainCount.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.NonNilReturnValue.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-deadcode.DeadStores.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.ClassRelease.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.ObjCGenerics.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.VariadicMethodTypes.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-unix.cstring.BadSizeArg.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-optin.osx.OSObjectCStyleCast.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.bcopy.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.NullDereference.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.uninitialized.UndefReturn.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-cplusplus.NewDeleteLeaks.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.rand.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.Dealloc.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.IncompatibleMethodTypes.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.coreFoundation.containers.OutOfBounds.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-valist.Uninitialized.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.DynamicTypePropagation.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-cplusplus.Move.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-optin.cplusplus.UninitializedObject.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.UnusedIvars.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-unix.Malloc.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-unix.cstring.NullArg.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.AutoreleaseWrite.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.UndefinedBinaryOperatorResult.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.SecKeychainAPI.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.ObjCProperty.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-nullability.NullableDereferenced.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.FloatLoopCounter.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-unix.Vfork.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.Loops.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.NonNullParamChecker.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.coreFoundation.CFRetainRelease.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.MIG.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.NumberObjectConversion.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.bzero.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-cplusplus.NewDelete.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.CallAndMessage.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-nullability.NullReturnedFromNonnull.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.gets.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.API.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.NilArg.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.NSAutoreleasePool.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-nullability.NullablePassedToNonnull.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.MissingSuperCall.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.SelfInit.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/gen-static-analyzer-docs.py
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.mkstemp.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-valist.CopyToSelf.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.uninitialized.ArraySubscript.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.NSError.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-optin.performance.Padding.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-optin.cplusplus.VirtualCall.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.AtSync.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.UncheckedReturn.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.coreFoundation.containers.PointerSizedValues.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-unix.MallocSizeof.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-nullability.NullableReturnedFromNonnull.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.coreFoundation.CFNumber.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.cocoa.SuperDealloc.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.DivideZero.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-optin.performance.GCDAntipattern.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-osx.coreFoundation.CFError.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.getpw.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.VLASize.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.uninitialized.CapturedBlockVariable.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.bcmp.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.strcpy.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-security.insecureAPI.vfork.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-valist.Unterminated.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-unix.MismatchedDeallocator.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.StackAddressEscape.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-nullability.NullPassedToNonnull.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-core.uninitialized.Branch.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker.rst
Commit 9ce5f41851fe8016b6495ef514d772c6bc72cad2 by spatel
[InstCombine] fold cmp+select using select operand equivalence
As discussed in PR42696: https://bugs.llvm.org/show_bug.cgi?id=42696
...but won't help that case yet.
We have an odd situation where a select operand equivalence fold was
implemented in InstSimplify when it could have been done more generally
in InstCombine if we allow dropping of {nsw,nuw,exact} from a binop
operand.
Here's an example: https://rise4fun.com/Alive/Xplr
  %cmp = icmp eq i32 %x, 2147483647
%add = add nsw i32 %x, 1
%sel = select i1 %cmp, i32 -2147483648, i32 %add
=>
%sel = add i32 %x, 1
I've left the InstSimplify code in place for now, but my guess is that
we'd prefer to remove that as a follow-up to save on code duplication
and compile-time.
Differential Revision: https://reviews.llvm.org/D65576
llvm-svn: 367695
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select-obo-peo-ops.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select-bitext-bitwise-ops.ll
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
Commit 4dcf8800e2b8c2e43a9022054c6463a775851226 by peter
CodeGen: Don't follow aliases when extracting type info.
This fixes a crash in the case where the type info object is an alias
pointing to a non-zero offset within a global or is otherwise
unanalyzable by the stripPointerCasts() function. Looking through the
alias is not the right thing to do anyway for similar reasons as D65118.
Differential Revision: https://reviews.llvm.org/D65314
llvm-svn: 367696
The file was modifiedllvm/lib/CodeGen/Analysis.cpp
The file was addedllvm/test/CodeGen/X86/typeid-alias.ll
Commit c94c91f55ce4679f99b12c860ccd33be3cb60190 by daniel_l_sanders
Fix ARC after r367633
llvm-svn: 367697
The file was modifiedllvm/lib/Target/ARC/ARCOptAddrMode.cpp
Commit f7d9c43a4a50fddaf56e442f16eaf0f508745a39 by llvm-dev
[AMDGPU] Regenerated saddo.ll test file for D47927
llvm-svn: 367698
The file was modifiedllvm/test/CodeGen/AMDGPU/saddo.ll
Commit 5545e6963f24ce1ac654d0e66ed64086c975c2f5 by asbirlea
[SimplifyCFG] Cleanup redundant conditions [NFC].
Summary: Since the for loop iterates over BB's predecessors, the branch
conditions found must have BB as one of the successors. For an
unconditional branch the successor must be BB, added `assert`. For a
conditional branch, one of the two successors must be BB, simplify `else
if` to `else` and `assert`. Sink common instructions outside the if/else
block.
Reviewers: sanjoy.google
Subscribers: jlebar, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65596
llvm-svn: 367699
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit e4c46c34cec6944bc059cb582ea9f80428ccf066 by Jessica Paquette
[AArch64][GlobalISel] Support the neg_addsub_shifted_imm32 pattern
Add an equivalent ComplexRendererFns function for SelectNegArithImmed.
This allows us to select immediate adds of -1 by turning them into
subtracts.
Update select-binop.mir to show that the pattern works.
Differential Revision: https://reviews.llvm.org/D65460
llvm-svn: 367700
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-binop.mir
Commit c5d401453553b4c870338cc3a13fe17a7d464f09 by Shafik Yaghmour
[Formatters] Temporarily disable libc++ std::function formatter due to
performance issue
Summary: We have been seeing increased reports of performance issue
around large project and formatting std::function variables especially
in functions signatures in back traces. There are some possible fixes
but exploring those fixes may take time and it is better to temporarily
disable the formatter due to its impact and re-enable it once we have a
fix.
Differential Revision: https://reviews.llvm.org/D65666
llvm-svn: 367701
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/function/TestLibCxxFunction.py
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
Commit 524990797b8d002788ecb1c64cb17ad19e0879d5 by grimar
[llvm-objcopy] - Fix the strip-dwo-groups.test.
It was reported (https://reviews.llvm.org/D65273#1612246) that this test
fails if the compilation directory contain a "debug_" substring.
This should fix it.
llvm-svn: 367702
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/strip-dwo-groups.test
Commit 9f057853580ff3853a789daea2b3df7d7bd09851 by asbirlea
[NewPassManager] Resolve assertion in CGSCCPassManager when CallCounts
change.
Summary: If the CallCounts change after an iteration of the
DevirtSCCRepeatedPass, this is not reflected in the local CallCounts
structure triggering the assertion checking the before/after sizes.
Since it is valid for the size to change and this only uses the
CallCounts for the devirtualizing heuristic, keep a <Function*,
CallCount> map instead, and make the devirtualizing decision using the
counts for the functions that exist both before and after the pass.
Resolves PR42726.
Reviewers: chandlerc
Subscribers: mehdi_amini, jlebar, sanjoy.google, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65621
llvm-svn: 367703
The file was modifiedllvm/include/llvm/Analysis/CGSCCPassManager.h
The file was addedllvm/test/Other/new-pm-pr42726-cgscc.ll
Commit 1c67521591a7b63bcba11fa0c45f8465cb6d2e82 by nilanjana.basu87
Changing representation of cv_def_range directives in Codeview debug
info assembly format for better readability
llvm-svn: 367704
The file was modifiedllvm/test/DebugInfo/COFF/nrvo.ll
The file was modifiedllvm/test/DebugInfo/COFF/register-variables.ll
The file was modifiedllvm/lib/MC/MCAsmStreamer.cpp
The file was modifiedllvm/test/DebugInfo/COFF/local-variable-gap.ll
The file was modifiedllvm/test/MC/COFF/cv-def-range.s
The file was modifiedllvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
The file was modifiedllvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
The file was modifiedllvm/test/DebugInfo/COFF/local-variables.ll
The file was modifiedllvm/test/DebugInfo/COFF/pieces.ll
The file was modifiedllvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
The file was modifiedllvm/test/MC/COFF/cv-def-range-gap.s
The file was modifiedllvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
The file was modifiedllvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
The file was modifiedllvm/test/MC/COFF/cv-def-range-align.s
The file was modifiedllvm/include/llvm/MC/MCStreamer.h
The file was addedllvm/test/MC/COFF/cv-def-range-errors.s
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedllvm/test/DebugInfo/COFF/fp-stack.ll
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
Commit f98a153c8dcb9aa1eb0937e89eddd11103e8cdd6 by ro
[sanitizer_common][tests] Fix SanitizerCommon-Unit ::
./Sanitizer-*-Test/SanitizerCommon.PthreadDestructorIterations on
Solaris
SanitizerCommon.PthreadDestructorIterations currently FAILs on Solaris:
  [ RUN      ] SanitizerCommon.PthreadDestructorIterations

/vol/llvm/src/compiler-rt/local/lib/sanitizer_common/tests/sanitizer_posix_test.cc:58:
Failure
Value of: destructor_executed
   Actual: true
Expected: false
[  FAILED  ] SanitizerCommon.PthreadDestructorIterations (1 ms)
It turns out that destructor is called 4 times after the first call to
SpawnThread, but 5 times after the second.  While
PTHREAD_DESTRUCTOR_ITERATIONS is 4 in
<limits.h>, the Solaris pthread_key_create(3C) man page documents
  If, after all the destructors have been called for all keys  with
non-
null  values,  there  are  still  some  keys  with non-null values, the
process will be repeated. POSIX requires that this process be  executed
at   least   PTHREAD_DESTRUCTOR_ITERATIONS  times.  Solaris  calls  the
destructors repeatedly until all values with associated destructors are
NULL. Destructors that set new values can cause an infinite loop.
The patch adjusts the test case to allow for this.
Tested on x86_64-pc-solaris2.11.
Differential Revision: https://reviews.llvm.org/D65055
llvm-svn: 367705
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_posix_test.cpp
Commit 98264863254d29deeb45bcbbdb298f246308d673 by jotrem
Use rip-relative addressing in asm test
The absolute form is an error when targeting Darwin.
llvm-svn: 367706
The file was modifiedlldb/lit/Unwind/Inputs/trap_frame_sym_ctx.s
Commit 5fb56b1966550857bd8ea3261ee69f0160355f15 by echristo
Temporarily Revert "Changing representation of cv_def_range directives
in Codeview debug info assembly format for better readability"
This is breaking bots and the author asked me to revert.
This reverts commit 367704.
llvm-svn: 367707
The file was removedllvm/test/MC/COFF/cv-def-range-errors.s
The file was modifiedllvm/include/llvm/MC/MCStreamer.h
The file was modifiedllvm/test/DebugInfo/COFF/local-variable-gap.ll
The file was modifiedllvm/test/DebugInfo/COFF/pieces.ll
The file was modifiedllvm/test/MC/COFF/cv-def-range-gap.s
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
The file was modifiedllvm/lib/MC/MCAsmStreamer.cpp
The file was modifiedllvm/test/DebugInfo/COFF/register-variables.ll
The file was modifiedllvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
The file was modifiedllvm/test/MC/COFF/cv-def-range-align.s
The file was modifiedllvm/test/MC/COFF/cv-def-range.s
The file was modifiedllvm/test/DebugInfo/COFF/local-variables.ll
The file was modifiedllvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
The file was modifiedllvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
The file was modifiedllvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was modifiedllvm/test/DebugInfo/COFF/fp-stack.ll
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedllvm/test/DebugInfo/COFF/nrvo.ll
Commit 06cccc5e6f7a7c496ae71a959b64a0247c8ca263 by erik.pilkington
Remove a dead diagnostic, NFC
This was issued in Objective-C 1 mode, but we not longer support that,
so this is just unreachable.
llvm-svn: 367708
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/lib/Parse/ParseObjc.cpp
Commit d5765ee5645948782bab583f6f8bb8a248f6c263 by hubert.reinterpretcast
[Driver][test] Avoid undefined grep in darwin-ld.c
Summary: question-mark is not a BRE special character.
POSIX.1-2017 XBD Section 9.3.2 indicates that the interpretation of `\?`
as used by rC366282 is undefined. This patch uses an ERE instead.
Reviewers: rnk, daltenty, xingxue, jasonliu
Reviewed By: rnk
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D65668
llvm-svn: 367709
The file was modifiedclang/test/Driver/darwin-ld.c
Commit 68264558f9998c5d72dcb7b4bc7d784d77a923ea by spatel
[DAGCombiner] try to convert opposing shifts to casts
This reverses a questionable IR canonicalization when a truncate is
free:
sra (add (shl X, N1C), AddC), N1C --> sext (add (trunc X to (width -
N1C)), AddC')
https://rise4fun.com/Alive/slRC
More details in PR42644: https://bugs.llvm.org/show_bug.cgi?id=42644
I limited this to pre-legalization for code simplicity because that
should be enough to reverse the IR patterns. I don't have any evidence
(no regression test diffs) that we need to try this later.
Differential Revision: https://reviews.llvm.org/D65607
llvm-svn: 367710
The file was modifiedllvm/test/CodeGen/AArch64/shift-mod.ll
The file was modifiedllvm/test/CodeGen/X86/shift-combine.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit fae0a60a9cac5731d66a52aefa9f24da85b442c7 by daniel_l_sanders
Add MCRegister and use it in MCRegisterClass::contains()
Summary: Register can cast to MCRegister and we may want to consider
asserting
!isValid() || isPhysical() when expensive checks are on.
Depends on D65554
Reviewers: arsenm
Subscribers: wdng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65599
llvm-svn: 367711
The file was modifiedllvm/include/llvm/MC/MCRegister.h
The file was modifiedllvm/include/llvm/MC/MCRegisterInfo.h
The file was modifiedllvm/include/llvm/CodeGen/Register.h
Commit cb391279b41bddfa12bdd61a08781daaa263b0a2 by Lang Hames
[ORC] Turn on symbol-flags overrides for LLJIT on Windows by default.
libObject does not apply the Exported flag to symbols in COFF object
files, which can lead to assertions when the symbol flags initially
derived from IR added to the JIT clash with the flags seen by the JIT
linker. Both RTDyldObjectLinkingLayer and ObjectLinkingLayer have a
workaround for this: they can be told to override the flags seen by the
linker with the flags attached to the materialization responsibility
object that was passed down to the linker. This patch modifies LLJIT's
setup code to enable this override by default on platforms where COFF is
the default object format.
llvm-svn: 367712
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Commit 490292c3e042b9f8b7d2e9ab7236fa07cccf482c by Jinsong Ji
[PowerPC][NFC] Enable ADT BitVectorTest
Test on ppc64le passed. This fix
https://bugs.llvm.org/show_bug.cgi?id=42702
llvm-svn: 367713
The file was modifiedllvm/unittests/ADT/BitVectorTest.cpp