SuccessChanges

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

Summary

  1. Reland D81869 "Modify FPFeatures to use delta not absolute settings" (details)
  2. [NFCI][SCEV] getPointerBase(): de-recursify (details)
  3. [SCEV] Make SCEVAddExpr actually always return pointer type if there is pointer operand (PR46457) (details)
  4. AsmWriter - printConstVCalls/printNonConstVCalls - avoid std::vector pass by value. NFCI. (details)
  5. [IR] Store attributes that are available "somewhere" (NFC) (details)
  6. AsmPrinter.h - reduce includes to forward declarations. NFC. (details)
  7. MCSectionWasm.h - reduce includes to forward declarations. NFC. (details)
  8. IndirectionUtils.h - reduce Twine.h include to forward declaration. NFC. (details)
  9. CompileOnDemandLayer.h - remove unused Twine.h include. NFC. (details)
  10. Error.h - GenericBinaryError - pass Twine arg by reference not value. (details)
  11. Reland: [clang driver] Move default module cache from system temporary directory (details)
  12. Fix unused type alias warning. NFC. (details)
  13. [X86] Add AVX tests buildvec-insertvec.ll (details)
  14. [X86] Add PR46461 test case (details)
  15. [DAG] reduceBuildVecExtToExtBuildVec - don't combine if it would break a splat. (details)
  16. FileCollector.h - reduce Twine.h include to forward declaration. NFC. (details)
  17. [clang-format] [PR462254] fix indentation of default and break correctly in whitesmiths style (details)
  18. ThreadPool.h - remove unused BitVector.h include. NFC. (details)
  19. Revert "[Docs] Fix typo and test git commit access. NFC." (details)
  20. [clang-format] NFC 1% improvement in the overall clang-formatted status (details)
  21. [X86][AVX] SimplifyDemandedVectorEltsForTargetNode - reduce width of X86ISD::VPERMILPV (details)
  22. [X86][AVX] SimplifyDemandedVectorEltsForTargetNode - reduce width of X86ISD::VPERMIL2 (details)
  23. Update polly tests to use -disable-basicaa to -disable-basic-aa (details)
  24. [Analysis] isDereferenceableAndAlignedPointer(): don't crash on `bitcast <1 x ???*> to ???*` (details)
Commit f4aaed3bf16b3c07152c7a47d1a363a8267ebcf1 by melanie.blower
Reland D81869 "Modify FPFeatures to use delta not absolute settings"
This reverts commit defd43a5b393bb63a902042adf578081b03b171d.
with correction to solve msan report

To solve https://bugs.llvm.org/show_bug.cgi?id=46166 where the
floating point settings in PCH files aren't compatible, rewrite
FPFeatures to use a delta in the settings rather than absolute settings.
With this patch, these floating point options can be benign.

Reviewers: rjmccall

Differential Revision: https://reviews.llvm.org/D81869
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/Basic/LangOptions.cpp
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/test/CodeGen/fp-floatcontrol-pragma.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/include/clang/module.modulemap
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Analysis/BodyFarm.cpp
The file was modifiedclang/lib/Parse/ParsePragma.cpp
The file was modifiedclang/test/PCH/pragma-floatcontrol.c
The file was modifiedclang/lib/Sema/Sema.cpp
The file was addedclang/include/clang/Basic/FPOptions.def
The file was modifiedclang/lib/Sema/SemaPseudoObject.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/test/CodeGenOpenCL/relaxed-fpmath.cl
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was addedclang/test/SemaOpenCL/fp-options.cl
The file was modifiedclang/lib/Frontend/Rewrite/RewriteObjC.cpp
The file was modifiedclang/include/clang/Serialization/ASTWriter.h
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
Commit f9f52c88cafb11952a20eaa6d3b6cb2fcc79bbf9 by lebedev.ri
[NFCI][SCEV] getPointerBase(): de-recursify

Summary:
This is boringly straight-forward, each iteration we see if
V is some expression that we can look into, and if it has
a single pointer operand, then set V to that operand
and repeat.

Reviewers: efriedma, mkazantsev, reames, nikic

Reviewed By: nikic

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82632
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 141e845da5dda6743a09f858b4aec0133a931453 by lebedev.ri
[SCEV] Make SCEVAddExpr actually always return pointer type if there is pointer operand (PR46457)

Summary:
The added assertion fails on the added test without the fix.

Reduced from test-suite/MultiSource/Benchmarks/MiBench/office-ispell/correct.c
In IR, getelementptr, obviously, takes pointer as it's base,
and returns a pointer.

When creating an SCEV expression, SCEV operands are sorted in hope
that it increases folding potential, and at the same time SCEVAddExpr's
type is the type of the last(!) operand.

Which means, in some exceedingly rare cases, pointer operand may happen to
end up not being the last operand, and as a result SCEV for GEP
will suddenly have a non-pointer return type.
We should ensure that does not happen.

In the end, actually storing the `Type *`, at the cost of increasing
memory footprint of `SCEVAddExpr`, appears to be the solution.
We can't just store a 'is a pointer' bit and create pointer type
on the fly since we don't have data layout in getType().

Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=46457 | PR46457 ]]

Reviewers: efriedma, mkazantsev, reames, nikic

Reviewed By: efriedma

Subscribers: hiraditya, javed.absar, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82633
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was addedllvm/test/Analysis/ScalarEvolution/add-expr-pointer-operand-sorting.ll
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
Commit ba2ac689e606f1011d9a5b260c31a399316514df by llvm-dev
AsmWriter - printConstVCalls/printNonConstVCalls - avoid std::vector pass by value. NFCI.
The file was modifiedllvm/lib/IR/AsmWriter.cpp
Commit 9a334a4d204127a6941071694bd7c67d6ab31acb by nikita.ppv
[IR] Store attributes that are available "somewhere" (NFC)

I noticed that for some benchmarks we spend quite a bit of time
inside AttributeList::hasAttrSomewhere(), mainly when checking
for the "returned" attribute. Most of the time the attribute will
not be present, in which case this function has to walk through
the whole attribute list and check for the attribute at each index.

This patch adds a cache of all "available somewhere" attributes
inside AttributeListImpl. This makes the structure 12 bytes larger,
but I don't think that's problematic, as attribute lists are uniqued.
Compile-time in terms of instructions retired improves by 0.4% on
average, but >1% for sqlite.

Differential Revision: https://reviews.llvm.org/D81867
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/lib/IR/AttributeImpl.h
Commit f02f3470de9f9a65a9a348faefcb74cc21d1fb35 by llvm-dev
AsmPrinter.h - reduce includes to forward declarations. NFC.
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
Commit 23cdbdb20b9abdfd3fe98d84f4117474194b5a59 by llvm-dev
MCSectionWasm.h - reduce includes to forward declarations. NFC.
The file was modifiedllvm/include/llvm/MC/MCSectionWasm.h
The file was modifiedllvm/lib/MC/MCSectionWasm.cpp
Commit f605ad013e23823442476f63e158ccdf6fca6add by llvm-dev
IndirectionUtils.h - reduce Twine.h include to forward declaration. NFC.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
Commit e92a620f6e5d8d441b0bb3126204c5afac88fba5 by llvm-dev
CompileOnDemandLayer.h - remove unused Twine.h include. NFC.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
Commit df813dc09e1bf5260d8f5cce3643ec90c68cd426 by llvm-dev
Error.h - GenericBinaryError - pass Twine arg by reference not value.

This allows us to reduce the Twine.h include to a forward declaration.
The file was modifiedllvm/lib/Object/Error.cpp
The file was modifiedllvm/include/llvm/Object/Error.h
Commit dab859d1bf250c4d0299ac505e2a6773c56b6503 by dave
Reland: [clang driver] Move default module cache from system temporary directory

This fixes a unit test. Otherwise here is the original commit:

1) Shared writable directories like /tmp are a security problem.
2) Systems provide dedicated cache directories these days anyway.
3) This also refines LLVM's cache_directory() on Darwin platforms to use
   the Darwin per-user cache directory.

Reviewers: compnerd, aprantl, jakehehrlich, espindola, respindola, ilya-biryukov, pcc, sammccall

Reviewed By: compnerd, sammccall

Subscribers: hiraditya, llvm-commits, cfe-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D82362
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedllvm/lib/Support/Unix/Path.inc
The file was modifiedllvm/unittests/Support/Path.cpp
The file was modifiedclang/include/clang/Driver/Driver.h
The file was modifiedclang/unittests/Driver/ModuleCacheTest.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/Driver/modules-cache-path.m
Commit b392fb33761e983a8edb5946734427779e25bbe2 by llvm-dev
Fix unused type alias warning. NFC.

The "using InsertPointTy" line is an unnecessary copy + paste from other builder tests.
The file was modifiedllvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Commit 5883f6f977a9b90913451e3e3dc13e14d7cddaac by llvm-dev
[X86] Add AVX tests buildvec-insertvec.ll
The file was modifiedllvm/test/CodeGen/X86/buildvec-insertvec.ll
Commit 878a24d369ea4d627fb48f7af5edc28fd079a0c0 by llvm-dev
[X86] Add PR46461 test case
The file was modifiedllvm/test/CodeGen/X86/buildvec-insertvec.ll
Commit 6bdb3ce4529ffbaad0354b052f2e9f06b4431085 by llvm-dev
[DAG] reduceBuildVecExtToExtBuildVec - don't combine if it would break a splat.

reduceBuildVecExtToExtBuildVec was breaking a splat(zext(x)) pattern into buildvector(x, 0, x, 0, ..) resulting in much more complex insert+shuffle codegen.

We already go to some lengths to avoid this in SimplifyDemandedVectorElts etc. when we encounter splat buildvectors.

It should be OK to fold all splat(aext(x)) patterns - we might need to tighten this if we find a case where we mustn't introduce a buildvector(x, undef, x, undef, ..) but I can't find one.

Fixes PR46461.
The file was modifiedllvm/test/CodeGen/X86/buildvec-insertvec.ll
The file was modifiedllvm/test/CodeGen/X86/broadcastm-lowering.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 892df9e706e43c48854be8bf544c41a146611607 by llvm-dev
FileCollector.h - reduce Twine.h include to forward declaration. NFC.
The file was modifiedllvm/include/llvm/Support/FileCollector.h
The file was modifiedllvm/lib/Support/FileCollector.cpp
Commit eb50838ba08d4149182828b96956a57ec6f5f658 by mydeveloperday
[clang-format] [PR462254] fix indentation of default and break correctly in whitesmiths style

Summary:
https://bugs.llvm.org/show_bug.cgi?id=46254

Reviewed By: curdeius, jbcoe

Differential Revision: https://reviews.llvm.org/D8201
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/UnwrappedLineFormatter.cpp
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
Commit 8b9e9753ea6875fb954a5bcdfed132dd75d63d29 by llvm-dev
ThreadPool.h - remove unused BitVector.h include. NFC.
The file was modifiedllvm/include/llvm/Support/ThreadPool.h
Commit 43e3c39327f9c32bea73b2629b718e9f5fd678d1 by 1585086582
Revert "[Docs] Fix typo and test git commit access. NFC."

This reverts commit c19e82c6b38b74c56d595cb69582b7c3727762b5.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-make-member-function-const.rst
Commit a43b99a1e38e2beffb68a6db93f216f511e7fd41 by mydeveloperday
[clang-format] NFC 1% improvement in the overall clang-formatted status
The file was modifiedclang/docs/ClangFormattedStatus.rst
Commit d56c6475a60aa44b040983fe4fd355399cc4c42d by llvm-dev
[X86][AVX] SimplifyDemandedVectorEltsForTargetNode - reduce width of X86ISD::VPERMILPV

If we don't need the elements of the upper lanes, reduce the width of the X86ISD::VPERMILPV node.
The file was modifiedllvm/test/CodeGen/X86/var-permute-256.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit e855efe42407dd67f6a513927d0669cb7a66f448 by llvm-dev
[X86][AVX] SimplifyDemandedVectorEltsForTargetNode - reduce width of X86ISD::VPERMIL2

If we don't need the elements of the upper lanes, reduce the width of the X86ISD::VPERMIL2 node.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/var-permute-256.ll
Commit 74dc081ef2d830a7fbff68b230176f874f741897 by llvm-dev
Update polly tests to use -disable-basicaa to -disable-basic-aa

These were missed in rG4cd19a6e15120cb
The file was modifiedpolly/test/ScopDetect/base_pointer.ll
The file was modifiedpolly/test/Isl/Ast/alias_simple_1.ll
The file was modifiedpolly/test/Isl/CodeGen/multidim-non-matching-typesize-2.ll
The file was modifiedpolly/test/ScopDetect/base_pointer_setNewAccessRelation.ll
The file was modifiedpolly/test/Isl/Ast/alias_simple_3.ll
The file was modifiedpolly/test/Isl/Ast/alias_simple_2.ll
The file was modifiedpolly/test/Isl/CodeGen/multidim-non-matching-typesize.ll
The file was modifiedpolly/test/ScopInfo/Alias-4.ll
Commit f0634100cdc832605bff355330d2ccdb7f43842f by lebedev.ri
[Analysis] isDereferenceableAndAlignedPointer(): don't crash on `bitcast <1 x ???*> to ???*`
The file was modifiedllvm/lib/Analysis/Loads.cpp
The file was addedllvm/test/Transforms/SimplifyCFG/1elt-ptr-vec-alignment-crash.ll