FailedChanges

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)
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/module.modulemap
The file was modifiedclang/lib/Basic/LangOptions.cpp
The file was modifiedclang/include/clang/Serialization/ASTWriter.h
The file was addedclang/include/clang/Basic/FPOptions.def
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was addedclang/test/SemaOpenCL/fp-options.cl
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
The file was modifiedclang/test/PCH/pragma-floatcontrol.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaPseudoObject.cpp
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Analysis/BodyFarm.cpp
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Parse/ParsePragma.cpp
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/test/CodeGen/fp-floatcontrol-pragma.cpp
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/test/CodeGenOpenCL/relaxed-fpmath.cl
The file was modifiedclang/include/clang/AST/Stmt.h
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/lib/Frontend/Rewrite/RewriteObjC.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
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/lib/MC/MCSectionWasm.cpp
The file was modifiedllvm/include/llvm/MC/MCSectionWasm.h
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/include/llvm/Object/Error.h
The file was modifiedllvm/lib/Object/Error.cpp