FailedChanges

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

Summary

  1. [IR] Add a default copy constructor for -Wdeprecated-copy (details)
  2. [IR] Move ctor in the NDEBUG branch (details)
  3. [Concepts] Constraint Enforcement & Diagnostics (details)
  4. [lldb] Update hardcoded Makefile.rules inclusions. (details)
  5. [Concepts] Fix build failures in D41569 (details)
  6. gn build: Merge fdf80e86a52 (details)
  7. [AutoFDO] Properly merge context-sensitive profile of inlinee back to (details)
  8. [AutoFDO] Top-down Inlining for specialization with context-sensitive (details)
  9. Handle two corner cases in creduce-clang-crash.py (details)
  10. [RegisterCoalescer] Fix the creation of subranges when rematerialization (details)
  11. [ThinLTO] Add option to disable readonly/writeonly attribute propagation (details)
  12. Revert "[AST] Traverse the class type loc inside the member type loc." (details)
  13. Add lookup functions for efficient lookups of addresses when using (details)
  14. gn build: Merge 6470497817e (details)
  15. gn build: Merge aeda128a96c (details)
  16. Add strict fp support for instructions fadd/fsub/fmul/fdiv (details)
  17. [X86] Make X86TargetLowering::BuildFILD return a std::pair of SDValues (details)
  18. gn build: Bump Android API level to 29, and NDK to r21. (details)
  19. gn build: Add support for building scudo and its unit tests. (details)
  20. Tighten up CHECK lines added in a9f10ebffa to work on ARM. (details)
  21. Fix crash if a user-defined conversion is applied in the middle of a (details)
  22. [ConstantFold][SVE] Skip scalable vectors in (details)
  23. llvm-reduce: Add a space to an option's --help (details)
  24. DebugInfo: Pull out a common expression. (details)
  25. [JITLink] Remove the Section::symbols_empty() method. (details)
  26. [JITLink] Use Blocks rather than Symbols for SectionRange. (details)
  27. Fix build of LookupResult.cpp from aeda128 with Visual C++. (details)
  28. [LCSSA] Don't use VH callbacks to invalidate SCEV when creating LCSSA (details)
  29. [Dsymutil][NFC] Move NonRelocatableStringpool into common CodeGen (details)
  30. gn build: Merge 9e8c799e2b0 (details)
  31. [compiler-rt] [test] Disable ASLR on ASAN/MSAN/TSAN tests on NetBSD (details)
  32. [lldb] NFC: less nesting in SearchFilter.cpp (details)
  33. [lldb][NFC] Migrate FileSpec::Dump to raw_ostream (details)
  34. [clangd] (take 2) Try harder to find a plausible `clang` as argv0, (details)
  35. gn build: Merge 99768b243cd (details)
  36. [clang-tidy] Fix PR26274 (details)
  37. [lldb/DWARF] Remove DWARFDebugRangesBase abstract class (details)
  38. [lldb/IRExecutionUnit] Stop searching based on demangled names (details)
  39. [lldb] Migrate VMRange::Dump to raw_ostream (details)
  40. [lldb/DWARF] Fix DW_AT_rnglists_base handling for dwo files (details)
  41. [lldb][NFC] Remove ability to pass a custom printf format to (details)
  42. [lldb/DWARF] Fix DW_AT_addr_base & DW_AT_low_pc interaction (details)
  43. [FPEnv][SelectionDAG] Relax chain requirements (details)
  44. [lldb][NFC] Move [SU]Int64ValueIsValidForByteSize to RegisterValue (details)
  45. [clangd] Fix gcc warning about extra ";" [NFC] (details)
Commit b98f3ce33cf22428353c60baec0e01dcb844480c by maskray
[IR] Add a default copy constructor for -Wdeprecated-copy
The file was modifiedllvm/include/llvm/IR/ValueHandle.h
Commit 7faa8440440f280912c33a27c14c0dc4031532de by maskray
[IR] Move ctor in the NDEBUG branch
The file was modifiedllvm/include/llvm/IR/ValueHandle.h
Commit fdf80e86a52849813d05da4b6c25884c06ba9e98 by saar
[Concepts] Constraint Enforcement & Diagnostics
Part of the C++20 concepts implementation effort.
- Associated constraints (requires clauses, currently) are now enforced
when instantiating/specializing templates and when considering partial
specializations and function overloads.
- Elaborated diagnostics give helpful insight as to why the constraints
were not satisfied. Phabricator: D41569
Re-commit, after fixing some memory bugs.
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was addedclang/lib/AST/ASTConcept.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.constr/partial-specializations.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/p3.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
The file was addedclang/include/clang/AST/ASTConcept.h
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.constr/function-templates.cpp
The file was modifiedclang/lib/AST/CMakeLists.txt
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Sema/TemplateDeduction.h
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
Commit 0d236d8b4f8aecc258e26ad53755a39d9b76032e by rupprecht
[lldb] Update hardcoded Makefile.rules inclusions.
This replaces `include $(LEVEL)/Makefile.rules` with `include
Makefile.rules`. The lldb test driver already passes the include path
when running make, and specifically looking for "../../Makefile.rules"
forces the test to be in a specific location. Removing this hardcoded
relative path will make it possible to move this test as-is.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/macosx/macabi/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/thread_local/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/float-display/Makefile
Commit e7c24667816edc1a3754b46a49f9eac011dc1fee by saar
[Concepts] Fix build failures in D41569
Fix build failures in previous commit.
The file was modifiedclang/lib/AST/ASTConcept.cpp
Commit 6e8322deb3f984467c302165149a597dbbc5e279 by llvmgnsyncbot
gn build: Merge fdf80e86a52
The file was modifiedllvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Commit e503fd85d3ac9d3e1493a7a63bc43c6939e132cc by aktoon
[AutoFDO] Properly merge context-sensitive profile of inlinee back to
outlined function
Summary: When sample profile loader decides not to inline a previously
inlined call-site, we adjust the profile of outlined function simply by
scaling up its profile counts by call-site count. This means the
context-sensitive profile of that inlined instance will be thrown away.
This commit try to keep context-sensitive profile for such cases:
- Instead of scaling outlined function's profile, we now properly merge
the FunctionSamples of inlined instance into outlined function,
including all recursively inlined profile.
- Instead of adjusting the profile for negative inline decision at the
end of the sample profile loader pass, we do the profile merge right
after processing each function. This change paired with top-down
ordering of annotation/inline-replay (a separate diff) will make sure we
recursively merge profile back before the profile is used for annotation
and inline replay.
A new switch -sample-profile-merge-inlinee is added to enable the new
profile merge for tuning. It should be the default behavior eventually.
Reviewers: wmi, davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70653
The file was addedllvm/test/Transforms/SampleProfile/Inputs/inline-mergeprof.prof
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was modifiedllvm/test/CodeGen/X86/insert-prefetch-inline.afdo
The file was modifiedllvm/test/Transforms/SampleProfile/Inputs/inline-callee-update.prof
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
The file was modifiedllvm/test/Transforms/SampleProfile/Inputs/einline.prof
The file was addedllvm/test/Transforms/SampleProfile/inline-mergeprof.ll
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit 532196d811ad4db1e522012c9d20e4a95aae2eb3 by aktoon
[AutoFDO] Top-down Inlining for specialization with context-sensitive
profile
Summary: AutoFDO's sample profile loader processes function in arbitrary
source code order, so if I change the order of two functions in source
code, the inline decision can change. This also prevented the use of
context-sensitive profile to do specialization while inlining. This
commit enforces SCC top-down order for sample profile loader. With this
change, we can now do specialization, as illustrated by the added test
case:
Say if we have A->B->C and D->B->C call path, we want to inline C into B
when root inliner is B, but not when root inliner is A or D, this is not
possible without enforcing top-down order. E.g. Once C is inlined into
B, A and D can only choose to inline (B->C) as a whole or nothing, but
what we want is only inline B into A and D, not its recursive callee C.
If we process functions in top-down order, this is no longer a problem,
which is what this commit is doing.
This change is guarded with a new switch "-sample-profile-top-down-load"
for tuning, and it depends on D70653. Eventually, top-down can be the
default order for sample profile loader.
Reviewers: wmi, davidxl
Subscribers: hiraditya, llvm-commits, tejohnson
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70655
The file was addedllvm/test/Transforms/SampleProfile/inline-topdown.ll
The file was addedllvm/test/Transforms/SampleProfile/Inputs/inline-topdown.prof
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit 1f822f212cde1ad9099cf45af0652a83380de772 by rnk
Handle two corner cases in creduce-clang-crash.py
Summary: First, call os.path.normpath on the filename argument. I passed
in
./foo-asdf.cpp, and this meant that the script failed to find the
filename, and bad things happened.
Second, call os.path.abspath on binaries. CReduce runs the
interestingness test in a temp dir, so relative paths will not work.
Reviewers: akhuang
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71098
The file was modifiedclang/utils/creduce-clang-crash.py
Commit 2ec71ea7c74df20983031c6e1be07b14da0e9109 by qcolombet
[RegisterCoalescer] Fix the creation of subranges when rematerialization
is used
* Context *
During register coalescing, we use rematerialization when coalescing is
not possible. That means we may rematerialize a super register when only
a smaller register is actually used. E.g., 0B v1 = ldimm 0xFF 1B v2 =
COPY v1.low8bits 2B   = v2
=> 0B v1 = ldimm 0xFF 1B v2 = ldimm 0xFF 2B   = v2.low8bits
Where xB are the slot indexes. Here v2 grew from a 8-bit register to a
16-bit register.
When that happens and subregister liveness is enabled, we create
subranges for the newly created value. E.g., before remat, the live
range of v2 looked like: main range: [1r, 2r)
(Reads v2 is defined at index 1 slot register and used before the slot
register of index 2)
After remat, it should look like: main range: [1r, 2r) low 8 bits: [1r,
2r) high 8 bits: [1r, 1d) <-- dead def
I.e., the unsused lanes of v2 should be marked as dead definition.
* The Problem *
Prior to this patch, the live-ranges from the previous exampel, would
have the full live-range for all subranges: main range: [1r, 2r) low 8
bits: [1r, 2r) high 8 bits: [1r, 2r) <-- too long
* The Fix *
Technically, the code that this patch changes is not wrong: When we
create the subranges for the newly rematerialized value, we create only
one subrange for the whole bit mask. In other words, at this point v2
live-range looks like this: main range: [1r, 2r) low & high: [1r, 2r)
Then, it gets wrong when we call LiveInterval::refineSubRanges on low 8
bits: main range: [1r, 2r) low 8 bits: [1r, 2r) high 8 bits: [1r, 2r)
<-- too long
Ideally, we would like LiveInterval::refineSubRanges to be able to do
the right thing and mark the dead lanes as such. However, this is not
possible, because by the time we update / refine the live ranges, the IR
hasn't been updated yet, therefore we actually don't have enough
information to do the right thing.
Another option to fix the problem would have been to call
LiveIntervals::shrinkToUses after the IR is updated. This is not
desirable as this may have a noticeable impact on compile time.
Instead, what this patch does is when we create the subranges for the
rematerialized value, we explicitly create one subrange for the lanes
that were used before rematerialization and one for the lanes that were
not used. The used one inherits the live range of the main range and the
unused one is just created empty. The existing rematerialization code
then detects that the unused one are not live and it correctly sets dead
def intervals for them.
https://llvm.org/PR41372
The file was modifiedllvm/lib/CodeGen/RegisterCoalescer.cpp
The file was addedllvm/test/CodeGen/SystemZ/regcoal-subranges-update-remat.mir
Commit 54a3c2a81e1a0ff970705008e9285ea3ada4ef3e by tejohnson
[ThinLTO] Add option to disable readonly/writeonly attribute propagation
Summary: Add an option to allow the attribute propagation on the index
to be disabled, to allow a workaround for issues (such as that fixed by
D70977).
Also move the setting of the WithAttributePropagation flag on the index
into propagateAttributes(), and remove some old stale code that predated
this flag and cleared the maybe read/write only bits when we need to
disable the propagation (previously only when importing disabled, now
also when the new option disables it).
Reviewers: evgeny777, steven_wu
Subscribers: mehdi_amini, inglorion, hiraditya, dexonsmith, arphaman,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70984
The file was modifiedllvm/lib/Transforms/IPO/FunctionImport.cpp
The file was modifiedllvm/lib/IR/ModuleSummaryIndex.cpp
The file was modifiedllvm/test/ThinLTO/X86/writeonly.ll
Commit 6470497817eafe3fe2d15e11ade78fd99753d7ca by saugustine
Revert "[AST] Traverse the class type loc inside the member type loc."
This reverts commit 7f93cb62280a73e3e899d49c45be8bfbac634b7d.
The assertion at RecursiveASTVisitor.h:1169 fails when passed a
TypeLocNode. Not sure if the correct fix is to use getTypeLocClass or
something else.
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
The file was removedclang/unittests/Tooling/RecursiveASTVisitorTests/MemberPointerTypeLoc.cpp
Commit aeda128a96c4ac9eecef7563f4cf07dfcd2af0db by gclayton
Add lookup functions for efficient lookups of addresses when using
GsymReader classes.
Summary: Lookup functions are designed to not fully decode a
FunctionInfo, LineTable or InlineInfo, they decode only what is needed
into a LookupResult object. This allows lookups to avoid costly memory
allocations and avoid parsing large amounts of information one a
suitable match is found.
LookupResult objects contain the address that was looked up, the
concrete function address range, the name of the concrete function, and
a list of source locations. One for each inline function, and one for
the concrete function. This allows one address to turn into multiple
frames and improves the signal you get when symbolicating addresses in
GSYM files.
Reviewers: labath, aprantl
Subscribers: mgorny, hiraditya, llvm-commits, lldb-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70993
The file was addedllvm/lib/DebugInfo/GSYM/LookupResult.cpp
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/LineTable.h
The file was addedllvm/include/llvm/DebugInfo/GSYM/LookupResult.h
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/Range.h
The file was modifiedllvm/lib/DebugInfo/GSYM/LineTable.cpp
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
The file was modifiedllvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
The file was modifiedllvm/lib/DebugInfo/GSYM/Range.cpp
The file was modifiedllvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
The file was modifiedllvm/lib/DebugInfo/GSYM/GsymReader.cpp
The file was modifiedllvm/lib/DebugInfo/GSYM/InlineInfo.cpp
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/GsymReader.h
The file was modifiedllvm/lib/DebugInfo/GSYM/CMakeLists.txt
Commit d4416e3dac37580e5e6afd9d9ef7203e696dc9f5 by llvmgnsyncbot
gn build: Merge 6470497817e
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Tooling/BUILD.gn
Commit 1c918ff2c1ae9033a2a35c449f111d342291841b by llvmgnsyncbot
gn build: Merge aeda128a96c
The file was modifiedllvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
Commit 3041434450e6c9cbc3476289f7c862f346126296 by chen3.liu
Add strict fp support for instructions fadd/fsub/fmul/fdiv
Differential Revision: https://reviews.llvm.org/D68757
The file was modifiedllvm/test/CodeGen/X86/vec-strict-128.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-256.ll
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-512.ll
Commit 8267be29955e3df2baada1443a92d82ca9d979cc by craig.topper
[X86] Make X86TargetLowering::BuildFILD return a std::pair of SDValues
so we explicitly return the chain instead of calling getValue on the
single SDValue.
We shouldn't assume that the returned result can be used to get the
other result.
This is prep-work for strict FP where we will also need to pass the
chain result along in more cases.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit b3516a0d4af39f39c3c1f5aac389c2879b0e4721 by peter
gn build: Bump Android API level to 29, and NDK to r21.
These are both necessary in order to use ELF TLS, which is needed by the
scudo unit tests.
Differential Revision: https://reviews.llvm.org/D71079
The file was modifiedllvm/utils/gn/build/toolchain/compiler.gni
The file was modifiedllvm/utils/gn/secondary/llvm/triples.gni
Commit 4066591841408223dbb811a3e36df41347efcf70 by peter
gn build: Add support for building scudo and its unit tests.
Differential Revision: https://reviews.llvm.org/D71081
The file was modifiedllvm/utils/gn/secondary/BUILD.gn
The file was addedllvm/utils/gn/secondary/compiler-rt/lib/scudo/BUILD.gn
The file was addedllvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/BUILD.gn
The file was addedllvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/tests/BUILD.gn
Commit 757bc55f8314c8c789f81b7f0b3397a8c6148b68 by douglas.yung
Tighten up CHECK lines added in a9f10ebffa to work on ARM.
On ARM platforms, the compiler generates an additional line containing
`-CXXRecordDecl which is not the intended line, but preceeds the
intended match causing the test to fail.
The file was modifiedclang/test/Import/struct-and-var/test.cpp
Commit 759909506c2b557b9bc5cd3883970dea48e0b86b by richard
Fix crash if a user-defined conversion is applied in the middle of a
rewrite of an operator in terms of operator<=>.
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/test/SemaCXX/compare-cxx2a.cpp
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/lib/AST/Expr.cpp
Commit 381d3c5c45c55c00f8d561eaff03b460953ca5c0 by huihuiz
[ConstantFold][SVE] Skip scalable vectors in
ConstantFoldInsertElementInstruction.
Summary: Should not constant fold insertelement instruction for scalable
vector type.
Reviewers: huntergr, sdesmalen, spatel, levedev.ri, apazos, efriedma,
willlovett
Reviewed By: efriedma, spatel
Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70985
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was addedllvm/test/Analysis/ConstantFolding/insertelement.ll
Commit 9b9327fe3064d5dd4fe054e94be79e14da562685 by George Burgess IV
llvm-reduce: Add a space to an option's --help
Otherwise, we get "filewith".
The file was modifiedllvm/tools/llvm-reduce/llvm-reduce.cpp
Commit 560ab1f8d33c03eb5c855930d0fdc0ef95c52744 by dblaikie
DebugInfo: Pull out a common expression.
This is for the case where -gmlt -gsplit-dwarf -fsplit-dwarf-inlining
are used together in some but not all units during LTO (or, in the
reduced case, even without LTO) - ensuring that no split dwarf is used
(because split-dwarf-inlining puts the same data in the .o file, so
there's no need to duplicate it into the .dwo file)
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 8c4f048a00065d5cc2e138fba17abf74f2ae873d by Lang Hames
[JITLink] Remove the Section::symbols_empty() method.
llvm::empty(Sec.symbols()) can be used instead.
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
Commit 72db78eba5966fae6bc5bb361ebee7b6d3e1be3a by Lang Hames
[JITLink] Use Blocks rather than Symbols for SectionRange.
This ensures that anonymous blocks are included in the section range.
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
Commit da650094b187ee3c8017d74f63c885663faca1d8 by douglas.yung
Fix build of LookupResult.cpp from aeda128 with Visual C++.
The file was modifiedllvm/lib/DebugInfo/GSYM/LookupResult.cpp
Commit c4d8c6319f576a7540017168db2f0440691914f4 by suc-daniil
[LCSSA] Don't use VH callbacks to invalidate SCEV when creating LCSSA
phis
In general ValueHandleBase::ValueIsRAUWd shouldn't be called when not
all uses of the value were actually replaced, though, currently
formLCSSAForInstructions calls it when it inserts LCSSA-phis.
Calls of ValueHandleBase::ValueIsRAUWd were added to LCSSA specifically
to update/invalidate SCEV. In the best case these calls duplicate some
of the work already done by SE->forgetValue, though in case when SCEV of
the value is SCEVUnknown, SCEV replaces the underlying value of
SCEVUnknown with the new value (i.e. acts like LCSSA-phi actually fully
replaces the value it is created for), which leads to SCEV being
corrupted because LCSSA-phi rarely dominates all uses of its inputs.
Fixes bug https://bugs.llvm.org/show_bug.cgi?id=44058.
Reviewers: fhahn, efriedma, reames, sanjoy.google
Reviewed By: fhahn
Subscribers: hiraditya, javed.absar, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70593
The file was modifiedllvm/lib/Transforms/Utils/LCSSA.cpp
The file was addedllvm/test/Transforms/LCSSA/pr44058.ll
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Commit 9e8c799e2b0dc3e3b20f5044309fa8e48e8e3e32 by a.v.lapshin
[Dsymutil][NFC] Move NonRelocatableStringpool into common CodeGen
folder.
That refactoring moves NonRelocatableStringpool into common CodeGen
folder. So that NonRelocatableStringpool could be used not only inside
dsymutil.
Differential Revision: https://reviews.llvm.org/D71068
The file was modifiedllvm/tools/dsymutil/DwarfLinker.cpp
The file was modifiedllvm/tools/dsymutil/MachOUtils.cpp
The file was modifiedllvm/tools/dsymutil/DeclContext.h
The file was removedllvm/tools/dsymutil/NonRelocatableStringpool.h
The file was modifiedllvm/tools/dsymutil/CMakeLists.txt
The file was modifiedllvm/tools/dsymutil/DwarfStreamer.h
The file was addedllvm/lib/CodeGen/NonRelocatableStringpool.cpp
The file was addedllvm/include/llvm/CodeGen/NonRelocatableStringpool.h
The file was removedllvm/tools/dsymutil/NonRelocatableStringpool.cpp
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
Commit 90409f73a5e1418c7623317e5cc3b417bab7c59a by llvmgnsyncbot
gn build: Merge 9e8c799e2b0
The file was modifiedllvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Commit 6c2b2b9e20abb27ab5c1ae255c1862785b793c1f by mgorny
[compiler-rt] [test] Disable ASLR on ASAN/MSAN/TSAN tests on NetBSD
Use a new %run wrapper for ASAN/MSAN/TSAN tests that calls paxctl in
order to disable ASLR on the test executables.  This makes it possible
to test sanitizers on systems where ASLR is enabled by default.
Differential Revision: https://reviews.llvm.org/D70958
The file was modifiedcompiler-rt/test/msan/lit.cfg.py
The file was modifiedcompiler-rt/test/tsan/lit.cfg.py
The file was modifiedcompiler-rt/test/lit.common.cfg.py
The file was addedcompiler-rt/test/sanitizer_common/netbsd_commands/run_noaslr.sh
The file was modifiedcompiler-rt/test/asan/lit.cfg.py
The file was modifiedcompiler-rt/test/sanitizer_common/lit.common.cfg.py
Commit 51ce067a442ee6381527b12d113f51906b0245a8 by kkleine
[lldb] NFC: less nesting in SearchFilter.cpp
I was working on SearchFilter.cpp and felt it a bit too complex in some
cases in terms of nesting and logic flow.
Reviewers: teemperor, JDevlieghere
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71022
The file was modifiedlldb/source/Core/SearchFilter.cpp
Commit 4dac97eb1e6563750e682e482e68f29ac076a4f7 by Raphael Isemann
[lldb][NFC] Migrate FileSpec::Dump to raw_ostream
The file was modifiedlldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
The file was modifiedlldb/include/lldb/Utility/FileSpec.h
The file was modifiedlldb/source/Core/FormatEntity.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointLocation.cpp
The file was modifiedlldb/source/Core/FileSpecList.cpp
The file was modifiedlldb/source/Utility/ProcessInfo.cpp
The file was modifiedlldb/source/Core/Module.cpp
The file was modifiedlldb/source/Interpreter/OptionValueFileSpecList.cpp
The file was modifiedlldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
The file was modifiedlldb/source/Utility/FileSpec.cpp
The file was modifiedlldb/source/Symbol/SymbolContext.cpp
The file was modifiedlldb/source/Symbol/LineEntry.cpp
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
Commit 99768b243cd7afd312745da58b20ea067f39f89e by sam.mccall
[clangd] (take 2) Try harder to find a plausible `clang` as argv0,
particularly on Mac.
Summary: This was originally committed in
88bccded8fa169481fa367debf5ec615640635a1, and reverted in
93f77617abba512d2861e2fc50ce385883f587b6.
This version is now much more testable: the "detect toolchain
properties" part is still not tested but also not active in tests. All
the command manipulation based on the detected properties is directly
tested, and also not active in other tests.
Fixes https://github.com/clangd/clangd/issues/211 Fixes
https://github.com/clangd/clangd/issues/178
Reviewers: kbobyrev, ilya-biryukov
Subscribers: mgorny, ormris, cfe-commits, usaxena95, kadircet, arphaman,
jkorous, MaskRay
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71029
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.h
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ClangdTests.cpp
The file was addedclang-tools-extra/clangd/CompileCommands.h
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
The file was addedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp
The file was addedclang-tools-extra/clangd/CompileCommands.cpp
Commit 64df0f359955bb835d7cfbdb0dc0e7b67269f93d by llvmgnsyncbot
gn build: Merge 99768b243cd
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
Commit fac4e3c5f8a018599cbd9363a735b1c13e8f8a05 by alexfh
[clang-tidy] Fix PR26274
Summary: This commit fixes http://llvm.org/PR26274 in a simpler and more
correct way than 4736d63f752f8d13f4c6a9afd558565c32119718 did. See
https://reviews.llvm.org/D69855#1767089 for details.
Reviewers: gribozavr, aaron.ballman, gribozavr2
Reviewed By: aaron.ballman, gribozavr2
Subscribers: gribozavr2, merge_guards_bot, xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70974
The file was modifiedclang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/google-readability-namespace-comments.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/google-readability-namespace-comments-c++17.cpp
The file was removedclang-tools-extra/test/clang-tidy/checkers/google-readability-nested-namespace-comments.cpp
Commit 6e1f3170e061b16c9096a769508f0a6d7eb95b9c by pavel
[lldb/DWARF] Remove DWARFDebugRangesBase abstract class
now that we use llvm to parse debug_rnglists, this abstraction is not
useful.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h
Commit 0d2472ff6f604af842059d9a0098db274515a2d3 by pavel
[lldb/IRExecutionUnit] Stop searching based on demangled names
Summary: This was causing problems on linux, where we'd end up calling
the deleting destructor instead of a regular one (because they have the
same demangled name), making a lot of mischief in the process.
The only place where this was necessary (according to the test suite, at
least) was to call a base structor instead of a complete one, but this
is now handled in a more targeted fashion.
TestCallOverriddenMethod is now re-enabled as it now passes reliably.
Reviewers: teemperor, JDevlieghere
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70722
The file was modifiedlldb/source/Expression/IRExecutionUnit.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/call-overridden-method/TestCallOverriddenMethod.py
Commit 777d1f7272b52cbe372e7234a7247b189e416062 by Raphael Isemann
[lldb] Migrate VMRange::Dump to raw_ostream
The file was modifiedlldb/include/lldb/Utility/VMRange.h
The file was modifiedlldb/source/Core/Section.cpp
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
The file was modifiedlldb/source/Utility/VMRange.cpp
Commit 5ee8e673135891072789f0f9bf14a5d82f0f8e01 by pavel
[lldb/DWARF] Fix DW_AT_rnglists_base handling for dwo files
the value of DW_AT_rnglists_base of the skeleton unit is for that unit
alone (e.g. used in DW_AT_ranges of the unit DIE) and should not apply
to the split unit.
The split unit has a hardcoded range list base value -- we should
initialize range list code whenever we detect a nonempty
debug_rnglists.dwo section.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/debug_rnglists-dwo.s
Commit b6e2cf3270dab43dbc6ffad4695c5c14789bc5e5 by Raphael Isemann
[lldb][NFC] Remove ability to pass a custom printf format to
DataExtractor::PutToLog
This is luckily not used anywhere.
The file was modifiedlldb/include/lldb/Utility/DataExtractor.h
The file was modifiedlldb/source/Utility/DataExtractor.cpp
Commit f69f92344adaada1f8f3cfcd711037227432b062 by pavel
[lldb/DWARF] Fix DW_AT_addr_base & DW_AT_low_pc interaction
In DWARF5 DW_AT_low_pc (and DW_AT_entry_pc, and possibly others) can use
DW_FORM_addrx to refer to the address indirectly. This means we need to
have processed the DW_AT_addr_base attribute before we can do anything
with these.
Since we were processing the unit attributes serially, this created a
problem in cases where the DW_AT_addr_base comes after DW_AT_low_pc --
we would end up computing the wrong unit base address, which also
corrupted any values which later depended on that (for instance range
lists). Clang currently always emits DW_AT_addr_base last.
The fix is simple -- process DW_AT_addr_base first, regardless of its
position in the attribute list.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was addedlldb/test/Shell/SymbolFile/DWARF/DW_AT_low_pc-addrx.s
Commit daee549b1756a7aa0f1560d5460ae580897e4c1a by ulrich.weigand
[FPEnv][SelectionDAG] Relax chain requirements
This patch implements the following changes:
1) SelectionDAGBuilder::visitConstrainedFPIntrinsic currently treats
each constrained intrinsic like a global barrier (e.g. a function call)
and fully serializes all pending chains. This is actually not required;
it is allowed for constrained intrinsics to be reordered w.r.t one
another or (nonvolatile) memory accesses. The MI-level scheduler already
allows for that flexibility, so it makes sense to allow it at the DAG
level as well.
This patch therefore changes the way chains for constrained intrisincs
are created, and handles them basically like load operations are
handled. This has the effect that constrained intrinsics are no longer
serialized against one another or (nonvolatile) loads. They are still
serialized against stores, but that seems hard to change with the
current DAG chain setup, and it also doesn't seem to be a big problem
preventing DAG
2) The OPC_CheckFoldableChainNode check requires that each of the
intermediate nodes in a multi-node pattern match only has a single use.
This check tends to fail if those intermediate nodes are strict
operations as those have a chain output that typically indeed has
another use. However, we don't really need to consider chains here at
all, since they will all be rewritten anyway by UpdateChains later.
Other parts of the matcher therefore already ignore chains, but this
hasOneUse check doesn't.
This patch replaces hasOneUse by a custom test that verifies there is no
more than one use of any non-chain output value.
In theory, this change could affect code unrelated to strict FP nodes,
but at least on SystemZ I could not find any single instance of that
happening
3) The SystemZ back-end currently does not allow matching multiply-and-
extend operations (32x32 -> 64bit or 64x64 -> 128bit FP multiply) for
strict FP operations.  This was not possible in the past due to the
problems described under 1) and 2) above.
With those issues fixed, it is now possible to fully support those
instructions in strict mode as well, and this patch does so.
Differential Revision: https://reviews.llvm.org/D70913
The file was modifiedllvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/fp128-libcalls-strict.ll
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFP.td
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-04.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-mul-02.ll
The file was modifiedllvm/test/CodeGen/X86/fp128-cast-strict.ll
Commit fc39b94849c89843aebb210c5d9be9c48e2b43a6 by Raphael Isemann
[lldb][NFC] Move [SU]Int64ValueIsValidForByteSize to RegisterValue
These functions are an implementation detail of RegisterValue, so it
doesn't make a lot of sense to implement them in a totally unrelated
class.
The file was modifiedlldb/include/lldb/Utility/Args.h
The file was modifiedlldb/source/Utility/RegisterValue.cpp
Commit d8821adacbb02fe9f9707079087d35cb02ef4a6c by mikael.holmen
[clangd] Fix gcc warning about extra ";" [NFC]
gcc complained with
/data/repo/master/clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp:326:30:
warning: extra ';' [-Wpedantic]
REGISTER_TWEAK(DefineOutline);
                             ^
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp