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


  1. [SimplifyLibCalls] Add noalias from known callsites (details)
  2. [NFC] Updated tests after r368724 (details)
  3. [util] Allow callsigns when running git llvm revert (details)
  4. Use Register over unsigned in LateEHPrepare (NFC) (details)
  5. clang: Don't warn on unused momit-leaf-frame-pointer when frame pointers (details)
  6. [NFC] Fixed test (details)
  7. [AutoUpgrader] Make ArcRuntime Autoupgrader more conservative (details)
  8. [llvm-profdata] Profile dump for compact binary format (details)
  9. [clang] Refactor doc comments to Decls attribution (details)
  10. [ARM] Add MVE beats vector cost model (details)
Commit 038d604f4f8c0f02ef8b6e8740f1a6fc1538c193 by david.bolvansky
[SimplifyLibCalls] Add noalias from known callsites
Summary: Should be fine for memcpy, strcpy, strncpy.
Reviewers: jdoerfert, efriedma
Reviewed By: jdoerfert
Subscribers: uenoku, llvm-commits
Tags: #llvm
Differential Revision:
llvm-svn: 368724
The file was modifiedllvm/test/Transforms/InstCombine/strcpy_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/memcpy-from-global.ll
The file was modifiedllvm/test/Transforms/InstCombine/memcpy.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/memcpy-to-memset-with-lifetimes.ll
The file was modifiedllvm/test/Transforms/InstCombine/memcpy-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/memcpy-to-load.ll
The file was modifiedllvm/test/Transforms/InstCombine/objsize.ll
The file was modifiedllvm/test/Transforms/InstCombine/mem-deref-bytes.ll
The file was modifiedllvm/test/Analysis/TypeBasedAliasAnalysis/memcpyopt.ll
The file was modifiedllvm/test/Transforms/InstCombine/memmove.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/strncpy_chk-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/sprintf-1.ll
The file was addedllvm/test/Transforms/InstCombine/annotate-noalias.ll
The file was modifiedllvm/test/Transforms/InstCombine/memcpy_chk-1.ll
Commit 97c35c9f57cff622bbb52dba7e05b1e1ce29961a by david.bolvansky
[NFC] Updated tests after r368724
llvm-svn: 368725
The file was modifiedclang/test/CodeGen/tbaa-struct.cpp
Commit 39bce250d25b766f9e19f7858caf1704bef9abcc by rupprecht
[util] Allow callsigns when running git llvm revert
llvm-svn: 368726
The file was modifiedllvm/utils/git-svn/git-llvm
Commit 64517a6419ca7f7b4f349f512c7cc65c30dae2bf by aheejin
Use Register over unsigned in LateEHPrepare (NFC)
Summary: While D65962 is pending for review, I landed D65475 that added
one more use of `unsigned`. Changed it to `Register`.
Reviewers: dsanders
Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, llvm-commits
Tags: #llvm
Differential Revision:
llvm-svn: 368727
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
Commit 2346b92f2bff05ef9d83706787bd38e32e0079c5 by nicolasweber
clang: Don't warn on unused momit-leaf-frame-pointer when frame pointers
are off.
This fixes a regression from r365860: As that commit message states,
there are 3 valid states targeted by the combination of
-f(no-)omit-frame-pointer and -m(no-)omit-leaf-frame-pointer.
After r365860 it's impossible to get from state 10 (omit just leaf frame
pointers) to state 11 (omit all frame pointers) in a single command line
without getting a warning.
This change restores that functionality.
Fixes PR42966.
Differential Revision:
llvm-svn: 368728
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/frame-pointer-elim.c
Commit bbccb94d02ef70c06583f4804cc52a4678ddbc04 by david.bolvansky
[NFC] Fixed test
llvm-svn: 368729
The file was modifiedllvm/test/Other/cgscc-libcall-update.ll
Commit 9e51fb6c576205c4ada59675d89443df10b4abff by Steven Wu
[AutoUpgrader] Make ArcRuntime Autoupgrader more conservative
Summary: This is a tweak to r368311 and r368646 which auto upgrades the
calls to objc runtime functions to objc runtime intrinsics, in order to
make sure that the auto upgrader does not trigger with up-to-date
It is possible for bitcode that is up-to-date to contain direct calls to
objc runtime function and those are not inserted by compiler as part of
ARC and they should not be upgraded. Now auto upgrader only triggers as
when the old style of ARC marker is used so it is guaranteed that it
won't trigger on update-to-date bitcode.
This also means it won't do this upgrade for bitcode from llvm-8 and
llvm-9, which preserves the behavior of those releases. Ideally they
should be upgraded as well but it is more important to make sure
AutoUpgrader will not trigger on up-to-date bitcode.
Reviewers: ahatanak, rjmccall, dexonsmith, pete
Reviewed By: dexonsmith
Subscribers: hiraditya, jkorous, llvm-commits
Tags: #llvm
Differential Revision:
llvm-svn: 368730
The file was modifiedllvm/include/llvm/IR/AutoUpgrade.h
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/test/Bitcode/upgrade-arc-runtime-calls.ll
The file was addedllvm/test/Bitcode/upgrade-arc-runtime-calls-new.bc
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit d328954467f406895ba4306eee1109aad6b18797 by aktoon
[llvm-profdata] Profile dump for compact binary format
Summary: Fix "llvm-profdata show" so it can work with compact binary
format profile. The change is to mark all functions "used" so
SampleProfileReaderCompactBinary::read will read in all profiles
available for dumping. The function names will be MD5 hash for compact
binary format.
Reviewers: wmi, davidxl, danielcdh
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision:
llvm-svn: 368731
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
The file was addedllvm/test/tools/llvm-profdata/Inputs/compat-sample.profdata
The file was addedllvm/test/tools/llvm-profdata/compact-sample.proftext
Commit f31d8df1c8c69e7a787c1c1c529a524f3001c66a by Jan Korous
[clang] Refactor doc comments to Decls attribution
- Create ASTContext::attachCommentsToJustParsedDecls so we don't have to
load external comments in Sema when trying to attach existing comments
to just parsed Decls.
- Keep comments ordered and cache their decomposed location - faster
SourceLoc-based searching.
- Optimize work with redeclarations.
- Keep one comment per redeclaration chain (represented by canonical
Decl) instead of comment per redeclaration.
- For redeclaration chains with no comment attached keep just the last
declaration in chain that had no comment instead of every comment-less
Differential Revision:
llvm-svn: 368732
The file was modifiedclang/include/clang/AST/RawCommentList.h
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was addedclang/test/Index/comment-redeclarations.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/AST/RawCommentList.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit a655393f17424c92bc81a5084f3c65fcb361040d by
[ARM] Add MVE beats vector cost model
The MVE architecture has the idea of "beats", where a vector instruction
can be executed over several ticks of the architecture. This adds a
similar system into the Arm backend cost model, multiplying the cost of
all vector instructions by a factor.
This factor essentially becomes the expected difference between scalar
code and vector code, on average. MVE Vector instructions can also
overlap so the a true cost of them is often lower. But equally scalar
instructions can in some situations be dual issued, or have other
optimisations such as unrolling or make use of dsp instructions. The
default is chosen as 2. This should not prevent vectorisation is a most
cases (as the vector instructions will still be doing at least 4 times
the work), but it will help prevent over vectorising in cases where the
benefits are less likely.
This adds things so far to the obvious places in ARMTargetTransformInfo,
and updates a few related costs like not treating float instructions as
cost 2 just because they are floats.
Differential Revision:
llvm-svn: 368733
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/select.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/shuffle.ll
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.cpp
The file was modifiedllvm/test/Analysis/CostModel/ARM/load_store.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.h
The file was modifiedllvm/test/Analysis/CostModel/ARM/divrem.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/fparith.ll
The file was modifiedllvm/lib/Target/ARM/
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith.ll