SuccessChanges

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

Summary

  1. [demangler] Fix demangling of enumerators with negative values (details)
  2. Fixed a problem removing temp files (details)
  3. Add shim for fork() on PS4 as it is not supported there. (details)
  4. [X86] Make the if statement structure for inline assembly constraints 'l', 'r', 'q', 'Q', and 'R' the same. (details)
  5. [X86] Don't allow f80 to be used with the 'q', 'r', 'l', 'Q' or 'q' inline assembly constraints. (details)
  6. AMDGPU: Use Register (details)
  7. [SimpleLoopUnswitch] Add non-empty unreachable block check to exit cases removed. (details)
  8. [NewPassManager] Add assertions when getting statefull cached analysis. (details)
  9. [SelectionDAG] Require constant index for INSERT/EXTRACT_SUBVECTOR. (details)
  10. [libc++] Explicitly list Lit features from the config_site header (details)
  11. [X86] Only allow f32, f64, or f80 to be used with 'f' inline assembly constraint. (details)
  12. [llvm] Add interface to drive inlining decision using ML model (details)
  13. [docs] Add link to zorg github project (details)
Commit 15426b2161a4680051f13dcf0824eeab602b25fa by erik.pilkington
[demangler] Fix demangling of enumerators with negative values

rdar://27527445
The file was modifiedlibcxxabi/src/demangle/ItaniumDemangle.h
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
Commit 72416b136ec67e3036add616875438dc93bec149 by psteinfeld
Fixed a problem removing temp files

Summary:
Before making this change, whenever I ran "check-flang", I'd get an
error message like:

llvm-lit: /mnt/c/GitHub/f18/c751/flang/build/bin/../../../llvm/utils/lit/lit/main.py:252: warning: Failed to delete temp directory '/tmp/lit_tmp_gOKUIh'

With this change, there's no such message in the output, and the temp
directory is successfully removed.

Note that my working environment is on Windows 10 running Windows
Subsystem for Linux using the Ubuntu app.  I'm running Python version
2.7.1.

Earlier versions of Python do not contain `shutil`.  It may be that this
module was available on Windows systems later than other platforms.
Upgrading my version of Python made the problem go away

I don't believe that timing was a problem since inserting a long delay
didn't fix things.

So I added some text to the error message recommending that the user
upgrade their version of Python if they run into this problem.

Reviewers: yln, DavidTruby

Subscribers: delcypher, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79861
The file was modifiedllvm/utils/lit/lit/main.py
Commit 5435c5def24e68b4cd54efa9e989cd78dbb9b8cc by douglas.yung
Add shim for fork() on PS4 as it is not supported there.

Reviewers: probinson

Subscribers: #sanitizers llvm-commits

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D79839
The file was modifiedcompiler-rt/lib/profile/InstrProfilingUtil.h
Commit 47985451edeb1a6de560dfcae031093bc5eb0f9f by craig.topper
[X86] Make the if statement structure for inline assembly constraints 'l', 'r', 'q', 'Q', and 'R' the same.

These did similar things but had slight differences. For example
'Q' didn't allow f64, but the others did.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 38e0ab2f3a3dc03acba37efe311c7c0a66665b79 by craig.topper
[X86] Don't allow f80 to be used with the 'q', 'r', 'l', 'Q' or 'q' inline assembly constraints.

It was previously trying to use the 64-bit class, but 80 isn't
evenly divisible by 64 so it will trigger a crash.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/asm-reject-reg-type-mismatch.ll
Commit 704b539f65b74bbe961ba95caffdc8f98a5e374d by Matthew.Arsenault
AMDGPU: Use Register
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
Commit db04ff4b6bc3fbf5618556c52f8dd57a00790648 by asbirlea
[SimpleLoopUnswitch] Add non-empty unreachable block check to exit cases removed.

Summary:
Update check to include the check for unreachable.

Basic blocks ending in unreachable are special cased, as these blocks may be already unswitched. Before this patch this check is only done for the default destination.
The condition for the exit cases and the default case must be the same, because we should never leave edges from the switch instruction to a basic block that we are unswitching. In PR45355 we still have a remaining edge (that we're attempting to remove from the DT) because its the default edge to an unreachable-terminated block where we unswitch a case edge to that block.

Resolves PR45355.

Reviewers: chandlerc

Subscribers: hiraditya, uabelho, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78279
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modifiedllvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch.ll
Commit bd541b217f4d750391677144ccaa586874236f38 by asbirlea
[NewPassManager] Add assertions when getting statefull cached analysis.

Summary:
Analyses that are statefull should not be retrieved through a proxy from
an outer IR unit, as these analyses are only invalidated at the end of
the inner IR unit manager.
This patch disallows getting the outer manager and provides an API to
get a cached analysis through the proxy. If the analysis is not
stateless, the call to getCachedResult will assert.

Reviewers: chandlerc

Subscribers: mehdi_amini, eraman, hiraditya, zzheng, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72893
The file was modifiedllvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/CallGraphUpdater.h
The file was modifiedllvm/lib/Transforms/Utils/CallGraphUpdater.cpp
The file was modifiedllvm/include/llvm/Analysis/AliasAnalysis.h
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/include/llvm/Analysis/CGSCCPassManager.h
The file was modifiedllvm/lib/Transforms/Coroutines/CoroSplit.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/unittests/IR/PassManagerTest.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/unittests/Analysis/CGSCCPassManagerTest.cpp
The file was modifiedllvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
The file was modifiedllvm/include/llvm/IR/PassManager.h
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
The file was modifiedllvm/lib/Transforms/Scalar/ConstantHoisting.cpp
Commit ed428c429e97592c260ad74a6198c210ce381a61 by efriedma
[SelectionDAG] Require constant index for INSERT/EXTRACT_SUBVECTOR.

It sounds like an interesting idea in theory, but nothing is actually
taking advantage of it, and specifying/implementing the edge cases is
painful. So just forbid it.

Differential Revision: https://reviews.llvm.org/D79814
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/include/llvm/CodeGen/ISDOpcodes.h
Commit e7bdfba4f00d65f0e5d3ff5adb772f424ba7f02d by Louis Dionne
[libc++] Explicitly list Lit features from the config_site header

When grepping for unused features in the test suite, we will now find
those features and where they are defined, as opposed to thinking they
are dead features.
The file was modifiedlibcxx/utils/libcxx/test/features.py
Commit 028bfdd8913616f7a3e57e8ef5c2a9990e528ff0 by craig.topper
[X86] Only allow f32, f64, or f80 to be used with 'f' inline assembly constraint.

Avoids crash when using i128. Gives better error than
'scalar-to-vector conversion failed' for other types.
The file was modifiedllvm/test/CodeGen/X86/asm-reject-reg-type-mismatch.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit d6695e18763a05b30cb336c18157175277da8f4b by mtrofin
[llvm] Add interface to drive inlining decision using ML model

Summary:

This change introduces InliningAdvisor (and related APIs), the interface
that abstracts decision making away from the inlining pass. We will use
this interface to delegate decision making to a trained ML model,
subsequently (see referenced RFC).

RFC: http://lists.llvm.org/pipermail/llvm-dev/2020-April/140763.html

Reviewers: davidxl, eraman, dblaikie

Subscribers: mgorny, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79042
The file was modifiedllvm/include/llvm/Transforms/IPO/Inliner.h
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
The file was modifiedllvm/lib/Analysis/InlineAdvisor.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Transforms/Inline/optimization-remarks-with-hotness.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Transforms/Inline/optimization-remarks.ll
The file was modifiedllvm/test/Transforms/Inline/optimization-remarks-passed-yaml.ll
The file was modifiedllvm/test/Transforms/Inline/optimization-remarks-hotness-threshold.ll
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was addedllvm/test/Transforms/Inline/inlining-advisor-default.ll
The file was modifiedllvm/test/Transforms/Inline/inline_stats.ll
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
The file was modifiedllvm/test/Other/scc-deleted-printer.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
The file was modifiedllvm/test/Transforms/Inline/module-inlining.ll
The file was modifiedllvm/test/Transforms/Inline/optimization-remarks-yaml.ll
The file was modifiedllvm/test/Transforms/Inline/internal-scc-members.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedllvm/test/Transforms/Inline/monster_scc.ll
The file was modifiedllvm/include/llvm/Analysis/InlineAdvisor.h
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/test/Other/new-pm-lto-defaults.ll
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/test/Other/scc-pass-printer.ll
Commit ee33ee68fe5d9990d5812ea4347e5741337b0881 by mtrofin
[docs] Add link to zorg github project

Reviewers: gkistanova

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79891
The file was modifiedllvm/docs/HowToAddABuilder.rst