FailedChanges

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

Summary

  1. Remove sanitizer-aarch64-linux-mte bot. (details)
Commit 6bb7e35484f3bf593235bab263dfe0946301e2c9 by eugeni.stepanov
Remove sanitizer-aarch64-linux-mte bot.
We never did anything with it, and it looks easier to add the tests on
one of the existing x86_64 bots (via qemu).
llvm-svn: 372433
The file was modifiedbuildbot/osuosl/master/config/builders.py
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py
The file was removedzorg/buildbot/builders/sanitizers/buildbot_mte.sh

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

Summary

  1. Unwind: avoid warning about unused typedef (details)
  2. [Docs] Move topics to new categories (details)
  3. [AddressSanitizer] Don't dereference dyn_cast<ConstantInt> results. (details)
  4. [PPC] PPCLoopPreIncPrep - silence static analyzer null dereference (details)
  5. [Docs] Add a custom sidebar to doc pages (details)
  6. Fix missed case of switching getConstant to getTargetConstant. Try 2. (details)
  7. [SystemZ] Support z15 processor name (details)
  8. [SystemZ] Support z15 processor name (details)
  9. Fix assertion failure when constant evaluation of a switch jumps over an (details)
  10. Remove outdated FIXME. (details)
  11. [SampleFDO] Expose an interface to return the size of a section or the (details)
  12. [Inliner] Remove incorrect early exit during switch cost computation (details)
  13. dotest.py: bugfix: test filters with -f do not work on Python3 (details)
  14. prepare_binding_Python: print readable errors if SWIG fails (details)
  15. [GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection (details)
  16. [clang-scan-deps] strip the --serialize-diagnostics argument (details)
  17. [clang-tidy] Add check for classes missing -hash ⚠️ (details)
  18. gn build: Merge r372445 (details)
  19. Support for 64-bit PC-relative relocations for X86_64 (details)
  20. Improve -Wtautological-overlap-compare (details)
  21. LiveIntervals: Add missing operator!= for segments (details)
  22. AMDGPU/GlobalISel: Allow selection of scalar min/max (details)
  23. avr targetinfo: remove unneeded dep on MC (details)
  24. Revert assertion added by r372394 (details)
  25. Merge and improve code that detects same value in comparisons. (details)
  26. Fix bad APInt compare. (details)
  27. [Clang Interpreter] Fixed Bug 43362, build failure on GCC (details)
  28. [X86] Add test case to show failure to fold load with getmantss due to (details)
  29. [X86] Use sse_load_f32/f64 and timm in patterns for memory form of (details)
  30. Stop tracking atexit/__cxa_atexit/pthread_atfork allocations in (details)
  31. Avoid memory leak in ASan test (details)
  32. Add __lsan::ScopedInterceptorDisabler for strerror(3) (details)
Commit 0ae02fd71a3828209df37239910568ecde68912a by Saleem Abdulrasool
Unwind: avoid warning about unused typedef
Move the definition of Elf_Addr typedef to the only place it is used, to
avoid:
``` llvm-project/libunwind/src/AddressSpace.hpp:501:28: warning: unused
typedef 'Elf_Addr' [-Wunused-local-typedef]
```
when compiling for Android with _LIBUNWIND_ARM_EHABI defined and
_LIBUNWIND_SUPPORT_DWARF_UNWIND not defined.
Patch by Joel Klinghed!
llvm-svn: 372427
The file was modifiedlibunwind/src/AddressSpace.hpp
Commit 01a3080960eec85ca85467a3930e30ac3e93ca0c by d4m1887
[Docs] Move topics to new categories
This commit moves several topics to new categories.
llvm-svn: 372428
The file was modifiedllvm/docs/ProgrammingDocumentation.rst
The file was modifiedllvm/docs/UserGuides.rst
The file was modifiedllvm/docs/index.rst
The file was modifiedllvm/docs/SubsystemDocumentation.rst
Commit 2e0c95edfe0fbbded0835c3e5ec341c9a28b30e6 by llvm-dev
[AddressSanitizer] Don't dereference dyn_cast<ConstantInt> results.
NFCI.
The static analyzer is warning about potential null dereference, but we
can use cast<ConstantInt> directly and if not assert will fire for us.
llvm-svn: 372429
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Commit 63ddbc2fbc31f2ef32f61d7c603d42bb92a7dcbd by llvm-dev
[PPC] PPCLoopPreIncPrep - silence static analyzer null dereference
warning.
llvm-svn: 372430
The file was modifiedllvm/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp
Commit eacbe1cccc40ddd8874fcdbbee2cb9f8a842f4b5 by d4m1887
[Docs] Add a custom sidebar to doc pages
Adds a custom sidebar to LLVM docs. Sidebar includes links to How to
submit a bug and FAQ topics, as well as a Show Source link and search
box.
llvm-svn: 372432
The file was modifiedllvm/docs/_templates/indexsidebar.html
The file was modifiedllvm/docs/conf.py
Commit 4a58936716e5733662ca1f46734594db0a0e67b9 by saugustine
Fix missed case of switching getConstant to getTargetConstant. Try 2.
Summary: This fixes a crasher introduced by r372338.
Reviewers: echristo, arsenm
Subscribers: wdng, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67850
llvm-svn: 372434
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedllvm/test/CodeGen/X86/isel-blendi-gettargetconstant.ll
Commit 819c1651f723b51490eb98b3fc11cbd7dafc7831 by ulrich.weigand
[SystemZ] Support z15 processor name
The recently announced IBM z15 processor implements the architecture
already supported as "arch13" in LLVM.  This patch adds support for
"z15" as an alternate architecture name for arch13.
The patch also uses z15 in a number of places where we used arch13 as
long as the official name was not yet announced.
llvm-svn: 372435
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-06.ll
The file was removedllvm/test/MC/SystemZ/insn-good-arch13.s
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-02.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-05.ll
The file was addedllvm/test/MC/Disassembler/SystemZ/insns-z15.txt
The file was modifiedllvm/test/Analysis/CostModel/SystemZ/logic-miscext3.ll
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-03.ll
The file was removedllvm/lib/Target/SystemZ/SystemZScheduleArch13.td
The file was modifiedllvm/test/CodeGen/SystemZ/vec-intrinsics-03.ll
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-conv-03.ll
The file was removedllvm/test/MC/Disassembler/SystemZ/insns-arch13.txt
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-01.ll
The file was removedllvm/test/MC/SystemZ/insn-bad-arch13.s
The file was modifiedllvm/test/Analysis/CostModel/SystemZ/intrinsics.ll
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-08.mir
The file was modifiedllvm/test/CodeGen/SystemZ/ctpop-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-06.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-01.ll
The file was addedllvm/test/MC/SystemZ/insn-bad-z15.s
The file was addedllvm/test/MC/SystemZ/insn-good-z15.s
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/vec-eswap-01.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-strict-conv-03.ll
The file was modifiedllvm/test/Analysis/CostModel/SystemZ/fp-cast.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-04.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-07.ll
The file was addedllvm/lib/Target/SystemZ/SystemZScheduleZ15.td
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-03.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-eswap-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/not-01.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZProcessors.td
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-07.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZSchedule.td
Commit 48b40834dc59ec1d02f59b1c36360b12c58b3c7b by ulrich.weigand
[SystemZ] Support z15 processor name
The recently announced IBM z15 processor implements the architecture
already supported as "arch13" in LLVM.  This patch adds support for
"z15" as an alternate architecture name for arch13.
Corrsponding LLVM support was committed as rev. 372435.
llvm-svn: 372436
The file was modifiedclang/test/CodeGen/builtins-systemz-vector3.c
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
The file was modifiedclang/test/CodeGen/systemz-abi-vector.c
The file was modifiedclang/test/CodeGen/systemz-abi.c
The file was modifiedclang/test/CodeGen/builtins-systemz-vector3-error.c
The file was modifiedclang/test/Driver/systemz-march.c
The file was modifiedclang/lib/Basic/Targets/SystemZ.cpp
The file was modifiedclang/test/CodeGen/builtins-systemz-zvector3-error.c
The file was modifiedclang/test/CodeGen/builtins-systemz-zvector3.c
The file was modifiedclang/test/CodeGen/target-data.c
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
Commit 397a686762e229c32857efc4e66b4e6cf72bee93 by richard-llvm
Fix assertion failure when constant evaluation of a switch jumps over an
uninitialized variable in an init-statement of a 'for' or 'if'.
llvm-svn: 372437
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
Commit 6c0894b58ac8cbf12383f18789ac5a161a18f141 by richard-llvm
Remove outdated FIXME.
llvm-svn: 372438
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit f118852046a1d255ed8c65c6b5db320e8cea53a0 by wmi
[SampleFDO] Expose an interface to return the size of a section or the
size of the profile for profile in ExtBinary format.
Sometimes we want to limit the size of the profile by stripping some
functions with low sample count or by stripping some function names with
small text size from profile symbol list. That requires the profile
reader to have the interfaces returning the size of a section or the
size of total profile. The patch add those interfaces.
At the same time, add some dump facility to show the size of each
section.
llvm-svn: 372439
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
The file was addedllvm/test/tools/llvm-profdata/show-prof-size.test
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
Commit 2f32e5d84d3483a0d6170fc61d2cceb49fc930a3 by tejohnson
[Inliner] Remove incorrect early exit during switch cost computation
Summary: The CallAnalyzer::visitSwitchInst has an early exit when the
estimated lower bound of the switch cost will put the overall cost of
the inline above the threshold. However, this code is not correctly
estimating the lower bound for switches that can be transformed into bit
tests, leading to unnecessary lost inlines, and also differing behavior
with optimization remarks enabled.
First, the early exit is controlled by whether ComputeFullInlineCost is
enabled or not, and that in turn is disabled by default but enabled when
enabling -pass-remarks=missed. This by itself wouldn't lead to a
problem, except that as described below, the lower bound can be above
the real lower bound, so we can sometimes get different inline decisions
with inline remarks enabled, which is problematic.
The early exit was added in along with a new switch cost model in
D31085. The reason why this early exit was added is due to a concern one
reviewer raised about compile time for large switches:
https://reviews.llvm.org/D31085?id=94559#inline-276200
However, the code just below there calls
getEstimatedNumberOfCaseClusters, which in turn immediately calls
BasicTTIImpl getEstimatedNumberOfCaseClusters, which in the worst case
does a linear scan of the cases to get the high and low values. The bit
test handling in particular is guarded by whether the number of cases
fits into the max bit width. There is no suggestion that anyone measured
a compile time issue, it appears to be theoretical.
The problem is that the reviewer's comment about the lower bound
calculation is incorrect, specifically in the case of a switch that can
be lowered to a bit test. This isn't followed up on the comment thread,
but the author does add a FIXME to that effect above the early exit
added when they subsequently revised the patch.
As a result, we were incorrectly early exiting and not inlining
functions with switch statements that would be lowered to bit tests in
cases where we were nearing the threshold. Combined with the fact that
this early exit was skipped with opt remarks enabled, this caused
different inlining decisions to be made when -pass-remarks=missed is
enabled to debug the missing inline.
Remove the early exit for the above reasons.
I also copied over an existing AArch64 inlining test to X86, and
adjusted the threshold so that the bit test inline only occurs with the
fix in this patch.
Reviewers: davidxl
Subscribers: eraman, kristof.beyls, haicheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67716
llvm-svn: 372440
The file was addedllvm/test/Transforms/Inline/X86/switch.ll
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
Commit e021d6909436c6baac2dc7c9065340862a9b9aa2 by Jonas Devlieghere
dotest.py: bugfix: test filters with -f do not work on Python3
dotest -f does not work on Python3.
The name types.UnboundMethodType was an alias for types.MethodType in
2.7, but it does not exist in python3. MethodType works in both.
Also the actual type returned from SomeClass.some_method in python3 will
be types.Function, not MethodType.
Patch by: Lawrence D'Anna
Differential revision: https://reviews.llvm.org/D67791
llvm-svn: 372441
The file was modifiedlldb/third_party/Python/module/unittest2/unittest2/loader.py
Commit 7d6a95cf83fcca92e64302194995601474bc161a by Jonas Devlieghere
prepare_binding_Python: print readable errors if SWIG fails
When swig fails, all the errors are squished onto one line with \n
quoting. It's very hard to read. This will print them out in a more
reasonable format.
Patch by: Lawrence D'Anna
Differential revision: https://reviews.llvm.org/D67790
llvm-svn: 372442
The file was modifiedlldb/scripts/Python/prepare_binding_Python.py
Commit 7ac1039957f9aebcdf3ccf36cdd11067eb42b832 by aemerson
[GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection
time.
We currently always set the HasCalls on MFI during translation and
legalization if we're handling a call or legalizing to a libcall.
However, if that call is later optimized to a tail call then we don't
need the flag. The flag being set to true causes frame lowering to
always save and restore FP/LR, which adds unnecessary code.
This change does the same thing as SelectionDAG and ports over some code
that scans instructions after selection, using TargetInstrInfo to
determine if target opcodes are known calls.
Code size geomean improvements on CTMark:
-O0 : 0.1%
-Os : 0.3%
Differential Revision: https://reviews.llvm.org/D67868
llvm-svn: 372443
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/tail-call-no-save-fp-lr.ll
Commit 172e8a7a5de1c5aa110272da5483138e9aabc204 by Alex Lorenz
[clang-scan-deps] strip the --serialize-diagnostics argument
This ensures that clang-scan-deps won't write out diagnostics when
scanning dependencies.
llvm-svn: 372444
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
The file was modifiedclang/include/clang/Tooling/ArgumentsAdjusters.h
The file was addedclang/test/ClangScanDeps/strip_diag_serialize.cpp
The file was modifiedclang/lib/Tooling/ArgumentsAdjusters.cpp
The file was addedclang/test/ClangScanDeps/Inputs/strip_diag_serialize.json
Commit 2f6a52816fc33cf24373ce2aaf7df08b95403f44 by mog
[clang-tidy] Add check for classes missing -hash ⚠️
Summary: Apple documentation states that:
"If two objects are equal, they must have the same hash value. This last
point is particularly important if you define isEqual: in a subclass and
intend to put instances of that subclass into a collection. Make sure
you also define hash in your subclass."
https://developer.apple.com/documentation/objectivec/1418956-nsobject/1418795-isequal?language=objc
In many or all versions of libobjc, -[NSObject isEqual:] is a pointer
equality check and -[NSObject hash] returns the messaged object's
pointer. A relatively common form of developer error is for a developer
to override -isEqual: in a subclass without overriding -hash to ensure
that hashes are equal for objects that are equal.
It is assumed that an override of -isEqual: is a strong signal for
changing the object's equality operator to something other than pointer
equality which implies that a missing override of -hash could result in
distinct objects being equal but having distinct hashes because they are
independent instances. This added check flags classes that override
-isEqual: but inherit NSObject's implementation of -hash to warn of the
potential for unexpected behavior.
The proper implementation of -hash is the responsibility of the
developer and the check will only verify that the developer made an
effort to properly implement -hash. Developers can set up unit tests to
verify that their implementation of -hash is appropriate.
Test Notes: Ran check-clang-tools.
Reviewers: aaron.ballman, benhamilton
Reviewed By: aaron.ballman
Subscribers: Eugene.Zelenko, mgorny, xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67737
llvm-svn: 372445
The file was addedclang-tools-extra/test/clang-tidy/objc-missing-hash.m
The file was modifiedclang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/clang-tidy/objc/MissingHashCheck.h
The file was modifiedclang-tools-extra/clang-tidy/objc/CMakeLists.txt
The file was addedclang-tools-extra/clang-tidy/objc/MissingHashCheck.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/objc-missing-hash.rst
Commit c96d5545f0c97b3ad88672a09a4feeb7256ce2cb by llvmgnsyncbot
gn build: Merge r372445
llvm-svn: 372446
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/objc/BUILD.gn
Commit 3e6590c45177958030513e6be199fc2d54f13ac7 by apilipenko
Support for 64-bit PC-relative relocations for X86_64
ELF files generated for X86_64 targets may contain 64-bit PC-relative 
relocations. For instance, an exception handler table entry contains the
start  of exception-throwing frame relative to the start of exception
handler. As these  two labels belong to different sections, their
difference and so the relocation  is 64-bit.
An attempt to parse such file, i.e. in DWARFContext::create, results in
"failed  to compute relocation" error.
This fix adds support for such relocations to RelocationResolver.cpp.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D67779
Patch by Oleg Pliss (Oleg.Pliss@azul.com)
llvm-svn: 372447
The file was modifiedllvm/lib/Object/RelocationResolver.cpp
Commit 6541c7988b83b30b2590ca6b3e23585ae04a02a2 by rtrieu
Improve -Wtautological-overlap-compare
Allow this warning to detect a larger number of constant values,
including negative numbers, and handle non-int types better.
Differential Revision: https://reviews.llvm.org/D66044
llvm-svn: 372448
The file was modifiedclang/test/SemaCXX/warn-unreachable.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/Sema/warn-unreachable.c
The file was modifiedclang/lib/Analysis/ReachableCode.cpp
The file was modifiedclang/lib/Analysis/CFG.cpp
The file was modifiedclang/test/Sema/warn-overlap.c
The file was modifiedclang/test/Analysis/cfg.cpp
Commit bd7f2354ccbaa50923b134b223349ae532443aba by Matthew.Arsenault
LiveIntervals: Add missing operator!= for segments
llvm-svn: 372449
The file was modifiedllvm/include/llvm/CodeGen/LiveInterval.h
Commit eb6eb694e42d85541a1abc79f6025425540f8a7c by Matthew.Arsenault
AMDGPU/GlobalISel: Allow selection of scalar min/max
I believe all of the uniform/divergent pattern predicates are redundant
and can be removed. The uniformity bit already influences the register
class, and nothhing has broken when I've removed this and others.
llvm-svn: 372450
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-smin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-umax.mir
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-umin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-smax.mir
Commit d98d3ea9fe382c2fd0beeaf170532bf8e3521d47 by nicolasweber
avr targetinfo: remove unneeded dep on MC
llvm-svn: 372451
The file was modifiedllvm/lib/Target/AVR/TargetInfo/LLVMBuild.txt
Commit 27a8039171817a38f76adf51793f0d22f84dd78e by Yaxun.Liu
Revert assertion added by r372394
The assertion added by r372394 causes CUDA test in test-suite to assert.
The assertion was not there originally, so revert it.
llvm-svn: 372452
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
Commit 4c05de8c1d157f4b5e0091a52dbbcce7242ee485 by rtrieu
Merge and improve code that detects same value in comparisons.
-Wtautological-overlap-compare and self-comparison from
-Wtautological-compare relay on detecting the same operand in different
locations.  Previously, each warning had it's own operand checker.  Now,
both are merged together into one function that each can call.  The
function also now looks through member access and array accesses.
Differential Revision: https://reviews.llvm.org/D66045
llvm-svn: 372453
The file was modifiedclang/test/Analysis/array-struct-region.cpp
The file was modifiedclang/test/SemaCXX/compare-cxx2a.cpp
The file was modifiedclang/lib/Analysis/CFG.cpp
The file was modifiedclang/test/SemaCXX/self-comparison.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/test/Sema/warn-overlap.c
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
Commit 77297f0761d2009e25d5d709cdcb041229f3493c by rtrieu
Fix bad APInt compare.
APInt comparison require both to have the same bitwidth.  Since only the
value is needed, use the compare function APInt::isSameValue instead.
llvm-svn: 372454
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/test/SemaCXX/self-comparison.cpp
Commit 10793e791f5b149cbdc4a836cace1552b04fb332 by n
[Clang Interpreter] Fixed Bug 43362, build failure on GCC
free() was not directly included in InterpStack.cpp, added include now.
llvm-svn: 372455
The file was modifiedclang/lib/AST/Interp/InterpStack.cpp
Commit 4fa12ac92ced6dafdaf1e7c7e7a4b86d774e0b83 by craig.topper
[X86] Add test case to show failure to fold load with getmantss due to
isel pattern looking for Constant instead of TargetConstant
The intrinsic has an immarg so its gets created with a TargetConstant
instead of a Constant after r372338. The isel pattern was only updated
for the register form, but not the memory form.
llvm-svn: 372457
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics.ll
Commit 04682939eb7e5ff06ec7e50cbe205b5c0069285f by craig.topper
[X86] Use sse_load_f32/f64 and timm in patterns for memory form of
vgetmantss/sd.
Previously we only matched scalar_to_vector and scalar load, but we
should be able to narrow a vector load or match vzload.
Also need to match TargetConstant instead of Constant. The register
patterns were previously updated, but not the memory patterns.
llvm-svn: 372458
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
Commit 8827047551570b7ed7088765c3de2a8cce6823b8 by n54
Stop tracking atexit/__cxa_atexit/pthread_atfork allocations in
LSan/NetBSD
Summary: The atexit(3) and __cxa_atexit() calls allocate internally
memory and free on exit, after executing all callback. This causes false
positives as DoLeakCheck() is called from the atexit handler. In the
LSan/ASan tests there are strict checks triggering false positives here.
Intercept all atexit(3) and __cxa_atexit() calls and disable LSan when
calling the real functions.
Stop tracing allocations in pthread_atfork(3) funtions, as there are
performed internal allocations that are not freed for the time of
running StopTheWorld() code. This avoids false-positives.
The same changes have to be replicated in the ASan and LSan runtime.
Non-NetBSD OSs are not tested and this code is restricted to NetBSD
only.
Reviewers: dvyukov, joerg, mgorny, vitalybuka, eugenis
Reviewed By: vitalybuka
Subscribers: jfb, llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D67331
llvm-svn: 372459
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.h
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_interceptors.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Commit 5fe1e55d35413b1904cfcf16ec15495398921fe5 by n54
Avoid memory leak in ASan test
Summary: Add missing free(3) for the malloc(3) call.
Detected on NetBSD with LSan.
Reviewers: joerg, mgorny, vitalybuka, dvyukov
Reviewed By: vitalybuka
Subscribers: llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D67330
llvm-svn: 372460
The file was modifiedcompiler-rt/test/asan/TestCases/inline.cpp
Commit 1b58389428ed07a7322ba9c2bcaeec99807f9457 by n54
Add __lsan::ScopedInterceptorDisabler for strerror(3)
Summary: strerror(3) on NetBSD uses internally TSD with a destructor
that is never fired for exit(3). It's correctly called for
pthread_exit(3) scenarios.
This is a case when a leak on exit(3) is expected, unavoidable and
harmless.
Reviewers: joerg, vitalybuka, dvyukov, mgorny
Reviewed By: vitalybuka
Subscribers: dmgreen, kristof.beyls, jfb, llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D67337
llvm-svn: 372461
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was modifiedcompiler-rt/lib/lsan/lsan_interceptors.cpp
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.cpp