SuccessChanges

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

Summary

  1. Avoid unsupported LLD options (details)
  2. More style cleanups following rG14fc20ca6282 [NFC] (details)
  3. [msan] Intercept qsort, qsort_r. (details)
  4. [analyzer] Add Fuchsia Handle checker (details)
  5. [gn build] Port 82923c71efa (details)
  6. [analyzer] Add path notes to FuchsiaHandleCheck. (details)
  7. [msan] Check qsort input. (details)
  8. [llvm-symbolizer] Support reading options from environment (details)
  9. Add parentheses to silence warning (details)
  10. [scudo][standalone] Support __BIONIC__ (details)
  11. [compiler-rt] [test] Disable MPROTECT for XRay tests on NetBSD (details)
  12. Rename DW_AT_LLVM_isysroot to DW_AT_LLVM_sysroot (details)
  13. Customize simplified dumping and matching of LambdaExpr (details)
  14. [InstCombine] Improve infinite loop detection (details)
  15. Revert "Customize simplified dumping and matching of LambdaExpr" (details)
  16. [iOS sim] Ensure simulator device is booted in iossim_prepare.py (details)
  17. [lldb/CMake] Change how we deal with optional dependencies (details)
  18. Temporarily restrict the test for D71372 to darwin till we fix it on (details)
  19. Fix name of InitLibcalls() function in comment (details)
  20. [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly (details)
  21. llvm-objdump should ignore Mach-O stab symbols for disassembly. (details)
  22. Reland: [DWARF] Allow cross-CU references of subprogram definitions (details)
  23. [DWARF] Defer creating declaration DIEs until we prepare call site info (details)
  24. Revert "[lldb/CMake] Change how we deal with optional dependencies" (details)
  25. [llvm-symbolizer] Prefix invocations in test with env (details)
  26. [X86] Add test cases for missing propagation of fpexcept flag on strict (details)
  27. [NFC][MachineOutliner] Rewrite setSuffixIndices to be iterative (details)
  28. gn build: Silence mismatched-new-delete warning in scudo C++ wrapper (details)
  29. Add a set of tests with basic coverage of the recently added boundary (details)
  30. Constrain the macho-stabs test added in f72d001e099 to run on systems (details)
  31. fix a doc typo to cycle bots (details)
  32. fix another doc typo to cycle bots (details)
  33. fix yet another doc typo to cycle bots (details)
  34. hopefully last doc typo fix to cycle bots (details)
  35. Re-land "[lldb/CMake] Change how we deal with optional dependencies" (details)
  36. [lldb/CMake] Don't use return() from macro() (details)
  37. [lldb] Expose more optional dependencies through GetBuildConfiguration() (details)
  38. [lldb/test] Skip editline tests when LLDB_ENABLE_LIBEDIT is off. (details)
  39. [ORC] De-register eh-frames in the RTDyldObjectLinkingLayer destructor. (details)
  40. [lldb/test] Update !DIModule for isysroot rename (details)
  41. Revert "[msan] Check qsort input." and "[msan] Intercept qsort, (details)
  42. [libc++] Fix typo in std::midpoint (details)
  43. Remove a gcc 4.9 comparison as it doesn't make sense (details)
  44. clang is now under the apache2 license (details)
  45. features.html: Remove some old info (details)
  46. AMDGPU/GlobalISel: Simplify code (details)
  47. AMDGPU/GlobalISel: Fix missing scc imp-def on scalar and/or/xor (details)
  48. AMDGPU/GlobalISel: Fix misuse of div_scale intrinsics (details)
  49. Mips: Make test resistant to future changes (details)
  50. AMDGPU: Fix repeated word in comment (details)
  51. [lldb] Fix ARM32 inferior calls (details)
  52. [lldb] [testsuite] Fix Linux fail: (details)
  53. [lldb] Fix -Wstringop-truncation in PythonReadline.cpp (details)
  54. Customize simplified dumping and matching of LambdaExpr (details)
  55. [lldb] Force the preprocessor to run in (details)
  56. Add missing `REQUIRES: hexagon-registered-target` (details)
  57. [lldb] One more attempt to fix thread-step-out-ret-addr-check on windows (details)
  58. [lldb] disable thread-step-out-ret-addr-check on windows (details)
  59. [Wdocumentation] Implement \anchor (details)
  60. [Analyzer] Use a reference in a range-based for (details)
  61. [AArch64] Respect reserved registers while renaming in LdSt opt. (details)
  62. [lldb][NFC] Remove all ASTContext getter wrappers from ClangASTContext (details)
  63. [SimplifyLibCalls] require fast-math-flags for pow(X, -0.5) transforms (details)
  64. [InstCombine] check alloc size in bitcast of geps fold (PR44321) (details)
Commit d567b0ba841d4b6f4b0d906da350a3bb2b2f769f by sidneym
Avoid unsupported LLD options
Differential Revision: https://reviews.llvm.org/D70919
The file was modifiedclang/test/Driver/hexagon-toolchain-elf.c
The file was modifiedclang/lib/Driver/ToolChains/Hexagon.cpp
The file was addedclang/test/Driver/Inputs/hexagon_tree/Tools/bin/ld.lld
Commit c148e2e2ef86f53391be459752511684424f331b by listmail
More style cleanups following rG14fc20ca6282 [NFC]
Demote member functions to static functions where possible Use early
continue/early return to reduce nesting Clarify comments slightly. Reuse
previously define expression in one case.
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Commit 07861e955d0095f25639d84c5726c73b528567cb by eugenis
[msan] Intercept qsort, qsort_r.
Summary: This fixes qsort-related false positives with glibc-2.27. I'm
not entirely sure why they did not show up with the earlier versions;
the code seems similar enough.
Reviewers: vitalybuka
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D71740
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was addedcompiler-rt/test/msan/qsort.cpp
Commit 82923c71efa57600d015dbc281202941d3d64dde by xazax
[analyzer] Add Fuchsia Handle checker
The checker can diagnose handle use after releases, double releases, and
handle leaks.
Differential Revision: https://reviews.llvm.org/D70470
The file was addedclang/test/Analysis/fuchsia_handle.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/docs/analyzer/checkers.rst
The file was addedclang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
Commit 226a014044d9c99a235de1b4bcef364b61123f37 by llvmgnsyncbot
[gn build] Port 82923c71efa
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Commit 59878ec8092bef656a71d22261fd3b70651e8318 by xazax
[analyzer] Add path notes to FuchsiaHandleCheck.
Differential Revision: https://reviews.llvm.org/D70725
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
The file was modifiedclang/test/Analysis/fuchsia_handle.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
Commit ddf897fc80499ece298bc33201db6b697d2af50e by eugenis
[msan] Check qsort input.
Summary: Qsort interceptor suppresses all checks by unpoisoning the data
in the wrapper of a comparator function, and then unpoisoning the output
array as well.
This change adds an explicit run of the comparator on all elements of
the input array to catch any sanitizer bugs.
Reviewers: vitalybuka
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D71780
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was modifiedcompiler-rt/test/msan/qsort.cpp
Commit dedad08ee8e69129a1f6ac104e34960b50c94d94 by phosek
[llvm-symbolizer] Support reading options from environment
llvm-symbolizer is used by sanitizers to symbolize errors discovered by
sanitizer, but there's no way to pass options to llvm-symbolizer since
the tool is invoked directly by the sanitizer runtime. Therefore, we
don't have a way to pass options needed to find debug symbols such as
-dsym-hint or -debug-file-directory. This change enables reading options
from the LLVM_SYMBOLIZER_OPTS in addition to command line which can be
used to pass those additional options to llvm-symbolizer invocations
made by sanitizer runtime.
Differential Revision: https://reviews.llvm.org/D71668
The file was modifiedllvm/docs/CommandGuide/llvm-symbolizer.rst
The file was addedllvm/test/tools/llvm-symbolizer/options-from-env.test
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-addr2line.rst
Commit dc03b960d0236c18ed4382cea7bb3eb49329ed04 by morbo
Add parentheses to silence warning
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
Commit 0fd6f19025a79e331bdbaf35541a2e90a95faa71 by kostyak
[scudo][standalone] Support __BIONIC__
Summary: Some Android builds that we are interested in define
`__BIONIC__` but not `__ANDROID__`, so expand `SCUDO_ANDROID` to
encompass those.
Reviewers: cferris, hctim, pcc, eugenis, morehouse
Subscribers: krytarowski, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D71772
The file was modifiedcompiler-rt/lib/scudo/standalone/platform.h
Commit e73c662b9ea7eeba922eaa9010e221820472e8a9 by mgorny
[compiler-rt] [test] Disable MPROTECT for XRay tests on NetBSD
The file was modifiedcompiler-rt/test/xray/lit.cfg.py
Commit 44b4b833ad76fc61e43473c581a557f72a4ed8f4 by Adrian Prantl
Rename DW_AT_LLVM_isysroot to DW_AT_LLVM_sysroot
This is a purely cosmetic change that is NFC in terms of the binary
output. I bugs me that I called the attribute DW_AT_LLVM_isysroot since
the "i" is an artifact of GCC command line option syntax
(-isysroot is in the category of -i options) and doesn't carry any
useful information otherwise.
This attribute only appears in Clang module debug info.
Differential Revision: https://reviews.llvm.org/D71722
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/include/llvm/IR/DIBuilder.h
The file was modifiedllvm/lib/IR/DebugInfo.cpp
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was modifiedllvm/test/Assembler/dimodule.ll
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.def
The file was modifiedllvm/test/CodeGen/X86/load-combine-dbg.ll
The file was modifiedllvm/unittests/IR/MetadataTest.cpp
The file was modifiedllvm/include/llvm-c/DebugInfo.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was modifiedllvm/lib/IR/DIBuilder.cpp
The file was modifiedllvm/test/DebugInfo/X86/DIModule.ll
The file was modifiedclang/test/Modules/debug-info-moduleimport.m
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/lib/IR/LLVMContextImpl.h
The file was modifiedllvm/test/DebugInfo/X86/clang-module.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/test/DebugInfo/X86/DIModuleContext.ll
Commit 494b1318ca77927e919bbf9a61749a58553d738c by steveire
Customize simplified dumping and matching of LambdaExpr
Reviewers: aaron.ballman
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71680
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/unittests/AST/ASTTraverserTest.cpp
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
Commit c431c407ebcbbb526f4af93a549fa5b260a9b193 by kubak
[InstCombine] Improve infinite loop detection
Summary: This patch limits the default number of iterations performed by
InstCombine. It also exposes a new option that allows to specify how
many iterations is considered getting stuck in an infinite loop.
Based on experiments performed on real-world C++ programs, InstCombine
seems to perform at most ~8-20 iterations, so treating 1000 iterations
as an infinite loop seems like a safe choice. See D71145 for details.
The two limits can be specified via command line options.
Reviewers: spatel, lebedev.ri, nikic, xbolva00, grosser
Reviewed By: spatel
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71673
The file was modifiedllvm/test/Transforms/InstCombine/limit-max-iterations.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 0378f3a90341d990236c44f297b923a32b35fab1 by steveire
Revert "Customize simplified dumping and matching of LambdaExpr"
This reverts commit 494b1318ca77927e919bbf9a61749a58553d738c.
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/unittests/AST/ASTTraverserTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Commit d1783db9dbda78d04cd131a93978edf8f497e58b by julian.lettner
[iOS sim] Ensure simulator device is booted in iossim_prepare.py
Recent versions of the iOS simulator require that a "simulator device"
is booted before we can use `simctl spawn` (see iossim_run.py) to start
processes.
We can use `simctl bootstatus` to ensure that the simulator device is
booted before we run any tests via lit.  The `-b` option starts the
device if necessary.
Reviewed By: delcypher
Differential Revision: https://reviews.llvm.org/D71449
The file was modifiedcompiler-rt/test/sanitizer_common/ios_commands/iossim_prepare.py
Commit 41d7c227b38cce397e0402765593158f4bdf2dee by Jonas Devlieghere
[lldb/CMake] Change how we deal with optional dependencies
Recently there has been some discussion about how we deal with optional
dependencies in LLDB. The approach in LLVM is to make things work out of
the box. If the dependency isn't there, we move on silently.
That's not true for LLDB. Unless you explicitly disable the dependency
with LLDB_ENABLE_*, you'll get a configuration-time error. The
historical reason for this is that LLDB's dependencies have a much
broader impact, think about Python for example which is required to run
the test suite.
The current approach can be frustrating from a user experience
perspective. Sometimes you just want to ensure LLDB builds with a change
in clang.
This patch changes the optional dependencies (with the exception of
Python) to a new scheme. The LLDB_ENABLE_* now takes three values: On,
Off or Auto, with the latter being the default. On and Off behave the
same as today, forcing the dependency to be enabled or disabled. If the
dependency is set to On but is not found, it results in a configuration
time warning. For Auto we detect if the dependency is there and either
enable or disable it depending on whether it's found.
Differential revision: https://reviews.llvm.org/D71306
PS: The reason Python isn't included yet is because it's so pervasive
that I plan on doing that in a separate patch.
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
The file was modifiedlldb/test/CMakeLists.txt
The file was addedlldb/cmake/modules/FindCursesAndPanel.cmake
Commit 05b2c6a52cc79916beb4cad820a4b5e0ddfd2c4e by jingham
Temporarily restrict the test for D71372 to darwin till we fix it on
other systems.
The file was modifiedlldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test
Commit 538b485c59fae3faf2e0cc250faa9bba8406bbfe by sbc
Fix name of InitLibcalls() function in comment
Differential Revision: https://reviews.llvm.org/D71781
The file was modifiedllvm/include/llvm/IR/RuntimeLibcalls.def
Commit adf7a0a558a51f275bf8906b6a010c397560b7ff by dschuff
[WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly
operands locations
Extends DWARF expression language to express locals/globals locations.
(via target-index operands atm) (possible variants are: non-virtual
registers or address spaces)
The WebAssemblyExplicitLocals can replace virtual registers to
targertindex operand type at the time when WebAssembly backend
introduces
{get,set,tee}_local instead of corresponding virtual registers.
Reviewed By: aprantl, dschuff
Tags: #debug-info, #llvm
Differential Revision: https://reviews.llvm.org/D52634
The file was addedllvm/test/DebugInfo/WebAssembly/dbg-value-ti.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssembly.h
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp
The file was addedllvm/test/DebugInfo/WebAssembly/dbg-value-dwarfdump.ll
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.def
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h
Commit f72d001e099871fd5943679a8377f2fcc675f860 by mtrent
llvm-objdump should ignore Mach-O stab symbols for disassembly.
Summary: llvm-objdump will commonly error out when disassembling a
Mach-O binary with stab symbols, or when printing a Mach-O symbol table
that includesstab symbols. That is because the Mach-O N_OSO symbol has
been modified to include the bottom 8-bit value of the Mach-O's
cpusubtype value in the section field. In general, one cannot blindly
assume a stab symbol's section field is valid unless one has actually
consulted the specification for the specific stab.
Since objdump mostly just walks the symbol table to get mnemonics for
code disassembly it's best for objdump to just ignore stab symbols.
llvm-nm will do a more complete and correct job of displaying Mach-O
symbol table contents.
Reviewers: pete, lhames, ab, thegameg, jhenderson, MaskRay
Reviewed By: thegameg, MaskRay
Subscribers: MaskRay, rupprecht, seiya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71394
The file was addedllvm/test/tools/llvm-objdump/macho-stabs.test
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was addedllvm/test/tools/llvm-objdump/Inputs/macho-stabs-x86_64
Commit 79daafc90308787b52a5d3a7586e82acd5e374b3 by Vedant Kumar
Reland: [DWARF] Allow cross-CU references of subprogram definitions
This allows a call site tag in CU A to reference a callee DIE in CU B
without resorting to creating an incomplete duplicate DIE for the callee
inside of CU A.
We already allow cross-CU references of subprogram declarations, so it
doesn't seem like definitions ought to be special.
This improves entry value evaluation and tail call frame synthesis in
the LTO setting. During LTO, it's common for cross-module inlining to
produce a call in some CU A where the callee resides in a different CU,
and there is no declaration subprogram for the callee anywhere. In this
case llvm would (unnecessarily, I think) emit an empty DW_TAG_subprogram
in order to fill in the call site tag. That empty 'definition' defeats
entry value evaluation etc., because the debugger can't figure out what
it means.
As a follow-up, maybe we could add a DWARF verifier check that a
DW_TAG_subprogram at least has a DW_AT_name attribute.
Update:
Reland with a fix to create a declaration DIE when the declaration is
missing from the CU's retainedTypes list. The declaration is left out of
the retainedTypes list in two cases:
1) Re-compiling pre-r266445 bitcode (in which declarations weren't added
  to the retainedTypes list), and 2) Doing LTO function importing (which
doesn't update the retainedTypes
  list).
It's possible to handle (1) and (2) by modifying the retainedTypes list
(in AutoUpgrade, or in the LTO importing logic resp.), but I don't see
an advantage to doing it this way, as it would cause more DWARF to be
emitted compared to creating the declaration DIEs lazily.
Tested with a stage2 ThinLTO+RelWithDebInfo build of clang, and with a
ReleaseLTO-g build of the test suite.
rdar://46577651, rdar://57855316, rdar://57840415
Differential Revision: https://reviews.llvm.org/D70350
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was addedllvm/test/DebugInfo/AArch64/unretained-declaration-subprogram.ll
The file was addedllvm/test/DebugInfo/X86/lto-cross-cu-call-origin-ref.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit fa4701e1979553c2df61698ac1ac212627630442 by Vedant Kumar
[DWARF] Defer creating declaration DIEs until we prepare call site info
It isn't necessary to create DIEs for all of the declaration subprograms
in a CU's retainedTypes list. We can defer creating these subprograms
until we need to prepare a call site tag that refers to one.
This cleanup was mentioned in passing in D70350.
The file was modifiedllvm/test/DebugInfo/X86/lto-cross-cu-call-origin-ref.ll
The file was modifiedllvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
Commit fe86289bf19b165e34f66d9411469131a77d0110 by Jonas Devlieghere
Revert "[lldb/CMake] Change how we deal with optional dependencies"
This is failing on both the Windows and Debian bot.
The file was removedlldb/cmake/modules/FindCursesAndPanel.cmake
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
The file was modifiedlldb/test/CMakeLists.txt
Commit 581a7d0ee6ad7c632862b24edba8bb00cac0998f by phosek
[llvm-symbolizer] Prefix invocations in test with env
This addresses an issue introduced in dedad08 and is needed to make sure
this test works properly on Windows.
The file was modifiedllvm/test/tools/llvm-symbolizer/options-from-env.test
Commit 07815fc1b72e68ab7e0ed2bad176ca6addf9463c by craig.topper
[X86] Add test cases for missing propagation of fpexcept flag on strict
fp operations. NFC
The flag is being lost during type legalization or lowering. This covers
some of the cases. I'm sure there are many missing.
The file was addedllvm/test/CodeGen/X86/fp-intrinsics-flags-x86_64.ll
The file was addedllvm/test/CodeGen/X86/fp-intrinsics-flags.ll
The file was addedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics-flags.ll
Commit d5750770eb96d6854c11726118d3215443d70643 by Jessica Paquette
[NFC][MachineOutliner] Rewrite setSuffixIndices to be iterative
Having this function be recursive could use up way too much stack space.
Rewrite it as an iterative traversal in the tree instead to prevent
this.
Fixes PR44344.
The file was modifiedllvm/lib/CodeGen/MachineOutliner.cpp
Commit 71b26f1d19243c28473a6760ce2c57899f6e6efd by peter
gn build: Silence mismatched-new-delete warning in scudo C++ wrapper
tests.
These tests are deliberately mismatching new and delete, so the warnings
are just noise.
Differential Revision: https://reviews.llvm.org/D71783
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/tests/BUILD.gn
Commit dcda6be7579c031fc95c8e177e00468413b21c30 by listmail
Add a set of tests with basic coverage of the recently added boundary
align feature.
There are tests in the included patch, but the duplication is non
obvious, so I'm starting with basic coverage beore cleaning up a few of
them
The file was addedllvm/test/MC/X86/align-branch-64.s
Commit b4dfa74a5d80b3602a5315fac2ef5f98b0e63708 by mtrent
Constrain the macho-stabs test added in f72d001e099 to run on systems
configured with an x86 backend.
Summary: This fixes a failure on the Builder clang-cmake-armv7-quick
bot.
Reviewers: lhames, jhenderson
Reviewed By: lhames
Subscribers: kristof.beyls, rupprecht, seiya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71792
The file was modifiedllvm/test/tools/llvm-objdump/macho-stabs.test
Commit bab67ba6a3c451fbadd6b8b38c5043ef7e316d56 by thakis
fix a doc typo to cycle bots
The file was modifiedclang/docs/LibASTMatchersTutorial.rst
Commit 9b6ad8466bb8b97082b705270603ad7f4559e931 by thakis
fix another doc typo to cycle bots
The file was modifiedllvm/docs/Coroutines.rst
Commit 9293da6ac574273268814df9fbce809ecfca2094 by thakis
fix yet another doc typo to cycle bots
The file was modifiedlld/docs/Driver.rst
Commit bad8f3957e5c4aee5a67cf21e3606b178c68c4c7 by thakis
hopefully last doc typo fix to cycle bots
The file was modifiedlld/docs/index.rst
Commit 94b1bc0fb86a081caae0a919c0ecdb732a84e8ad by Jonas Devlieghere
Re-land "[lldb/CMake] Change how we deal with optional dependencies"
Recently there has been some discussion about how we deal with optional
dependencies in LLDB. The approach in LLVM is to make things work out of
the box. If the dependency isn't there, we move on silently.
That's not true for LLDB. Unless you explicitly disable the dependency
with LLDB_ENABLE_*, you'll get a configuration-time error. The
historical reason for this is that LLDB's dependencies have a much
broader impact, think about Python for example which is required to run
the test suite.
The current approach can be frustrating from a user experience
perspective. Sometimes you just want to ensure LLDB builds with a change
in clang.
This patch changes the optional dependencies (with the exception of
Python) to a new scheme. The LLDB_ENABLE_* now takes three values: On,
Off or Auto, with the latter being the default. On and Off behave the
same as today, forcing the dependency to be enabled or disabled. If the
dependency is set to On but is not found, it results in a configuration
time warning. For Auto we detect if the dependency is there and either
enable or disable it depending on whether it's found.
Differential revision: https://reviews.llvm.org/D71306
PS: The reason Python isn't included yet is because it's so pervasive
that I plan on doing that in a separate patch.
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
The file was modifiedlldb/test/CMakeLists.txt
The file was modifiedlldb/source/Core/CMakeLists.txt
The file was addedlldb/cmake/modules/FindCursesAndPanel.cmake
Commit c51ad1f836bffb4e431eb9f948ee3a32902ba6d2 by Jonas Devlieghere
[lldb/CMake] Don't use return() from macro()
> A macro is executed as if the macro body were pasted in place of the
> calling statement. This has the consequence that a return() in a macro
> body does not just terminate execution of the macro
After converting from a function() to a macro(), the return() became
invalid. This modifies the control flow to elude the return.
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
Commit 6cc3ee17a018d916459a4f59a77c75d0b7e191a0 by Jonas Devlieghere
[lldb] Expose more optional dependencies through GetBuildConfiguration()
Expose all the externally-observable optional dependencies through
SBDebugger::GetBuildConfiguration().
The file was modifiedlldb/source/API/SBDebugger.cpp
Commit a32f8dd195866c2be95d7e71f311a805a6fed4cd by Jonas Devlieghere
[lldb/test] Skip editline tests when LLDB_ENABLE_LIBEDIT is off.
Add a new decorator that checks if LLDB was build with editline support
and mark the relevant tests as skipped when that's not the case.
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/multiline-completion/TestMultilineCompletion.py
The file was modifiedlldb/packages/Python/lldbsuite/test/terminal/TestEditline.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/multiline-navigation/TestMultilineNavigation.py
The file was modifiedlldb/packages/Python/lldbsuite/test/iohandler/completion/TestIOHandlerCompletion.py
Commit 9f4f237e29e7150dfcf04ae78fa287d2dc8d48e2 by Lang Hames
[ORC] De-register eh-frames in the RTDyldObjectLinkingLayer destructor.
This matches the behavior of the legacy layer, which automatically
deregistered frames.
The file was modifiedllvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
Commit 3fa39c3a79a3b1a88d2da0b3992089e9134fb87f by Jonas Devlieghere
[lldb/test] Update !DIModule for isysroot rename
The isysroot field in DIModule was renamed to sysroot but the test in
LLDB wasn't updated. This fixes that.
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/compilercontext.ll
Commit 60236fedc9bdde70f06c85350b1d10e4dac75e9f by Jonas Devlieghere
Revert "[msan] Check qsort input." and "[msan] Intercept qsort,
qsort_r."
Temporarily revert the qsort changes because they fail to build on bots
that build with modules:
> error: thread-local storage is not supported for the current
> target (iossim)
http://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/1820/console
http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/4983/console
This reverts commit ddf897fc80499ece298bc33201db6b697d2af50e. This
reverts commit 07861e955d0095f25639d84c5726c73b528567cb.
The file was removedcompiler-rt/test/msan/qsort.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Commit 6e8659c351fe3a38ed23f5a5b24c1bc143ea00ed by maskray
[libc++] Fix typo in std::midpoint
Reviewed By: mclow.lists
Differential Revision: https://reviews.llvm.org/D71525
The file was modifiedlibcxx/include/numeric
Commit 384a287a999987ad0989624eb785293d38f9b710 by sledru
Remove a gcc 4.9 comparison as it doesn't make sense
The file was modifiedclang/www/features.html
Commit a0ce6155734eaaea315dc82579b230b172fb8ccc by sledru
clang is now under the apache2 license
The file was modifiedclang/www/index.html
The file was modifiedclang/www/features.html
Commit 7ece0ee3dd7cd717b4365c5c48710e5ba1f702bb by sledru
features.html: Remove some old info
The file was modifiedclang/www/features.html
Commit d688a6739df527d14dfe578d8bc97439d3884a73 by arsenm2
AMDGPU/GlobalISel: Simplify code
This can directly access the register bank, and doesn't need to get it
through the ID.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit dff3f8d74240144c35e78978a73646aa34faf400 by arsenm2
AMDGPU/GlobalISel: Fix missing scc imp-def on scalar and/or/xor
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-or.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-and.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-xor.mir
Commit 42a26445f9e68d55bcc4b8d1b4ced83a56d7743c by arsenm2
AMDGPU/GlobalISel: Fix misuse of div_scale intrinsics
Confusingly, the intrinsic operands do not match the instruction/custom
node. The order is shuffled, and the 3rd operand is an immediate to
select operands.
I'm not 100% sure I did this right, but fdiv still doesn't select end to
end and it will be easier to tell when it does. This at least avoids an
assertion in RegBankSelect and allows hitting the fallback on selection.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir
Commit f9677c47573f7933dd6ea6fe3086fb58e159969a by arsenm2
Mips: Make test resistant to future changes
This seems to have been relying on extra spills being inserted in these
blocks to increase the code size to trigger branch relaxation. This
broke when these spills were avoided. Add some asm to pad the size of
the blocks to make it not matter.
The file was modifiedllvm/test/CodeGen/Mips/branch-relaxation-with-hazard.ll
Commit 4af68667088cca5342babd1be4a72731f472bf25 by arsenm2
AMDGPU: Fix repeated word in comment
The file was modifiedllvm/include/llvm/IR/IntrinsicsAMDGPU.td
Commit df6879ec0227a8a5e5697e505201d0f4444f03a4 by jan.kratochvil
[lldb] Fix ARM32 inferior calls
  echo -e '#include <unistd.h>\nint main(void){\nsync();return
0;}'|./bin/clang -g -x c -;./bin/lldb -o 'file ./a.out' -o 'b main' -o r
-o 'p (void)sync()'
Actual:
  error: Expression can't be run, because there is no JIT compiled
function
Expected:
  <nothing, sync() has been executed>
This patch has been checked by:
D71707: clang-tidy: new bugprone-pointer-cast-widening
https://reviews.llvm.org/D71707
Casting from 32-bit `void *` to `uint64_t` requires an intermediate
`uintptr_t` cast otherwise the pointer gets sign-extended:
  echo -e '#include <stdio.h>\n#include <stdint.h>\nint main(void){void
*p=(void *)0x80000000;unsigned long long ull=(unsigned long
long)p;unsigned long long ull2=(unsigned long
long)(uintptr_t)p;printf("p=%p ull=0x%llx
ull2=0x%llx\\n",p,ull,ull2);return 0;}'|gcc -Wall -m32 -x c -;./a.out
<stdin>: In function ‘main’:
<stdin>:3:66: warning: cast from pointer to integer of different size
[-Wpointer-to-int-cast]
p=0x80000000 ull=0xffffffff80000000 ull2=0x80000000
With debug output: Actual:
  IRMemoryMap::WriteMemory (0xb6ff8640, 0xffffffffb6f82158, 0x112) went
to [0xb6ff8640..0xb6ff86b3)
Code can be run in the target.
Found function, has local address 0xffffffffb6f84000 and remote address
0xffffffffffffffff
Couldn't disassemble function : Couldn't find code range for function
_Z12$__lldb_exprPv
Sections:
[0xb6f84000+0x3c]->0xb6ff9020 (alignment 4, section ID 0, name .text)
...
HandleCommand, command did not succeed
error: Expression can't be run, because there is no JIT compiled
function
Expected:
  IRMemoryMap::WriteMemory (0xb6ff8640, 0xb6faa15c, 0x128) went to
[0xb6ff8640..0xb6ff86c3)
IRExecutionUnit::GetRemoteAddressForLocal() found 0xb6fac000 in
[0xb6fac000..0xb6fac040], and returned 0xb6ff9020 from
[0xb6ff9020..0xb6ff9060].
Code can be run in the target.
Found function, has local address 0xb6fac000 and remote address
0xb6ff9020
Function's code range is [0xb6ff9020+0x40]
...
Function data has contents:
0xb6ff9020: 10 4c 2d e9 08 b0 8d e2 08 d0 4d e2 00 40 a0 e1
...
Function disassembly:
0xb6ff9020: 0xe92d4c10   push   {r4, r10, r11, lr}
Differential revision: https://reviews.llvm.org/D71498
The file was modifiedlldb/source/Expression/IRExecutionUnit.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
The file was modifiedlldb/source/Expression/IRMemoryMap.cpp
The file was modifiedlldb/source/Plugins/Process/POSIX/CrashReason.cpp
The file was modifiedlldb/source/Core/PluginManager.cpp
The file was modifiedlldb/source/Host/common/HostInfoBase.cpp
Commit 4706a60e8a071f0c6a686c45ed08c7bab0bb8446 by jan.kratochvil
[lldb] [testsuite] Fix Linux fail:
Unwind/thread-step-out-ret-addr-check.test
D71372 introduced: `Unwind/thread-step-out-ret-addr-check.test` failing
on Fedora 30 Linux x86_64.
[lldb] Add additional validation on return address in 'thread step-out'
https://reviews.llvm.org/D71372
One problem is the underscored `_nonstandard_stub` in the `.s` file but
not in the LLDB command:
(lldb) breakpoint set -n nonstandard_stub
Breakpoint 1: no locations (pending).
WARNING:  Unable to resolve breakpoint to any actual locations.
(lldb) process launch
Process 21919 exited with status = 0 (0x00000000)
Process 21919 launched:
'/home/jkratoch/redhat/llvm-monorepo-clangassert/tools/lldb/test/Unwind/Output/thread-step-out-ret-addr-check.test.tmp'
(x86_64)
(lldb) thread step-out
error: invalid thread
(lldb) _
Another problem is that Fedora Linux has executable stack by default and
all programs indicate non-executable stack by `PT_GNU_STACK`, after
fixing the underscore I was getting:
(lldb) thread step-out
Process 22294 exited with status = 0 (0x00000000)
(lldb) _
A different approach was tried as:
[lldb] Refactor thread-step-out-ret-addr-check test to use .data
instead of stack variable
https://reviews.llvm.org/D71789
Differential revision: https://reviews.llvm.org/D71784
The file was modifiedlldb/test/Shell/Unwind/Inputs/thread-step-out-ret-addr-check.s
The file was modifiedlldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test
Commit 1805d1f87d7835b237f85bfb0595d1f411ebf1bf by pavel
[lldb] Fix -Wstringop-truncation in PythonReadline.cpp
The size is known and the truncation is deliberate -- use memcpy instead
of strncpy.
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.cpp
Commit 5a79cfa32d62f018607438a30b7acb49c2ab97f3 by steveire
Customize simplified dumping and matching of LambdaExpr
Reviewers: aaron.ballman
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71680
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/unittests/AST/ASTTraverserTest.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Commit ce3ce9f46404688cc2d95f794799c8f834630905 by pavel
[lldb] Force the preprocessor to run in
thread-step-out-ret-addr-check.test
It does not seem to run automatically on windows.
The file was modifiedlldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test
Commit 75e500dd4713e785f0ca7afc37e7ba206a4391b0 by dave
Add missing `REQUIRES: hexagon-registered-target`
After d567b0ba841d4b6f4b0d906da350a3bb2b2f769f, the test suite no longer
passes if hexagon is disabled.
The file was modifiedclang/test/Driver/hexagon-toolchain-elf.c
Commit e192cc1f1bf120712f7c78fcd51645db8918d083 by pavel
[lldb] One more attempt to fix thread-step-out-ret-addr-check on windows
The file was modifiedlldb/test/Shell/Unwind/Inputs/thread-step-out-ret-addr-check.s
Commit 2947da9ff7d1a1c1d0356ac51405e6576d8fbf64 by pavel
[lldb] disable thread-step-out-ret-addr-check on windows
I'm unable to get this test working there.
The file was modifiedlldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test
Commit be1a9b3863b6649ef64f25c22394335c47f2ef31 by koraq
[Wdocumentation] Implement \anchor
Differential revision: https://reviews.llvm.org/D69223
The file was modifiedclang/bindings/xml/comment-xml-schema.rng
The file was modifiedclang/include/clang/AST/Comment.h
The file was modifiedclang/test/AST/ast-dump-comment.cpp
The file was modifiedclang/include/clang-c/Documentation.h
The file was modifiedclang/lib/Index/CommentToXML.cpp
The file was modifiedclang/tools/libclang/CXComment.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was modifiedclang/test/Sema/warn-documentation.cpp
The file was modifiedclang/lib/AST/CommentSema.cpp
The file was modifiedclang/include/clang/AST/CommentCommands.td
The file was modifiedclang/lib/AST/JSONNodeDumper.cpp
The file was addedclang/test/Index/Inputs/CommentXML/valid-inline-command-01.xml
The file was modifiedclang/tools/c-index-test/c-index-test.c
The file was modifiedclang/test/Index/comment-to-html-xml-conversion.cpp
The file was modifiedclang/test/Index/comment-xml-schema.c
Commit 70d592d68c7a8666183308d1daa2322ede87df09 by koraq
[Analyzer] Use a reference in a range-based for
This avoids unneeded copies when using a range-based for loops.
This avoids new warnings due to D68912 adds -Wrange-loop-analysis to
-Wall.
Differential Revision: https://reviews.llvm.org/D70869
The file was modifiedclang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Commit d269255b95151dcd232c8856206b7e79d70eda29 by florian_hahn
[AArch64] Respect reserved registers while renaming in LdSt opt.
We cannot pick reserved registers as rename registers.
Fixes https://bugs.llvm.org/show_bug.cgi?id=44358
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
The file was addedllvm/test/CodeGen/AArch64/stp-opt-with-renaming-reserved-regs.mir
Commit 49b206f95806f35ff8f9a715185355fc2a159760 by Raphael Isemann
[lldb][NFC] Remove all ASTContext getter wrappers from ClangASTContext
Their naming is misleading as they only return the ClangASTContext-owned
variables. For ClangASTContext instances constructed for a given
clang::ASTContext they silently generated duplicated instances
(e.g., a second IdentifierTable) that were essentially unusable.
This removes all these getters as they are anyway not very useful in
comparison to just calling the clang::ASTContext getters. The
initialization code has been moved to the CreateASTContext
initialization method so that all code for making our own
clang::ASTContext is in one place.
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
The file was modifiedlldb/unittests/Expression/ClangExpressionDeclMapTest.cpp
The file was modifiedlldb/include/lldb/Symbol/ClangASTContext.h
The file was modifiedlldb/unittests/TestingSupport/Symbol/ClangTestUtils.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
Commit 19f9f374d9afe3efd33dc1943d3d7fd2c54fba76 by spatel
[SimplifyLibCalls] require fast-math-flags for pow(X, -0.5) transforms
As discussed in PR44330: https://bugs.llvm.org/show_bug.cgi?id=44330
...the transform from pow(X, -0.5) libcall/intrinsic to reciprocal
square root can result in small deviations from the expected result due
to differences in the pow() implementation and/or the extra rounding
step from the division.
This patch proposes to allow that difference with either the
'approximate functions' or 'reassociate' FMF:
http://llvm.org/docs/LangRef.html#fast-math-flags
In practice, this likely means that the code is compiled with all of
'fast' (-ffast-math), but I have preserved the existing specializations
for -0.0/-INF that enable generating safe code if those special values
are allowed simultaneously with allowing approximation/reassociation.
The question about whether a similar restriction is needed for the
non-reciprocal case -- pow(X, 0.5) -- is deferred. That transform is
allowed without FMF currently, and this patch does not change that
behavior.
Differential Revision: https://reviews.llvm.org/D71706
The file was modifiedllvm/test/Transforms/InstCombine/pow-sqrt.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Commit 79c7fa31f3aafba77862325cdc70a3ece7f71950 by spatel
[InstCombine] check alloc size in bitcast of geps fold (PR44321)
We missed a constraint in D44833 when folding a bitcast into a GEP with
vector/array types. If the alloc sizes specified by the datalayout don't
match, this could miscompile as shown in:
https://bugs.llvm.org/show_bug.cgi?id=44321
Differential Revision: https://reviews.llvm.org/D71771
The file was modifiedllvm/test/Transforms/InstCombine/gep-vector.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp