1. [NFC][ARM] Add and modify tests (details)
  2. [LoopInterchange] Properly move condition, induction increment and ops (details)
  3. [LLDB] Do not try to canonicalize gethostname() result (details)
  4. [ARM] Take into account -mcpu and -mfpu options while handling 'crypto' (details)
  5. Revert "clang-misexpect: Profile Guided Validation of Performance (details)
Commit 17ea9b463c66a6a9e978e87b9363c24e8e7e6e42 by sam.parker
[NFC][ARM] Add and modify tests
Add test for ParallelDSP.
llvm-svn: 371594
The file was addedllvm/test/CodeGen/ARM/ParallelDSP/complex_dot_prod.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/unroll-n-jam-smlad.ll
Commit e4961218fd5b9bb36810b8dc05481f29068dbbdd by flo
[LoopInterchange] Properly move condition, induction increment and ops
to latch.
Currently we only rely on the induction increment to come before the
condition to ensure the required instructions get moved to the new
This patch duplicates and moves the required instructions to the newly
created latch. We move the condition to the end of the new block, then
process its operands. We stop at operands that are defined outside the
loop, or are the induction PHI.
We duplicate the instructions and update the uses in the moved
instructions, to ensure other users remain intact. See the added test2
for such an example.
Reviewers: efriedma, mcrosier
Reviewed By: efriedma
Differential Revision:
llvm-svn: 371595
The file was modifiedllvm/lib/Transforms/Scalar/LoopInterchange.cpp
The file was modifiedllvm/test/Transforms/LoopInterchange/phi-ordering.ll
The file was addedllvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll
The file was modifiedllvm/test/Transforms/LoopInterchange/perserve-lcssa.ll
The file was modifiedllvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll
The file was modifiedllvm/test/Transforms/LoopInterchange/interchangeable.ll
Commit b250d5ff5e7c5ebd9f3f5da6776ffc91cd01c614 by dave
[LLDB] Do not try to canonicalize gethostname() result
This code is trying too hard and failing. Either the result of
gethostname() is canonical or it is not. If it is not, then trying to
canonicalize it is – for various reasons – a lost cause. For example, a
given machine might have multiple network interfaces with multiple
addresses per interface, each with a different canonical name.
Separably, the result of HostInfoPosix::GetHostname() and latency
thereof shouldn't depend on whether networking is up or down or what
network the machine happened to be attached to at any given moment (like
a laptop that travels between work and home).
llvm-svn: 371596
The file was modifiedlldb/source/Host/posix/HostInfoPosix.cpp
Commit 73ec745793acdddc505610ae6a1087ada3140ef2 by diogo.sampaio
[ARM] Take into account -mcpu and -mfpu options while handling 'crypto'
Submittin in behalf of krisb (Kristina Bessonova)
'+crypto' means '+aes' and '+sha2' for arch >= ARMv8 when they were not
disabled explicitly. But this is correctly handled only in case of
'-march' option, though the feature may also be specified through the
'-mcpu' or '-mfpu' options. In the following example:
  $ clang -mcpu=cortex-a57 -mfpu=crypto-neon-fp-armv8
'aes' and 'sha2' are disabled that is quite unexpected:
  $ clang -cc1 -triple armv8--- -target-cpu cortex-a57
   <...> -target-feature -sha2 -target-feature -aes -target-feature
This exposed by that makes the 'aes' and
'sha2' features disabled by default.
So, while handling the 'crypto' feature we need to take into account:
- a CPU name, as it provides the information about architecture
   (if no '-march' option specified),
- features, specified by the '-mcpu' and '-mfpu' options.
Reviewers: SjoerdMeijer, ostannard, labrinea, dnsampaio
Reviewed By: dnsampaio
Subscribers: ikudrin, javed.absar, kristof.beyls, cfe-commits
Tags: #clang
Differential Revision:
Author: krisb llvm-svn: 371597
The file was modifiedclang/test/Driver/arm-features.c
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
The file was modifiedclang/include/clang/Basic/
Commit 57256af307ab7bdf42c47da019a1a288b9f9451a by gribozavr
Revert "clang-misexpect: Profile Guided Validation of Performance
Annotations in LLVM"
This reverts commit r371584. It introduced a dependency from compiler-rt
to llvm/include/ADT, which is problematic for multiple reasons.
One is that it is a novel dependency edge, which needs cross-compliation
machinery for llvm/include/ADT (yes, it is true that right now
compiler-rt included only header-only libraries, however, if we allow
compiler-rt to depend on anything from ADT, other libraries will
eventually get used).
Secondly, depending on ADT from compiler-rt exposes ADT symbols from
compiler-rt, which would cause ODR violations when Clang is built with
the profile library.
llvm-svn: 371598
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
The file was removedcompiler-rt/lib/profile/xxhash.c
The file was removedclang/test/Profile/Inputs/misexpect-switch.proftext
The file was removedllvm/lib/Transforms/Utils/MisExpect.cpp
The file was removedclang/test/Profile/Inputs/misexpect-switch-default.proftext
The file was modifiedclang/lib/CodeGen/CodeGenAction.cpp
The file was removedclang/test/Profile/misexpect-branch.c
The file was modifiedllvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
The file was removedclang/test/Profile/misexpect-branch-unpredictable.c
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
The file was modifiedllvm/include/llvm/IR/MDBuilder.h
The file was removedllvm/test/Transforms/PGOProfile/misexpect-branch-stripped.ll
The file was modifiedllvm/lib/IR/MDBuilder.cpp
The file was removedclang/test/Profile/Inputs/misexpect-switch-default-only.proftext
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was removedclang/test/Profile/misexpect-branch-cold.c
The file was removedclang/test/Profile/misexpect-branch-nonconst-expected-val.c
The file was removedllvm/test/Transforms/PGOProfile/misexpect-branch-unpredictable.ll
The file was removedclang/test/Profile/Inputs/misexpect-switch-nonconst.proftext
The file was removedcompiler-rt/lib/profile/xxhash.h
The file was removedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch.proftext
The file was modifiedclang/include/clang/Basic/
The file was modifiedllvm/lib/IR/DiagnosticInfo.cpp
The file was removedllvm/test/Transforms/PGOProfile/misexpect-switch.ll
The file was modifiedllvm/include/llvm/IR/DiagnosticInfo.h
The file was removedllvm/test/Transforms/PGOProfile/misexpect-branch-correct.ll
The file was removedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch-correct.proftext
The file was removedllvm/test/Transforms/PGOProfile/misexpect-switch-default.ll
The file was removedllvm/test/Transforms/PGOProfile/misexpect-branch.ll
The file was modifiedllvm/include/llvm/IR/FixedMetadataKinds.def
The file was removedllvm/include/llvm/Transforms/Utils/MisExpect.h
The file was modifiedclang/include/clang/Basic/
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was removedclang/test/Profile/Inputs/misexpect-branch-nonconst-expect-arg.proftext
The file was modifiedllvm/test/ThinLTO/X86/lazyload_metadata.ll
The file was removedclang/test/Profile/misexpect-switch-default.c
The file was removedclang/test/Profile/misexpect-switch.c
The file was modifiedllvm/test/Transforms/LowerExpectIntrinsic/basic.ll
The file was removedclang/test/Profile/misexpect-switch-nonconst.c
The file was removedclang/test/Profile/misexpect-switch-only-default-case.c
The file was removedllvm/test/Transforms/PGOProfile/Inputs/misexpect-switch-correct.proftext
The file was removedclang/test/Profile/Inputs/misexpect-branch.proftext
The file was removedllvm/test/Transforms/PGOProfile/Inputs/misexpect-branch.proftext