Home | Search | wasm - Builders
Login

Builder mac Build 4859 Apple OSX

Overview

Infra Failure

Input

Revision e287d6a791e06558575c29c1ba58123c9c0f49a2

Infra

Steps and Logs

Show:
  1. ( 7 ms ) setup_build

    running recipe: “wasm_llvm”

  2. ( 4 secs ) bot_update

    [37GB/232GB used (15%)]

  3. ( 6 days 17 hrs ) annotated steps
  4. ( 36 secs ) Sync Repos
  5. ( 6 mins 3 secs ) LLVM
  6. ( 29 mins 56 secs ) LLVM regression tests
  7. ( 19 secs ) jsvu
  8. ( 930 ms ) WABT
  9. ( 588 ms ) binaryen
  10. ( 11 secs ) fastcomp
  11. ( 4 secs ) emscripten
  12. ( 4 mins 49 secs ) emscripten (asm2wasm)
  13. ( 2 mins 40 secs ) emscripten (emwasm)
  14. ( 27 secs ) musl
  15. ( 3 secs ) compiler-rt
  16. ( 20 secs ) libcxx
  17. ( 14 secs ) libcxxabi
  18. ( 1 mins 31 secs ) Archive binaries
  19. ( 32 secs ) Compile LLVM Torture (O0)
  20. ( 4 secs ) Execute LLVM Torture (validate, O0)
  21. ( 42 secs ) Compile LLVM Torture (O2)
  22. ( 5 secs ) Execute LLVM Torture (validate, O2)
  23. ( 24 secs ) Link LLVM Torture (lld, O0)
  24. ( 23 secs ) Link LLVM Torture (lld, O2)
  25. ( 42 secs ) Execute LLVM Torture (d8, O0)
  26. ( 41 secs ) Execute LLVM Torture (d8, O2)
  27. ( 50 secs ) Execute LLVM Torture (jsc, O0)
  28. ( 47 secs ) Execute LLVM Torture (jsc, O2)
  29. ( 6 days 16 hrs ) Execute emscripten testsuite (emwasm)

Timing

Create Thursday, 14-Mar-19 15:22:59 UTC
Start Thursday, 14-Mar-19 20:35:56 UTC
End Friday, 15-Mar-19 00:36:25 UTC
Pending 5 hrs 12 mins
Execution 4 hrs

Tags

KeyValue
buildset commit/git/e287d6a791e06558575c29c1ba58123c9c0f49a2
buildset commit/gitiles/llvm.googlesource.com/llvm/+/e287d6a791e06558575c29c1ba58123c9c0f49a2
scheduler_invocation_id 9084428819003070560
scheduler_job_id wasm/mac
user_agent luci-scheduler

Input Properties

NameValue
$recipe_engine/runtime { "is_experimental": false, "is_luci": true }
branch "refs/heads/master"
buildername "mac"
buildnumber 4859
mastername "client.wasm.llvm"
repository "https://llvm.googlesource.com/llvm"
revision "e287d6a791e06558575c29c1ba58123c9c0f49a2"

Output Properties

NameValue
$recipe_engine/path { "cache_dir": "/b/s/w/ir/cache", "temp_dir": "/b/s/w/ir/tmp/rt" }
$recipe_engine/runtime { "is_experimental": false, "is_luci": true }
bot_id "build207-m9"
branch "refs/heads/master"
buildername "mac"
buildnumber 4859
got_revision "11f160de8d6d9baccf9b0479346f2163486620e5"
got_waterfall_revision "b0d7ba40c108aa169f37e023454e828dc737a0ed"
mastername "client.wasm.llvm"
path_config "generic"
recipe "wasm_llvm"
repository "https://llvm.googlesource.com/llvm"
revision "e287d6a791e06558575c29c1ba58123c9c0f49a2"

All Changes

  1. YAMLIO: Improve template arg deduction for mapOptional

    Changed by Pavel Labath - pavelohnoyoudont@labath.sk
    Changed at Thursday, 14-Mar-19 15:23:40 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision e287d6a791e06558575c29c1ba58123c9c0f49a2

    Comments

    YAMLIO: Improve template arg deduction for mapOptional
    
    Summary:
    The way c++ template argument deduction works, both arguments are used
    to deduce the template type in the three-argument overload of
    mapOptional. This is a problem if the types are slightly different, even
    if they are implicitly convertible. This is fairly easy to trigger with
    integral types, as the default type of most integral constants is int,
    which then requires casting the constant to the type of the other
    argument.
    
    This patch fixes that by using a separate template type for the default
    value, which is then cast to the type of the first argument.  To avoid
    this conversion triggerring conversions marged as explicit, we use
    static_assert to check that the types are implicitly convertible.
    
    Reviewers: zturner, sammccall
    
    Subscribers: kristina, jdoerfert, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D59142
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356157 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/Support/YAMLTraits.h
    • unittests/Support/YAMLIOTest.cpp
  2. AMDGPU: Scavenge register instead of findUnusedReg

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Thursday, 14-Mar-19 14:19:01 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 9ec5e55104dde136aac5f120cbfb6a1f7546c6b4

    Comments

    AMDGPU: Scavenge register instead of findUnusedReg
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356149 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/AMDGPU/SIRegisterInfo.cpp
  3. GlobalISel: Use multiple returns for intrinsic structs

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Thursday, 14-Mar-19 14:18:56 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision c357f7eb2b610b8d5fb61e9bad52cd70d1797d0d

    Comments

    GlobalISel: Use multiple returns for intrinsic structs
    
    This is consistent with what SelectionDAG does and is much easier to
    work with than the extract sequence with an artificial wide register.
    
    For the AMDGPU control flow intrinsics, this was producing an s128 for
    the i64, i1 tuple return. Any legalization that should apply to a real
    s128 value would badly obscure the direct values that need to be seen.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356147 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    • lib/CodeGen/GlobalISel/IRTranslator.cpp
    • lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    • test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
    • test/CodeGen/AMDGPU/GlobalISel/irtranslator-struct-return-intrinsics.ll
  4. [SampleFDO] add suffix elision control for fcn names

    Changed by Than McIntosh - thanmohnoyoudont@google.com
    Changed at Thursday, 14-Mar-19 13:56:49 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 002b63f0a3bc17dd34d4392f6622b3041d5af32e

    Comments

    [SampleFDO] add suffix elision control for fcn names
    
    Summary:
    Add hooks for determining the policy used to decide whether/how
    to chop off symbol 'suffixes' when locating a given function
    in a sample profile.
    
    Prior to this change, any function symbols of the form "X.Y" were
    elided/truncated into just "X" when looking up things in a sample
    profile data file.
    
    With this change, the policy on suffixes can be changed by adding a
    new attribute "sample-profile-suffix-elision-policy" to the function:
    this attribute can have the value "all" (the default), "selected", or
    "none". A value of "all" preserves the previous behavior (chop off
    everything after the first "." character, then treat that as the
    symbol name). A value of "selected" chops off only the rightmost
    ".llvm.XXXX" suffix (where "XXX" is any string not containing a "."
    char). A value of "none" indicates that names should be left as is.
    
    Subscribers: jdoerfert, wmi, mtrofin, danielcdh, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58832
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356146 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/ProfileData/SampleProf.h
    • include/llvm/ProfileData/SampleProfReader.h
    • lib/ProfileData/SampleProfReader.cpp
    • unittests/ProfileData/SampleProfTest.cpp
  5. Note ImmArg in documentation for adding intrinsics

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Thursday, 14-Mar-19 13:46:17 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 32ff027088cf1d734a15cff2273a3d0c79a04d23

    Comments

    Note ImmArg in documentation for adding intrinsics
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356145 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • docs/ExtendingLLVM.rst
  6. ARM: Add ImmArg to intrinsics

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Thursday, 14-Mar-19 13:46:14 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 496c1dd07c49d67874deefd8b19b01fa5da31e12

    Comments

    ARM: Add ImmArg to intrinsics
    
    I found these by asserting in clang for any GCCBuiltin that doesn't
    require mangling and requires a constant for the builtin. This means
    that intrinsics are missing which don't use GCCBuiltin, don't have
    builtins defined in clang, or were missing the constant annotation in
    the builtin definition.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356144 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/IR/IntrinsicsARM.td
    • test/CodeGen/ARM/cdp.ll
    • test/CodeGen/ARM/cdp2.ll
    • test/Verifier/ARM/intrinsic-immarg.ll
    • test/Verifier/ARM/lit.local.cfg
  7. AMDGPU: Don't add unnecessary convergent attributes

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Thursday, 14-Mar-19 13:46:09 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision c06a0f6ec2c5e71efbae73a1d275fb27186408e9

    Comments

    AMDGPU: Don't add unnecessary convergent attributes
    
    These are redundant with the intrinsic declaration.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356143 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
  8. gn build: Merge r356080

    Changed by Hans Wennborg - hansohnoyoudont@hanshq.net
    Changed at Thursday, 14-Mar-19 12:22:50 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision d7620a3317c5b2cd26ecb995c7d9f1e2db95aba7

    Comments

    gn build: Merge r356080
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356139 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • utils/gn/secondary/llvm/lib/BinaryFormat/BUILD.gn
    • utils/gn/secondary/llvm/unittests/BinaryFormat/BUILD.gn
  9. [SystemZ] Remove icmp undef

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Thursday, 14-Mar-19 11:56:41 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision b85628fbc5c506773345b1387ca9c2e638f91327

    Comments

    [SystemZ] Remove icmp undef 
    
    Prep-work for PR40800 (Add UNDEF handling to SelectionDAG::FoldSetCC)
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356138 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/SystemZ/knownbits.ll
  10. [SystemZ] Regenerate tests to make complete codegen more obvious

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Thursday, 14-Mar-19 11:54:46 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision c69e0f0517d998aada49e7848f35a29b11a5d678

    Comments

    [SystemZ] Regenerate tests to make complete codegen more obvious
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356137 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/SystemZ/buildvector-00.ll
    • test/CodeGen/SystemZ/dag-combine-03.ll
  11. [llvm-objcopy]Don't implicitly strip sections in segments

    Changed by James Henderson - jh7370ohnoyoudont@my.bristol.ac.uk
    Changed at Thursday, 14-Mar-19 11:47:41 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision d5ba5901b903e6fa04a632131eedf3101c489c81

    Comments

    [llvm-objcopy]Don't implicitly strip sections in segments
    
    This patch changes llvm-objcopy's behaviour to not strip sections that
    are in segments, if they otherwise would be due to a stripping operation
    (--strip-all, --strip-sections, --strip-non-alloc). This preserves the
    segment contents. It does not change the behaviour of --strip-all-gnu
    (although we could choose to do so), because GNU objcopy's behaviour in
    this case seems to be to strip the section, nor does it prevent removing
    of sections in segments with --remove-section (if a user REALLY wants to
    remove a section, we should probably let them, although I could be
    persuaded that warning might be appropriate). Tests have been added to
    show this latter behaviour.
    
    This fixes https://bugs.llvm.org/show_bug.cgi?id=41006.
    
    Reviewed by: grimar, rupprecht, jakehehrlich
    
    Differential Revision: https://reviews.llvm.org/D59293
    
    This is a reland of r356129, attempting to fix greendragon failures
    due to a suspected compatibility issue with od on the greendragon bots
    versus other versions.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356136 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/tools/llvm-objcopy/ELF/remove-section-in-segment.test
    • test/tools/llvm-objcopy/ELF/strip-all-gnu.test
    • test/tools/llvm-objcopy/ELF/strip-all.test
    • test/tools/llvm-objcopy/ELF/strip-non-alloc.test
    • test/tools/llvm-objcopy/ELF/strip-sections.test
    • tools/llvm-objcopy/ELF/ELFObjcopy.cpp
    • tools/llvm-objcopy/ObjcopyOpts.td
    • tools/llvm-objcopy/StripOpts.td
  12. Fix for buildbots

    Changed by Sam Parker - sam.parkerohnoyoudont@arm.com
    Changed at Thursday, 14-Mar-19 11:38:55 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision b425d6d63ac80ca6f2a5c5942d48ae0f7b9cefd9

    Comments

    Fix for buildbots
    
    Remove unused private field.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356135 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Transforms/Scalar/LoopStrengthReduce.cpp
  13. Revert r356129 due to greendragon bot failures

    Changed by James Henderson - jh7370ohnoyoudont@my.bristol.ac.uk
    Changed at Thursday, 14-Mar-19 11:23:04 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 2c597b63fe0f0dad93ecf3e8b2a28179e023b94c

    Comments

    Revert r356129 due to greendragon bot failures
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356133 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/tools/llvm-objcopy/ELF/remove-section-in-segment.test
    • test/tools/llvm-objcopy/ELF/strip-all-gnu.test
    • test/tools/llvm-objcopy/ELF/strip-all.test
    • test/tools/llvm-objcopy/ELF/strip-non-alloc.test
    • test/tools/llvm-objcopy/ELF/strip-sections.test
    • tools/llvm-objcopy/ELF/ELFObjcopy.cpp
    • tools/llvm-objcopy/ObjcopyOpts.td
    • tools/llvm-objcopy/StripOpts.td
  14. [ARM][ParallelDSP] Enable multiple uses of loads

    Changed by Sam Parker - sam.parkerohnoyoudont@arm.com
    Changed at Thursday, 14-Mar-19 11:14:13 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 571398105ee6b5aa0927bb55441a1ff8791ca058

    Comments

    [ARM][ParallelDSP] Enable multiple uses of loads
        
    When choosing whether a pair of loads can be combined into a single
    wide load, we check that the load only has a sext user and that sext
    also only has one user. But this can prevent the transformation in
    the cases when parallel macs use the same loaded data multiple times.
        
    To enable this, we need to fix up any other uses after creating the
    wide load: generating a trunc and a shift + trunc pair to recreate
    the narrow values. We also need to keep a record of which loads have
    already been widened.
    
    Differential Revision: https://reviews.llvm.org/D59215
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356132 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/ARM/ARMParallelDSP.cpp
    • test/CodeGen/ARM/ParallelDSP/multi-use-loads.ll
    • test/CodeGen/ARM/ParallelDSP/smlad0.ll
    • test/CodeGen/ARM/ParallelDSP/unroll-n-jam-smlad.ll
  15. [NFC][LSR] Cleanup Cost API

    Changed by Sam Parker - sam.parkerohnoyoudont@arm.com
    Changed at Thursday, 14-Mar-19 11:05:07 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 6273747bc3d183848ffc55fafd833200ce22058b

    Comments

    [NFC][LSR] Cleanup Cost API
    
    Create members for Loop, ScalarEvolution, DominatorTree,
    TargetTransformInfo and Formula.
    
    Differential Revision: https://reviews.llvm.org/D58389
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356131 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Transforms/Scalar/LoopStrengthReduce.cpp
  16. [ARM] Run ARMParallelDSP in the IRPasses phase

    Changed by Sam Parker - sam.parkerohnoyoudont@arm.com
    Changed at Thursday, 14-Mar-19 10:57:40 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 01f20a4ee2a218cec7d670a4e5fc04be6cf350aa

    Comments

    [ARM] Run ARMParallelDSP in the IRPasses phase
    
    Run EarlyCSE before ParallelDSP and do this in the backend IR opt
    phase.
    
    Differential Revision: https://reviews.llvm.org/D59257
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356130 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/ARM/ARMTargetMachine.cpp
    • test/CodeGen/ARM/2011-02-04-AntidepMultidef.ll
    • test/CodeGen/ARM/O3-pipeline.ll
    • test/CodeGen/ARM/loop-indexing.ll
    • test/CodeGen/ARM/vldm-sched-a9.ll
    • test/CodeGen/Thumb2/2010-04-15-DynAllocBug.ll
    • test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll
    • test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll
  17. [llvm-objcopy]Don't implicitly strip sections in segments

    Changed by James Henderson - jh7370ohnoyoudont@my.bristol.ac.uk
    Changed at Thursday, 14-Mar-19 10:20:27 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision e83676d5104ca4d90e404066ea4196a2488451f8

    Comments

    [llvm-objcopy]Don't implicitly strip sections in segments
    
    This patch changes llvm-objcopy's behaviour to not strip sections that
    are in segments, if they otherwise would be due to a stripping operation
    (--strip-all, --strip-sections, --strip-non-alloc). This preserves the
    segment contents. It does not change the behaviour of --strip-all-gnu
    (although we could choose to do so), because GNU objcopy's behaviour in
    this case seems to be to strip the section, nor does it prevent removing
    of sections in segments with --remove-section (if a user REALLY wants to
    remove a section, we should probably let them, although I could be
    persuaded that warning might be appropriate). Tests have been added to
    show this latter behaviour.
    
    This fixes https://bugs.llvm.org/show_bug.cgi?id=41006.
    
    Reviewed by: grimar, rupprecht, jakehehrlich
    
    Differential Revision: https://reviews.llvm.org/D59293
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356129 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/tools/llvm-objcopy/ELF/remove-section-in-segment.test
    • test/tools/llvm-objcopy/ELF/strip-all-gnu.test
    • test/tools/llvm-objcopy/ELF/strip-all.test
    • test/tools/llvm-objcopy/ELF/strip-non-alloc.test
    • test/tools/llvm-objcopy/ELF/strip-sections.test
    • tools/llvm-objcopy/ELF/ELFObjcopy.cpp
    • tools/llvm-objcopy/ObjcopyOpts.td
    • tools/llvm-objcopy/StripOpts.td
  18. gn build: Merge r356082

    Changed by Hans Wennborg - hansohnoyoudont@hanshq.net
    Changed at Thursday, 14-Mar-19 10:10:25 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision f012e914c827754dafe6e542056ab278061ae2e2

    Comments

    gn build: Merge r356082
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356128 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • utils/gn/secondary/llvm/lib/BinaryFormat/BUILD.gn
    • utils/gn/secondary/llvm/unittests/BinaryFormat/BUILD.gn
  19. [RISCV] Fix rL356123

    Changed by Alex Bradbury - asbohnoyoudont@lowrisc.org
    Changed at Thursday, 14-Mar-19 08:31:35 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision ac0d6fee07540817c2e71f4b96280dcc7221be65

    Comments

    [RISCV] Fix rL356123
    
    The wrong version of the patch was committed. This fixes typos that broke the build.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356124 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/RISCV/RISCVRegisterInfo.cpp
  20. [RISCV][NFC] Rename callee saved regs 'CSR' to CSR_ILP32_LP64 and minor RISCVRegisterInfo refactoring

    Changed by Alex Bradbury - asbohnoyoudont@lowrisc.org
    Changed at Thursday, 14-Mar-19 08:28:48 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision b216751ea8fcedf2ea7db2390ce6cf5862bc0428

    Comments

    [RISCV][NFC] Rename callee saved regs 'CSR' to CSR_ILP32_LP64 and minor RISCVRegisterInfo refactoring
    
    The CSR renaming further prepares the way for an upcoming patch adding support for more
    RISC-V ABIs.
    
    Modify RISCVRegisterInfo::getCalleeSavedRegs and
    RISCVRegisterInfo::getReservedRegs to do MF->getSubtarget<RISCVSubtarget>()
    once rather than multiple times.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356123 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/RISCV/RISCVCallingConv.td
    • lib/Target/RISCV/RISCVRegisterInfo.cpp
  21. [RISCV] Extend test/CodeGen/RISCV/callee-saved-* to test getCalleePreservedRegs

    Changed by Alex Bradbury - asbohnoyoudont@lowrisc.org
    Changed at Thursday, 14-Mar-19 08:17:44 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 8125ab6f68f9990eec65f4acb743e8ffb7608193

    Comments

    [RISCV] Extend test/CodeGen/RISCV/callee-saved-* to test getCalleePreservedRegs
    
    Add a caller which exhausts regs then calls another function. This allows
    getCalleePreservedRegs to be tested.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356122 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/RISCV/callee-saved-fpr32s.ll
    • test/CodeGen/RISCV/callee-saved-fpr64s.ll
    • test/CodeGen/RISCV/callee-saved-gprs.ll
  22. [X86] Add patterns for rotr by immediate to fix PR41057.

    Changed by Craig Topper - craig.topperohnoyoudont@intel.com
    Changed at Thursday, 14-Mar-19 07:07:26 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 6248ee71f83d81fa8f827f2c74f23e88ff399b9f

    Comments

    [X86] Add patterns for rotr by immediate to fix PR41057.
    
    Prior to the introduction of funnel shift intrinsics we could count on rotate
    by immediates prefering to use rotl since that's what MatchRotate would check
    first. The or+shift pattern doesn't have a direction so one must be chosen
    arbitrarily.
    
    With funnel shift, there is a direction and fshr will try to use rotr first.
    While fshl will try to use rotl first.
    
    This patch adds the isel patterns for rotr to complement the rotl patterns. I've
    put the rotr by 1 patterns in the instruction patterns. And moved the rotl by
    bitwidth-1 patterns to separate Pat patterns.
    
    Fixes PR41057.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356121 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/X86/X86InstrShiftRotate.td
    • test/CodeGen/X86/funnel-shift-rot.ll
    • test/CodeGen/X86/rot32.ll
    • test/CodeGen/X86/rot64.ll
  23. [X86] Add various test cases for PR41057. NFC

    Changed by Craig Topper - craig.topperohnoyoudont@intel.com
    Changed at Thursday, 14-Mar-19 07:07:24 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision b98d8ca15ff81418e0ab5c2ee5310f392f07c3ec

    Comments

    [X86] Add various test cases for PR41057. NFC
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356120 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/X86/funnel-shift-rot.ll
    • test/CodeGen/X86/rot32.ll
    • test/CodeGen/X86/rot64.ll
  24. [GlobalISel][Utils] Add a getConstantVRegVal variant that looks through instrs

    Changed by Quentin Colombet - quentin.colombetohnoyoudont@gmail.com
    Changed at Thursday, 14-Mar-19 01:37:13 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 79ad8c5d8495f4e06c598b17c225ea3a60ecafe3

    Comments

    [GlobalISel][Utils] Add a getConstantVRegVal variant that looks through instrs
    
    getConstantVRegVal used to only look for G_CONSTANT when looking at
    unboxing the value of a vreg. However, constants are sometimes not
    directly used and are hidden behind trunc, s|zext or copy chain of
    computation.
    
    In particular this may be introduced by the legalization process that
    doesn't want to simplify these patterns because it can lead to infine
    loop when legalizing a constant.
    
    To circumvent that problem, add a new variant of getConstantVRegVal,
    named getConstantVRegValWithLookThrough, that allow to look through
    extensions.
    
    Differential Revision: https://reviews.llvm.org/D59227
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356116 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/CodeGen/GlobalISel/Utils.h
    • lib/CodeGen/GlobalISel/InstructionSelector.cpp
    • lib/CodeGen/GlobalISel/Utils.cpp
    • test/CodeGen/Mips/GlobalISel/llvm-ir/select.ll
    • test/CodeGen/X86/GlobalISel/ashr-scalar.ll
    • test/CodeGen/X86/GlobalISel/lshr-scalar.ll
    • test/CodeGen/X86/GlobalISel/shl-scalar.ll
  25. Fixup tests to check for any MCInst number instead of a specific one.

    Changed by Douglas Yung - douglas.yungohnoyoudont@sony.com
    Changed at Thursday, 14-Mar-19 01:24:35 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision c8c4a422420860f7d11d080f0bf5969d2bb4ebbb

    Comments

    Fixup tests to check for any MCInst number instead of a specific one.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356115 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/Mips/llvm-ir/fptosi.ll
    • test/CodeGen/Mips/micromips-pseudo-mtlohi-expand.ll
  26. [ResetMachineFunctionPass] Add visited functions statistics info

    Changed by Craig Topper - craig.topperohnoyoudont@intel.com
    Changed at Thursday, 14-Mar-19 01:13:15 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 8136aefd779ccd98470aa9ef6ffd5f38aaee9568

    Comments

    [ResetMachineFunctionPass] Add visited functions statistics info
    
    Adding a "NumFunctionsVisited" for collecting the visited function number.
    It can be used to collect function pass rate in some tests,
    the pass rate = (NumberVisited - NumberReset)/NumberVisited.
    e.g. it can be used for caculating GlobalISel pass rate in Test-Suite.
    
    Patch by Tianyang Zhu (zhutianyang)
    
    Differential Revision: https://reviews.llvm.org/D59285
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356114 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/CodeGen/ResetMachineFunctionPass.cpp
  27. [X86] Add 64-bit mode command lines to rot32.ll so that it will demonstrate PR41055 for 32 bit. NFC

    Changed by Craig Topper - craig.topperohnoyoudont@intel.com
    Changed at Thursday, 14-Mar-19 00:23:31 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision f338da057ca605eb43dd5955a36544f3bdbc62b6

    Comments

    [X86] Add 64-bit mode command lines to rot32.ll so that it will demonstrate PR41055 for 32 bit. NFC
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356112 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/X86/rot32.ll
  28. [llvm-objcopy][NFC] Remove unnecessary llvm-objcopy.h #includes

    Changed by Jordan Rupprecht - rupprechtohnoyoudont@google.com
    Changed at Wednesday, 13-Mar-19 23:40:16 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 0502ddb2a607516ef3cbd0fb8a67ca483ceaff81

    Comments

    [llvm-objcopy][NFC] Remove unnecessary llvm-objcopy.h #includes
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356109 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • tools/llvm-objcopy/Buffer.cpp
    • tools/llvm-objcopy/COFF/Reader.cpp
    • tools/llvm-objcopy/COFF/Writer.cpp
    • tools/llvm-objcopy/MachO/MachOObjcopy.cpp
    • tools/llvm-objcopy/MachO/MachOWriter.cpp
  29. [AArch64][GlobalISel] Gardening: Simplify subregister copy in selectBuildVector

    Changed by Jessica Paquette - jpaquetteohnoyoudont@apple.com
    Changed at Wednesday, 13-Mar-19 23:29:54 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 82b9a28c7e3e802d05c86a844804f4d87cf91fce

    Comments

    [AArch64][GlobalISel] Gardening: Simplify subregister copy in selectBuildVector
    
    NFC. Some more preliminary factoring for G_INSERT_VECTOR_ELT.
    
    Also better code-reuse, etc., etc.
    
    Differential Revision: https://reviews.llvm.org/D59323
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356107 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/AArch64/AArch64InstructionSelector.cpp
  30. [GlobalISel][AArch64] Gardening: Factor out vector inserts

    Changed by Jessica Paquette - jpaquetteohnoyoudont@apple.com
    Changed at Wednesday, 13-Mar-19 23:22:23 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 63f4b537b320e626a3c6052a4ce05725671f1152

    Comments

    [GlobalISel][AArch64] Gardening: Factor out vector inserts
    
    Factor out the vector insert code in `selectBuildVector`. Replace part of it
    with `emitScalarToVector`, since it was pretty much equivalent.
    
    This will make implementing G_INSERT_VECTOR_ELT easier.
    
    Differential Revision: https://reviews.llvm.org/D59322
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356106 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/AArch64/AArch64InstructionSelector.cpp
  31. [llvm-objcopy] Cleanup errors from CopyConfig and remove llvm-objcopy.h dependency

    Changed by Jordan Rupprecht - rupprechtohnoyoudont@google.com
    Changed at Wednesday, 13-Mar-19 22:26:01 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 86c9a488021980575711014acfbc04468798ecd6

    Comments

    [llvm-objcopy] Cleanup errors from CopyConfig and remove llvm-objcopy.h dependency
    
    error() was previously cleaned up from CopyConfig, but new uses were introduced.
    
    This also tweaks the error message for --add-symbol to report all invalid flags.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356105 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/tools/llvm-objcopy/ELF/add-symbol.test
    • tools/llvm-objcopy/CopyConfig.cpp
  32. [AIX][CMake] Changes for building on AIX with XL and GCC

    Changed by Jason Liu - jasonliu.developmentohnoyoudont@gmail.com
    Changed at Wednesday, 13-Mar-19 21:50:25 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision b7dc7b58c4c68885238ff360085a8a92fadd93a8

    Comments

    [AIX][CMake] Changes for building on AIX with XL and GCC
    
    Summary:
    In support of IBM's efforts to produce a viable C and C++ LLVM compiler for AIX
    (ref: RFC at http://lists.llvm.org/pipermail/llvm-dev/2019-February/130175.html),
    this patch adds customizations to the CMake files in order to properly
    invoke the host toolchain for the build on AIX.
    Additional changes to enable a successful build will follow.
    
    Patch by Xing Xue
    
    Reviewers: hubert.reinterpretcast, jasonliu, sfertile
    
    Reviewed by: hubert.reinterpretcast
    
    Differential Revision: https://reviews.llvm.org/D58250
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356104 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • cmake/modules/AddLLVM.cmake
    • cmake/modules/HandleLLVMOptions.cmake
    • include/llvm/Config/abi-breaking.h.cmake
  33. [WebAssembly] Improve support for "needed" list in dylink section

    Changed by Sam Clegg - sbcohnoyoudont@chromium.org
    Changed at Wednesday, 13-Mar-19 21:29:20 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 8a89f2de31f740ab9c40c0b33804e16ebb81b90f

    Comments

    [WebAssembly] Improve support for "needed" list in dylink section
    
    This change adds basic support for shared library dependencies
    via the dylink section.
    
    See https://github.com/WebAssembly/tool-conventions/pull/77
    
    Differential Revision: https://reviews.llvm.org/D59237
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356102 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Object/WasmObjectFile.cpp
  34. [GlobalISel][AArch64] Gardening: Factor out code to find lane indices

    Changed by Jessica Paquette - jpaquetteohnoyoudont@apple.com
    Changed at Wednesday, 13-Mar-19 21:19:29 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision d6686b6984bdc4f8111947a4471172036a5aea97

    Comments

    [GlobalISel][AArch64] Gardening: Factor out code to find lane indices
    
    Some more refactoring for G_INSERT_VECTOR_ELT.
    
    Factor out the code used to find a lane index from `selectExtractElt`. Put it
    into a more general-purpose `getConstantValueForReg` function.
    
    This will be shared with the code for G_INSERT_VECTOR_ELT.
    
    Differential Revision: https://reviews.llvm.org/D59324
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356101 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/AArch64/AArch64InstructionSelector.cpp
  35. [AMDGPU] Silence gcc 7 warnings

    Changed by Stanislav Mekhanoshin - Stanislav.Mekhanoshinohnoyoudont@amd.com
    Changed at Wednesday, 13-Mar-19 21:15:52 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision a4638a6a3ae392cbd5100615bc069d88180ab018

    Comments

    [AMDGPU] Silence gcc 7 warnings
    
    Differential Revision: https://reviews.llvm.org/D59330
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356100 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    • lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    • lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    • lib/Target/AMDGPU/SIFoldOperands.cpp
    • lib/Target/AMDGPU/SIPeepholeSDWA.cpp
  36. Verifier: Make sure masked load/store alignment is a power of 2

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Wednesday, 13-Mar-19 19:46:34 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 39c8bbd622650d280546377cd5a9283f215925f2

    Comments

    Verifier: Make sure masked load/store alignment is a power of 2
    
    The same should also be done for scatter/gather, but the verifier
    doesn't check those at all now.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356094 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/IR/Verifier.cpp
    • test/Assembler/auto_upgrade_intrinsics.ll
    • test/Transforms/InstCombine/masked_intrinsics.ll
    • test/Verifier/masked-load.ll
    • test/Verifier/masked-store.ll
  37. PowerPC: Add ImmArg to intrinsics

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Wednesday, 13-Mar-19 19:46:34 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 892b8f0cdb48467f6dc370b3940f211aa8d03a20

    Comments

    PowerPC: Add ImmArg to intrinsics
    
    I found these by asserting in clang for any GCCBuiltin that doesn't
    require mangling and requires a constant for the builtin. This means
    that intrinsics are missing which don't use GCCBuiltin, don't have
    builtins defined in clang, or were missing the constant annotation in
    the builtin definition.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356093 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/IR/IntrinsicsPowerPC.td
  38. Hexagon: Add ImmArg to intrinsics

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Wednesday, 13-Mar-19 19:46:33 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 9e46efd856d9091aa507b19f37f5e0c71c4d153c

    Comments

    Hexagon: Add ImmArg to intrinsics
    
    I found these by asserting in clang for any GCCBuiltin that doesn't
    require mangling and requires a constant for the builtin. This means
    that intrinsics are missing which don't use GCCBuiltin, don't have
    builtins defined in clang, or were missing the constant annotation in
    the builtin definition.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356092 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/IR/IntrinsicsHexagon.td
  39. SystemZ: Add ImmArg to intrinsics

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Wednesday, 13-Mar-19 19:46:32 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision bb7e40de731597a9fc67705cfd4e27204da94311

    Comments

    SystemZ: Add ImmArg to intrinsics
    
    I found these by asserting in clang for any GCCBuiltin that doesn't
    require mangling and requires a constant for the builtin. This means
    that intrinsics are missing which don't use GCCBuiltin, don't have
    builtins defined in clang, or were missing the constant annotation in
    the builtin definition.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356091 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/IR/IntrinsicsSystemZ.td
    • test/Verifier/SystemZ/intrinsic-immarg.ll
    • test/Verifier/SystemZ/lit.local.cfg
  40. Mips: Add ImmArg to intrinsics

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Wednesday, 13-Mar-19 19:07:59 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision f3a3d439652b45b3e38e15ba785105c38da480dd

    Comments

    Mips: Add ImmArg to intrinsics
    
    I found these by asserting in clang for any GCCBuiltin that doesn't
    require mangling and requires a constant for the builtin. This means
    that intrinsics are missing which don't use GCCBuiltin, don't have
    builtins defined in clang, or were missing the constant annotation in
    the builtin definition.
    
    I'm not sure what's going on with the immediates.ll test. It seems to
    be intended to test invalid cases like this, but then tries to handle
    some of them anyway. I've moved the cases that were inconsistent with
    the GCCBuiltin definition so they don't test the codegen anymore.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356085 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/IR/IntrinsicsMips.td
    • test/CodeGen/Mips/msa/immediates.ll
    • test/Verifier/Mips/intrinsic-immarg.ll
    • test/Verifier/Mips/lit.local.cfg
  41. [X86] Remove icmp undef in more reduced tests

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Wednesday, 13-Mar-19 19:07:54 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 4aa20a4a6d28ea20124bc7658994640f6e5af7ee

    Comments

    [X86] Remove icmp undef in more reduced tests
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356084 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/X86/block-placement.ll
    • test/CodeGen/X86/sext-i1.ll
  42. [X86] Regenerate tail call tests

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Wednesday, 13-Mar-19 19:04:45 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision dca8e63deaa4abfc879cd40a963a8366715ad70c

    Comments

    [X86] Regenerate tail call tests
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356083 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/X86/tail-dup-merge-loop-headers.ll
    • test/CodeGen/X86/tail-dup-repeat.ll
  43. [MsgPack] Removed MsgPackTypes

    Changed by Tim Renouf - tpr.llvmohnoyoudont@botech.co.uk
    Changed at Wednesday, 13-Mar-19 18:56:33 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 74fba6521c19a5ef8676d999fcc8efd17f77e748

    Comments

    [MsgPack] Removed MsgPackTypes
    
    Summary:
    MsgPackTypes has been replaced by the lighter-weight MsgPackDocument.
    
    Differential Revision: https://reviews.llvm.org/D57025
    
    Change-Id: Ia7069880ef29f55490abbe5d8ae15f25cc1490a4
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356082 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/BinaryFormat/MsgPackTypes.h
    • lib/BinaryFormat/CMakeLists.txt
    • lib/BinaryFormat/MsgPackTypes.cpp
    • unittests/BinaryFormat/CMakeLists.txt
    • unittests/BinaryFormat/MsgPackTypesTest.cpp
  44. [AMDGPU] Switched HSA metadata to use MsgPackDocument

    Changed by Tim Renouf - tpr.llvmohnoyoudont@botech.co.uk
    Changed at Wednesday, 13-Mar-19 18:55:50 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 6cce665f8058bc42b2531c3e7bf6712ecbe4d7af

    Comments

    [AMDGPU] Switched HSA metadata to use MsgPackDocument
    
    Summary:
    MsgPackDocument is the lighter-weight replacement for MsgPackTypes. This
    commit switches AMDGPU HSA metadata processing to use MsgPackDocument
    instead of MsgPackTypes.
    
    Differential Revision: https://reviews.llvm.org/D57024
    
    Change-Id: I0751668013abe8c87db01db1170831a76079b3a6
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356081 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/BinaryFormat/AMDGPUMetadataVerifier.h
    • lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
    • lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    • lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
    • lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    • lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    • test/CodeGen/AMDGPU/hsa-metadata-deduce-ro-arg-v3.ll
    • test/CodeGen/AMDGPU/hsa-metadata-enqueu-kernel-v3.ll
    • test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
    • test/CodeGen/AMDGPU/hsa-metadata-hidden-args-v3.ll
    • test/CodeGen/AMDGPU/hsa-metadata-images-v3.ll
    • test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props-v3.ll
    • test/MC/AMDGPU/hsa-metadata-kernel-args-v3.s
    • test/MC/AMDGPU/hsa-metadata-kernel-attrs-v3.s
    • test/MC/AMDGPU/hsa-metadata-kernel-code-props-v3.s
    • test/MC/AMDGPU/hsa-v3.s
    • tools/llvm-readobj/ELFDumper.cpp
  45. [MsgPack] New MsgPackDocument class

    Changed by Tim Renouf - tpr.llvmohnoyoudont@botech.co.uk
    Changed at Wednesday, 13-Mar-19 18:54:47 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 3589fdddf4b9cce83883a55a3f77ddee30d6a6e6

    Comments

    [MsgPack] New MsgPackDocument class
    
    Summary:
    A class that exposes a simple in-memory representation of a document of
    MsgPack objects, that can be read from and written to MsgPack, read from
    and written to YAML, and inspected and modified in memory. This is
    intended to be a lighter-weight (in terms of memory allocations)
    replacement for MsgPackTypes.
    
    Two subsequent changes will:
    1. switch AMDGPU HSA metadata to using MsgPackDocument instead of
       MsgPackTypes;
    2. add MsgPack AMDGPU PAL metadata via MsgPackDocument.
    
    Differential Revision: https://reviews.llvm.org/D57023
    
    Change-Id: Ie15a054831d5a6467c5867c064c8f8f6b80270e1
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356080 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/BinaryFormat/MsgPackDocument.h
    • lib/BinaryFormat/CMakeLists.txt
    • lib/BinaryFormat/MsgPackDocument.cpp
    • lib/BinaryFormat/MsgPackDocumentYAML.cpp
    • unittests/BinaryFormat/CMakeLists.txt
    • unittests/BinaryFormat/MsgPackDocumentTest.cpp
  46. [X86] Check for 64-bit mode in X86Subtarget::hasCmpxchg16b()

    Changed by Craig Topper - craig.topperohnoyoudont@intel.com
    Changed at Wednesday, 13-Mar-19 18:48:50 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 5db1718aa6e6ea1cc4964ab1162a91f6429e3d75

    Comments

    [X86] Check for 64-bit mode in X86Subtarget::hasCmpxchg16b()
    
    The feature flag alone can't be trusted since it can be passed via -mattr. Need to ensure 64-bit mode as well.
    
    We had a 64 bit mode check on the instruction to make the assembler work correctly. But we weren't guarding any of our lowering code or the hooks for the AtomicExpandPass.
    
    I've added 32-bit command lines to atomic128.ll with and without cx16. The tests there would all previously fail if -mattr=cx16 was passed to them. I had to move one test case for f128 to a new file as it seems to have a different 32-bit mode or possibly sse issue.
    
    Differential Revision: https://reviews.llvm.org/D59308
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356078 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/X86/X86ISelLowering.cpp
    • lib/Target/X86/X86InstrInfo.td
    • lib/Target/X86/X86Subtarget.h
    • test/CodeGen/X86/atomic128.ll
    • test/CodeGen/X86/atomicf128.ll
  47. [X86] Avoid icmp undef in reduced tests

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Wednesday, 13-Mar-19 18:36:59 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision ad03152cf75950313d3756463611917d04e84450

    Comments

    [X86] Avoid icmp undef in reduced tests
    
    Because we don't currently simplify icmp with undef in DAG, bugpoint loves to introduce them during reduction.
    
    This is a small step towards re-adding non-undef values into some of the simpler tests so that they should still test correctly and emit similar/same codegen.
    
    Prep work for PR40800 ([SelectionDAG] Add UNDEF handling to SelectionDAG::FoldSetCC).
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356076 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/X86/2010-02-23-DAGCombineBug.ll
    • test/CodeGen/X86/combine-pmuldq.ll
    • test/CodeGen/X86/copy-eflags.ll
    • test/CodeGen/X86/machine-trace-metrics-crash.ll
    • test/CodeGen/X86/pr22338.ll
    • test/CodeGen/X86/pr31271.ll
    • test/CodeGen/X86/pr32588.ll
    • test/CodeGen/X86/pr32610.ll
    • test/CodeGen/X86/pr33828.ll
    • test/CodeGen/X86/pr38539.ll
    • test/CodeGen/X86/pr38743.ll
    • test/CodeGen/X86/sext-i1.ll
    • test/CodeGen/X86/trunc-store.ll
  48. [RISCV] Regenerate test/CodeGen/RISCV/legalize-fneg.ll after rL356068

    Changed by Alex Bradbury - asbohnoyoudont@lowrisc.org
    Changed at Wednesday, 13-Mar-19 18:25:23 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 83f786b4bac3c06ee02651bf31c59ddbb8ed32d4

    Comments

    [RISCV] Regenerate test/CodeGen/RISCV/legalize-fneg.ll after rL356068
    
    rL356068 caused some minor re-orderings. Regenerate legalize-fneg.ll to
    reflect this, and remove the NOLIB check lines (they're redundant given that
    the RV32I and RV64I check lines generated by update_llc_test_checks.py already
    demonstrate there is no libcall).
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356074 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/RISCV/legalize-fneg.ll
  49. Regenerate test

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Wednesday, 13-Mar-19 18:18:24 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 1c13a5b043852cb6d4084ea01075c896f19d10af

    Comments

    Regenerate test
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356071 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/X86/2010-02-23-DAGCombineBug.ll
  50. [DAGCombiner] Fix Comment. NFC.

    Changed by Nirav Dave - niravdohnoyoudont@google.com
    Changed at Wednesday, 13-Mar-19 17:44:40 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision e79d0df477b61d2f6b17d0514dda57ff59293922

    Comments

    [DAGCombiner] Fix Comment. NFC.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356069 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  51. [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later.

    Changed by Nirav Dave - niravdohnoyoudont@google.com
    Changed at Wednesday, 13-Mar-19 17:07:09 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 154874adc5349d2c70926e53d5fcb7e82b0a661b

    Comments

    [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later.
    
    Summary:
    A number of optimizations are inhibited by single-use TokenFactors not
    being merged into the TokenFactor using it. This makes we consider if
    we can do the merge immediately.
    
    Most tests changes here are due to the change in visitation causing
    minor reorderings and associated reassociation of paired memory
    operations.
    
    CodeGen tests with non-reordering changes:
    
      X86/aligned-variadic.ll -- memory-based add folded into stored leaq
      value.
    
      X86/constant-combiners.ll -- Optimizes out overlap between stores.
    
      X86/pr40631_deadstore_elision -- folds constant byte store into
      preceding quad word constant store.
    
    Reviewers: RKSimon, craig.topper, spatel, efriedma, courbet
    
    Reviewed By: courbet
    
    Subscribers: dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, javed.absar, eraman, hiraditya, kbarton, jrtc27, atanasyan, jsji, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D59260
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356068 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    • test/CodeGen/AArch64/aarch64_win64cc_vararg.ll
    • test/CodeGen/AArch64/addr-of-ret-addr.ll
    • test/CodeGen/AArch64/alloca.ll
    • test/CodeGen/AArch64/arm64-memcpy-inline.ll
    • test/CodeGen/AArch64/arm64-variadic-aapcs.ll
    • test/CodeGen/AArch64/win64_vararg.ll
    • test/CodeGen/AMDGPU/call-argument-types.ll
    • test/CodeGen/ARM/2012-10-04-AAPCS-byval-align8.ll
    • test/CodeGen/ARM/2012-10-04-FixedFrame-vs-byval.ll
    • test/CodeGen/ARM/2014-02-21-byval-reg-split-alignment.ll
    • test/CodeGen/ARM/memset-inline.ll
    • test/CodeGen/ARM/thumb1_return_sequence.ll
    • test/CodeGen/ARM/unaligned_load_store.ll
    • test/CodeGen/AVR/calling-conv/c/basic.ll
    • test/CodeGen/AVR/directmem.ll
    • test/CodeGen/BPF/undef.ll
    • test/CodeGen/MSP430/cc_args.ll
    • test/CodeGen/Mips/v2i16tof32.ll
    • test/CodeGen/PowerPC/f128-aggregates.ll
    • test/CodeGen/PowerPC/ppc64-byval-align.ll
    • test/CodeGen/Thumb/frame-access.ll
    • test/CodeGen/Thumb/mvn.ll
    • test/CodeGen/X86/aligned-variadic.ll
    • test/CodeGen/X86/atomic-idempotent.ll
    • test/CodeGen/X86/avx-load-store.ll
    • test/CodeGen/X86/btc_bts_btr.ll
    • test/CodeGen/X86/combine-sbb.ll
    • test/CodeGen/X86/constant-combines.ll
    • test/CodeGen/X86/min-legal-vector-width.ll
    • test/CodeGen/X86/musttail-varargs.ll
    • test/CodeGen/X86/musttail.ll
    • test/CodeGen/X86/nosse-vector.ll
    • test/CodeGen/X86/oddshuffles.ll
    • test/CodeGen/X86/pr40631_deadstore_elision.ll
    • test/CodeGen/X86/rotate.ll
    • test/CodeGen/X86/rotate4.ll
    • test/CodeGen/X86/sadd_sat_vec.ll
    • test/CodeGen/X86/shift-and.ll
    • test/CodeGen/X86/shrink_vmul-widen.ll
    • test/CodeGen/X86/shrink_vmul.ll
    • test/CodeGen/X86/ssub_sat_vec.ll
    • test/CodeGen/X86/uadd_sat_vec.ll
    • test/CodeGen/X86/usub_sat_vec.ll
    • test/CodeGen/X86/vastart-defs-eflags.ll
    • test/CodeGen/X86/vec_fpext.ll
    • test/CodeGen/X86/widen_cast-2.ll
    • test/CodeGen/X86/widen_load-2.ll
    • test/CodeGen/X86/win64_frame.ll
    • test/CodeGen/X86/win64_vararg.ll
    • test/CodeGen/X86/x86-64-ms_abi-vararg.ll
    • test/CodeGen/XCore/byVal.ll
  52. [X86][AVX] Add X86ISD::VTRUNC handling to SimplifyDemandedVectorEltsForTargetNode

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Wednesday, 13-Mar-19 17:00:18 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision e3707b846d4b72f4199b35e43b6e1d543f7f93ae

    Comments

    [X86][AVX] Add X86ISD::VTRUNC handling to SimplifyDemandedVectorEltsForTargetNode
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356067 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/X86/X86ISelLowering.cpp
    • test/CodeGen/X86/shuffle-vs-trunc-256-widen.ll
  53. [X86][AVX] Add combineConcatVectors support to improve subvector handling

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Wednesday, 13-Mar-19 16:37:30 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 17d355768ce4c65c78260b3d3f1b54cb085e7ae2

    Comments

    [X86][AVX] Add combineConcatVectors support to improve subvector handling
    
    Attempt to combine CONCAT_VECTORS nodes, which we only really have pre-legalization.
    
    This encourages a lot of X86ISD::SUBV_BROADCAST generation, so I've added SimplifyDemandedVectorEltsForTargetNode handling for this at the same time.
    
    The X86ISD::VTRUNC regression in shuffle-vs-trunc-256-widen.ll will be handled in a future commit.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356064 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/X86/X86ISelLowering.cpp
    • test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
    • test/CodeGen/X86/oddshuffles.ll
    • test/CodeGen/X86/pr34657.ll
    • test/CodeGen/X86/shuffle-vs-trunc-256-widen.ll
    • test/CodeGen/X86/subvector-broadcast.ll
  54. [RISCV] Only mark fp as reserved if the function has a dedicated frame pointer

    Changed by Alex Bradbury - asbohnoyoudont@lowrisc.org
    Changed at Wednesday, 13-Mar-19 16:33:45 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision ed761d68673372e6405a73e08e375ac0219fad82

    Comments

    [RISCV] Only mark fp as reserved if the function has a dedicated frame pointer
    
    This follows similar logic in the ARM and Mips backends, and allows the free
    use of s0 in functions without a dedicated frame pointer. The changes in
    callee-saved-gprs.ll most clearly show the effect of this patch.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356063 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/RISCV/RISCVRegisterInfo.cpp
    • test/CodeGen/RISCV/atomic-rmw.ll
    • test/CodeGen/RISCV/bswap-ctlz-cttz-ctpop.ll
    • test/CodeGen/RISCV/callee-saved-gprs.ll
    • test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
    • test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    • test/CodeGen/RISCV/calling-conv-ilp32.ll
    • test/CodeGen/RISCV/calling-conv-lp64-lp64f-common.ll
    • test/CodeGen/RISCV/calling-conv-lp64.ll
    • test/CodeGen/RISCV/calls.ll
    • test/CodeGen/RISCV/double-intrinsics.ll
    • test/CodeGen/RISCV/double-mem.ll
    • test/CodeGen/RISCV/float-br-fcmp.ll
    • test/CodeGen/RISCV/float-intrinsics.ll
    • test/CodeGen/RISCV/float-mem.ll
    • test/CodeGen/RISCV/large-stack.ll
    • test/CodeGen/RISCV/remat.ll
    • test/CodeGen/RISCV/rv32i-rv64i-float-double.ll
    • test/CodeGen/RISCV/umulo-128-legalisation-lowering.ll
    • test/CodeGen/RISCV/vararg.ll
  55. [RISCV] Add tests for callee-saved GPRs, FPR32s, and FPR64s

    Changed by Alex Bradbury - asbohnoyoudont@lowrisc.org
    Changed at Wednesday, 13-Mar-19 16:14:16 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 752b9de47d1eacab1c208cfddd3fa7631ec66845

    Comments

    [RISCV] Add tests for callee-saved GPRs, FPR32s, and FPR64s
    
    Note that s0 need not be marked reserved if the frame pointer isn't used. For
    the ILP32 and LP64 soft float ABIS that are currently support, all FPRs are
    always considered temporaries.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356061 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/RISCV/callee-saved-fpr32s.ll
    • test/CodeGen/RISCV/callee-saved-fpr64s.ll
    • test/CodeGen/RISCV/callee-saved-gprs.ll
  56. [mips] Join some adjacent `let DecoderNamespace` blocks. NFC

    Changed by Simon Atanasyan - simonohnoyoudont@atanasyan.com
    Changed at Wednesday, 13-Mar-19 16:00:42 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 47dc3c1743853158dde785b6837bda115ae433c5

    Comments

    [mips] Join some adjacent `let DecoderNamespace` blocks. NFC
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356059 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/Mips/MicroMipsInstrInfo.td
  57. [NFC][CMake] Improve Status message in the iOS toolchain file

    Changed by Louis Dionne - ldionneohnoyoudont@apple.com
    Changed at Wednesday, 13-Mar-19 15:35:21 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 439680dbe5bb29fe5777213bede58e9c821fb296

    Comments

    [NFC][CMake] Improve Status message in the iOS toolchain file
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356056 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • cmake/platforms/iOS.cmake
  58. [AArch64] Add test/CodeGen/AArch64/vecreduce-fadd.ll

    Changed by Sander de Smalen - sander.desmalenohnoyoudont@arm.com
    Changed at Wednesday, 13-Mar-19 15:18:27 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision c409047310b3f2aca145bab940982fd537b867f8

    Comments

    [AArch64] Add test/CodeGen/AArch64/vecreduce-fadd.ll
    
    This test is added to see difference created by:
    
      https://reviews.llvm.org/D59259
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356054 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/AArch64/vecreduce-fadd.ll
  59. [x86] limit extractelement of setcc to pre-legalization

    Changed by Sanjay Patel - spatelohnoyoudont@rotateright.com
    Changed at Wednesday, 13-Mar-19 14:49:52 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision b1c30dbc6329056d2c6b9693f6902d9c445bb77a

    Comments

    [x86] limit extractelement of setcc to pre-legalization
    
    A fuzzer found the crasher:
    https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13700
    
    The bug was introduced recently here:
    rL355741
    
    This is the quick fix. If we need to do this transform
    later, then we'd have to extend/truncate the vector setcc
    element type to the scalar setcc type (i8). 
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356053 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/X86/X86ISelLowering.cpp
    • test/CodeGen/X86/extractelement-fp.ll
  60. [mips] Fix encoding of the `mov.d` command for microMIPS R6

    Changed by Simon Atanasyan - simonohnoyoudont@atanasyan.com
    Changed at Wednesday, 13-Mar-19 14:23:12 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision a63c4ac08c2e5b52ed9f4fdf43c3be709496fb19

    Comments

    [mips] Fix encoding of the `mov.d` command for microMIPS R6
    
    Before this change LLVM emits non-microMIPS variant of the `mov.d`
    command for microMIPS code.
    
    Differential Revision: http://reviews.llvm.org/D59045
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356052 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/Mips/MicroMips32r6InstrInfo.td
    • lib/Target/Mips/MicroMipsInstrFPU.td
    • lib/Target/Mips/MipsInstrFPU.td
    • test/CodeGen/Mips/llvm-ir/fptosi.ll
    • test/CodeGen/Mips/micromips-mtc-mfc.ll
    • test/CodeGen/Mips/micromips-pseudo-mtlohi-expand.ll
  61. [mips] Define `mov.d` instructions using `ABSS_M` multiclass. NFC

    Changed by Simon Atanasyan - simonohnoyoudont@atanasyan.com
    Changed at Wednesday, 13-Mar-19 14:22:58 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 59c736bd3e6335ec8ddeecd9127f2453edc9e1c2

    Comments

    [mips] Define `mov.d` instructions using `ABSS_M` multiclass. NFC
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356051 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/Mips/MipsInstrFPU.td
  62. Re-land r354244 "[DAGCombiner] Eliminate dead stores to stack."

    Changed by Clement Courbet - courbetohnoyoudont@google.com
    Changed at Wednesday, 13-Mar-19 13:56:23 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision e963c6818dd6c48771e68dc2bcf42bd82ad9f1a1

    Comments

    Re-land r354244 "[DAGCombiner] Eliminate dead stores to stack."
    
    Always check candidates for hasOtherUses(), not only stores.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356050 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    • test/CodeGen/X86/swap.ll
    • test/DebugInfo/COFF/lexicalblock.ll
  63. Fix signed/unsigned mismatch warning. NFCI.

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Wednesday, 13-Mar-19 13:14:14 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 17d2bf7db1534b932c18866cea440693cf1404ff

    Comments

    Fix signed/unsigned mismatch warning. NFCI.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356046 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/X86/X86ISelLowering.cpp
  64. [mips] Map SW instruction to its microMIPS R6 variant

    Changed by Simon Atanasyan - simonohnoyoudont@atanasyan.com
    Changed at Wednesday, 13-Mar-19 13:09:30 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision e853018a81d2c6fc41347a7daad37036bf0b9889

    Comments

    [mips] Map SW instruction to its microMIPS R6 variant
    
    To provide mapping between standard and microMIPS R6 variants of the
    `sw` command we have to rename SWSP_xxx commands from "sw" to "swsp".
    Otherwise `tablegen` starts to show the error `Multiple matches found
    for `SW'`. After that to restore printing SWSP command as `sw`, I add
    an appropriate `MipsInstAlias` instance.
    
    We also need to implement "size reduction" for microMIPS R6. But this
    task is for separate patch. After that the `micromips-lwsp-swsp.ll` test
    case will be extended.
    
    Differential Revision: http://reviews.llvm.org/D59046
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356045 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/Mips/MicroMips32r6InstrInfo.td
    • lib/Target/Mips/MicroMipsInstrInfo.td
    • lib/Target/Mips/MipsInstrInfo.td
    • test/CodeGen/Mips/micromips-sw.ll
    • test/MC/Mips/macro-ld-sd.s
  65. [RISCV] Regenerate umulo-128-legalisation-lowering.ll

    Changed by Alex Bradbury - asbohnoyoudont@lowrisc.org
    Changed at Wednesday, 13-Mar-19 12:33:44 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 9f9dd8f5478c6f52032b6fcd82cd1b19353bb8bb

    Comments

    [RISCV] Regenerate umulo-128-legalisation-lowering.ll
    
    Upstream changes have improved codegen, reducing stack usage. Regenerate the test.
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356044 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/RISCV/umulo-128-legalisation-lowering.ll
  66. [X86][AVX] lowerShuffleAsBroadcast - improve load folding by avoiding bitcasts

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Wednesday, 13-Mar-19 12:20:39 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 781bdd8a108138a52c66e3f92363f58cfc54a949

    Comments

    [X86][AVX] lowerShuffleAsBroadcast - improve load folding by avoiding bitcasts
    
    AVX1 broadcasts were failing as we were adding bitcasts that caused MayFoldLoad's hasOneUse to return false.
    
    This patch stops introducing bitcasts so early and also replaces the broadcast index scaling through bitcasts (which can't succeed in some cases) to instead just keep track of the bitoffset which can be converted back to the broadcast index later on.
    
    Differential Revision: https://reviews.llvm.org/D58888
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356043 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/X86/X86ISelLowering.cpp
    • test/CodeGen/X86/widened-broadcast.ll
  67. Appease MSVC builds by #ifdef wrapping runAndGetCommandOutput tests. NFCI.

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Wednesday, 13-Mar-19 11:51:13 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 9a37b8328d4afcb26be22af7bc6939f6a9878156

    Comments

    Appease MSVC builds by #ifdef wrapping runAndGetCommandOutput tests. NFCI.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356042 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • unittests/Support/Host.cpp
  68. [DebugInfo][Docs] Document how dbg.value intrinsics are interpreted in optimized code

    Changed by Jeremy Morse - jeremy.morse.llvmohnoyoudont@gmail.com
    Changed at Wednesday, 13-Mar-19 11:43:13 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision d069ea7e62bfb0b35740869f4dafc3171da08315

    Comments

    [DebugInfo][Docs] Document how dbg.value intrinsics are interpreted in optimized code
    
    This patch adds a section, ``Object lifetime in optimized code'', that
    documents how such intrinsics are supposed to be handled. It sets out some of
    the principles of how they specify variable locations, and how long those
    locations are valid for.
    
    This patch also documents one of the objectives behind the variable-location
    design, that we should never allow the debugger to observe a state of the
    program that would not have appeared without optimization.
    
    Differential Revision: https://reviews.llvm.org/D58726
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356041 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • docs/SourceLevelDebugging.rst
  69. [DAG] Move integer setcc %x, %x folding into FoldSetCC

    Changed by Simon Pilgrim - llvm-devohnoyoudont@redking.me.uk
    Changed at Wednesday, 13-Mar-19 11:08:57 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 5fd3b9019a6aca17489bf7f4923e2ac0e63829e2

    Comments

    [DAG] Move integer setcc %x, %x folding into FoldSetCC
    
    First step towards PR40800 - I intend to move the float case in a separate future patch.
    
    I had to tweak the (overly reduced) thumb2 test and the x86 widening test change is annoying (no longer rematerializable) but we should address this separately.
    
    Differential Revision: https://reviews.llvm.org/D59244
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356040 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    • lib/CodeGen/SelectionDAG/TargetLowering.cpp
    • test/CodeGen/AArch64/fast-isel-cmp-vec.ll
    • test/CodeGen/Thumb2/cross-rc-coalescing-2.ll
    • test/CodeGen/X86/widen_compare-1.ll
  70. [MIPS][microMIPS] Fix PseudoMTLOHI_MM matching and expansion

    Changed by Simon Atanasyan - simonohnoyoudont@atanasyan.com
    Changed at Wednesday, 13-Mar-19 11:04:38 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 4113ee0fb7a9b6709f441f148ea8d0c6a51886f8

    Comments

    [MIPS][microMIPS] Fix PseudoMTLOHI_MM matching and expansion
    
    On micromips MipsMTLOHI is always matched to PseudoMTLOHI_DSP regardless
    of +dsp argument. This patch checks is HasDSP predicate is present for
    PseudoMTLOHI_DSP so PseudoMTLOHI_MM can be matched when appropriate.
    
    Add expansion of PseudoMTLOHI_MM instruction into a mtlo/mthi pair.
    
    Patch by Mirko Brkusanin.
    
    Differential Revision: http://reviews.llvm.org/D59203
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356039 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/Mips/MipsDSPInstrInfo.td
    • lib/Target/Mips/MipsSEInstrInfo.cpp
    • test/CodeGen/Mips/micromips-pseudo-mtlohi-expand.ll
  71. [mips] Fix CPU used in the test case to suppress warning. NFC

    Changed by Simon Atanasyan - simonohnoyoudont@atanasyan.com
    Changed at Wednesday, 13-Mar-19 11:04:28 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 2f4a0fcb84d9d9bdeda6d7302a2afc58253d7ded

    Comments

    [mips] Fix CPU used in the test case to suppress warning. NFC
    
    The MSA ASE used in in the test case requires MIPS32 revision 5 or
    greater while the test uses MIPS32 revision 1.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356038 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/Mips/no-odd-spreg-msa.ll
  72. [ELF] Fix GCC8 warnings about "fall through", NFCI

    Changed by Jonas Hahnfeld - hahnjoohnoyoudont@hahnjo.de
    Changed at Wednesday, 13-Mar-19 10:38:17 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision ffd66b23e66b8e9c095832327e7fd1b4d976fd73

    Comments

    [ELF] Fix GCC8 warnings about "fall through", NFCI
    
    Add break statements in Object/ELF.cpp since the code should consider the
    generic tags for Hexagon, MIPS, and PPC. Add a test (copied from llvm-readobj)
    to show that this works correctly (earlier versions of this patch would have
    asserted).
    
    The warnings in X86ELFObjectWriter.cpp are actually false-positives since
    the nested switch() handles all possible values and returns in all cases.
    Make this explicit by adding llvm_unreachable's.
    
    Differential Revision: https://reviews.llvm.org/D58837
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356037 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Object/ELF.cpp
    • lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
    • test/tools/llvm-objdump/elf-dynamic-section-machine-specific.test
    • test/tools/llvm-readobj/Inputs/elf-dynamic-tags-machine-specific.yaml
    • test/tools/llvm-readobj/elf-dynamic-tags-machine-specific.test
  73. [Support] Treat truncation of fullpath as error

    Changed by Jonas Hahnfeld - hahnjoohnoyoudont@hahnjo.de
    Changed at Wednesday, 13-Mar-19 10:37:56 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision d3c675630f10804d6272ef37c49174a239c29fbd

    Comments

    [Support] Treat truncation of fullpath as error
    
    If the concatenation of arguments dir and bin has at least PATH_MAX
    characters the call to snprintf will truncate. The result will usually
    not exist, but if it does it's actually incorrect to return that the
    path exists.
    (Motivated by GCC compiler warning about format truncation.)
    
    Differential Revision: https://reviews.llvm.org/D58835
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356036 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Support/Unix/Path.inc
  74. [RISCV] Replace incorrect use of sizeof with array_lengthof

    Changed by Alex Bradbury - asbohnoyoudont@lowrisc.org
    Changed at Wednesday, 13-Mar-19 09:22:57 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 8ab0c0606608d547478b3cddf5bf0238e72208ba

    Comments

    [RISCV] Replace incorrect use of sizeof with array_lengthof
    
    RISCVDisassembler was incorrectly using sizeof(Arr) when it should have used
    sizeof(Arr)/sizeof(Arr[0]). Update to use array_lengthof instead.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356035 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
  75. Revert "[clang-format] [PR25010] AllowShortIfStatementsOnASingleLine not working if an "else" statement is present"

    Changed by Paul Hoad - mydeveloperdayohnoyoudont@gmail.com
    Changed at Wednesday, 13-Mar-19 08:15:03 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 4361ad0ab2a7ab78121207de8ec4542ff71627cc

    Comments

    Revert "[clang-format] [PR25010] AllowShortIfStatementsOnASingleLine not working if an "else" statement is present"
    
    This reverts commit b358cbb9b78389e20f7be36e1a98e26515c3ecce.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356030 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • utils/release/build_llvm_package.bat
  76. [clang-format] [PR25010] AllowShortIfStatementsOnASingleLine not working if an "else" statement is present

    Changed by Paul Hoad - mydeveloperdayohnoyoudont@gmail.com
    Changed at Wednesday, 13-Mar-19 08:07:46 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision cb6651ae9dd309f50331a8798fe332d5c2dba553

    Comments

    [clang-format] [PR25010] AllowShortIfStatementsOnASingleLine not working if an "else" statement is present
    
    Summary:
    Addressing: PR25010 - https://bugs.llvm.org/show_bug.cgi?id=25010
    
    Code like:
    
    ```
        if(true) var++;
        else  {
            var--;
        }
    ```
    
    is reformatted to be
    
    ```
      if (true)
        var++;
      else {
        var--;
      }
    ```
    
    Even when `AllowShortIfStatementsOnASingleLine` is true
    
    The following revision comes from a +1'd suggestion in the PR to support AllowShortIfElseStatementsOnASingleLine
    
    This suppresses the clause prevents the merging of the if when there is a compound else
    
    Reviewers: klimek, djasper, JonasToth, alexfh, krasimir, reuk
    Reviewed By: reuk
    Subscribers: reuk, Higuoxing, jdoerfert, cfe-commits
    Tags: #clang-tools-extra
    Differential Revision: https://reviews.llvm.org/D59087
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356029 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • utils/release/build_llvm_package.bat
  77. [ImplicitNullChecks] Support unordered atomic accesses

    Changed by Philip Reames - listmailohnoyoudont@philipreames.com
    Changed at Wednesday, 13-Mar-19 03:25:20 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 5a295517ec57c58837c5fe5cf364c0f2e609865f

    Comments

    [ImplicitNullChecks] Support unordered atomic accesses
    
    Update the INC pass to allow folding unordered atomics.  This is the first optimization unblocked by the changes landed from D57601.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356006 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/CodeGen/ImplicitNullChecks.cpp
    • test/CodeGen/X86/implicit-null-check.ll
  78. [Tests] Expand implicit null check coverage

    Changed by Philip Reames - listmailohnoyoudont@philipreames.com
    Changed at Wednesday, 13-Mar-19 03:17:58 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision babf76c30d121d8216d29b146bc2e4bd9ad10131

    Comments

    [Tests] Expand implicit null check coverage
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356004 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/X86/implicit-null-check.ll
  79. Revert "[llvm] Skip over empty line table entries."

    Changed by Evgeniy Stepanov - eugeni.stepanovohnoyoudont@gmail.com
    Changed at Wednesday, 13-Mar-19 01:37:58 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 9dca4fc4b86364e32c74279ce5ca66c7777c3593

    Comments

    Revert "[llvm] Skip over empty line table entries."
    
    This reverts commit r355972.
    See the discussion at https://reviews.llvm.org/D58952.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356001 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    • test/tools/llvm-symbolizer/fission-ranges.test
    • test/tools/llvm-symbolizer/only-empty-ranges.s
    • test/tools/llvm-symbolizer/sym-verbose.test
  80. [X86] Enable printAliasInstr for the Intel assembly printer so that AAM and AAD will print without an immediate when the immediate is 10.

    Changed by Craig Topper - craig.topperohnoyoudont@intel.com
    Changed at Wednesday, 13-Mar-19 00:43:03 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision dc849bb04d8b4cca0bcc429b0207f41ed11480e3

    Comments

    [X86] Enable printAliasInstr for the Intel assembly printer so that AAM and AAD will print without an immediate when the immediate is 10.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355997 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
    • lib/Target/X86/InstPrinter/X86IntelInstPrinter.h
    • test/MC/X86/x86-32-coverage.s
  81. [WebAssembly] Place 'try' and 'catch' correctly wrt EH_LABELs

    Changed by Heejin Ahn - aheejinohnoyoudont@gmail.com
    Changed at Wednesday, 13-Mar-19 00:37:31 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 81f5bd5c0879249c79113f8e10fd566a23110579

    Comments

    [WebAssembly] Place 'try' and 'catch' correctly wrt EH_LABELs
    
    Summary:
    After instruction selection phase, possibly-throwing calls, which were
    previously invoke, are wrapped in `EH_LABEL` instructions. For example:
    ```
      EH_LABEL <mcsymbol .Ltmp0>
      CALL_VOID @foo ...
      EH_LABEL <mcsymbol .Ltmp1>
    ```
    
    `EH_LABEL` is placed also in the beginning of EH pads:
    ```
    bb.1 (landing-pad):
      EH_LABEL <mcsymbol .Ltmp2>
      ...
    ```
    
    And we'd like to maintian this relationship, so when we place a `try`,
    ```
      TRY ...
      EH_LABEL <mcsymbol .Ltmp0>
      CALL_VOID @foo ...
      EH_LABEL <mcsymbol .Ltmp1>
    ```
    
    When we place a `catch`,
    ```
    bb.1 (landing-pad):
      EH_LABEL <mcsymbol .Ltmp2>
      %0:except_ref = CATCH ...
      ...
    ```
    
    Previously we didn't treat EH_LABELs specially, so `try` was placed
    right before a call, and `catch` was placed in the beginning of an EH
    pad.
    
    Reviewers: dschuff
    
    Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58914
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355996 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    • lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
    • test/CodeGen/WebAssembly/eh-labels.mir
  82. Use AIX version detection at LLVM run-time

    Changed by Hubert Tong - hubert.reinterpretcastohnoyoudont@gmail.com
    Changed at Wednesday, 13-Mar-19 00:12:43 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision d929ec60384a6f600fe3fdb4352baefce0e69003

    Comments

    Use AIX version detection at LLVM run-time
    
    Summary:
    AIX compilers define macros based on the version of the operating
    system.
    
    This patch implements updating of versionless AIX triples to include the
    host AIX version. Also, the host triple detection in the build system is
    adjusted to strip the AIX version information so that the run-time
    detection is preferred.
    
    Reviewers: xingxue, stefanp, nemanjai, jasonliu
    
    Reviewed By: xingxue
    
    Subscribers: mgorny, kristina, jdoerfert, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58798
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355995 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • cmake/modules/GetHostTriple.cmake
    • lib/Support/Unix/Host.inc
    • unittests/Support/Host.cpp
  83. [X86] Add ImmArg markings to intrinsics.

    Changed by Craig Topper - craig.topperohnoyoudont@intel.com
    Changed at Tuesday, 12-Mar-19 23:48:07 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 46c7035245056ae69dfd38cb0e1fd7080f795687

    Comments

    [X86] Add ImmArg markings to intrinsics.
    
    Remove test cases that checked for not crashing when immediate operands were passed not an immediate. These are now considered ill-formed in IR.
    
    This was done by manually scanning the intrinsic file for llvm_i32_ty and llvm_i8_ty which are the predominant types we use for immediates. Most of them are on vector intrinsics. I might have missed some other intrinsics.
    
    Differential Revision: https://reviews.llvm.org/D58302
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355993 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/IR/IntrinsicsX86.td
    • test/CodeGen/X86/pr33772.ll
    • test/Transforms/InstCombine/X86/x86-insertps.ll
  84. Add XCOFF triple object format type for AIX

    Changed by Jason Liu - jasonliu.developmentohnoyoudont@gmail.com
    Changed at Tuesday, 12-Mar-19 22:01:10 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision e98bc0b63e4111f268fa6fad254869f7ca4ffb25

    Comments

    Add XCOFF triple object format type for AIX
    
    This patch adds an XCOFF triple object format type into LLVM.
    This XCOFF triple object file type will be used later by object file and assembly generation for the AIX platform.
    
    Differential Revision: https://reviews.llvm.org/D58930
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355989 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/ADT/Triple.h
    • include/llvm/MC/MCObjectFileInfo.h
    • lib/MC/MCContext.cpp
    • lib/MC/MCObjectFileInfo.cpp
    • lib/MC/MCParser/AsmParser.cpp
    • lib/Support/Triple.cpp
    • lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    • unittests/ADT/TripleTest.cpp
  85. Reland "[Remarks] Add -foptimization-record-passes to filter remark emission"

    Changed by Francis Visoiu Mistrih - francisvmohnoyoudont@yahoo.com
    Changed at Tuesday, 12-Mar-19 21:22:27 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 1e252811d6155fa571f0e2d24af3c246b1b7c12a

    Comments

    Reland "[Remarks] Add -foptimization-record-passes to filter remark emission"
    
    Currently we have -Rpass for filtering the remarks that are displayed as
    diagnostics, but when using -fsave-optimization-record, there is no way
    to filter the remarks while generating them.
    
    This adds support for filtering remarks by passes using a regex.
    Ex: `clang -fsave-optimization-record -foptimization-record-passes=inline`
    
    will only emit the remarks coming from the pass `inline`.
    
    This adds:
    
    * `-fsave-optimization-record` to the driver
    * `-opt-record-passes` to cc1
    * `-lto-pass-remarks-filter` to the LTOCodeGenerator
    * `--opt-remarks-passes` to lld
    * `-pass-remarks-filter` to llc, opt, llvm-lto, llvm-lto2
    * `-opt-remarks-passes` to gold-plugin
    
    Differential Revision: https://reviews.llvm.org/D59268
    
    Original llvm-svn: 355964
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355984 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/IR/RemarkStreamer.h
    • include/llvm/LTO/Config.h
    • include/llvm/LTO/LTO.h
    • lib/IR/RemarkStreamer.cpp
    • lib/LTO/LTO.cpp
    • lib/LTO/LTOBackend.cpp
    • lib/LTO/LTOCodeGenerator.cpp
    • lib/LTO/ThinLTOCodeGenerator.cpp
    • test/LTO/Resolution/X86/diagnostic-handler-remarks.ll
    • test/ThinLTO/X86/diagnostic-handler-remarks.ll
    • tools/gold/gold-plugin.cpp
    • tools/llc/llc.cpp
    • tools/llvm-lto2/llvm-lto2.cpp
    • tools/opt/opt.cpp
  86. [Test] Add tests for implicit null checks on atomic/volatile instructions

    Changed by Philip Reames - listmailohnoyoudont@philipreames.com
    Changed at Tuesday, 12-Mar-19 21:09:58 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision e733b62cb8ce6f3c11ba4eeb725ff843eb1ed35b

    Comments

    [Test] Add tests for implicit null checks on atomic/volatile instructions
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355983 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • test/CodeGen/X86/implicit-null-check.ll
  87. For faulting ops, include a comment w/the fault destination

    Changed by Philip Reames - listmailohnoyoudont@philipreames.com
    Changed at Tuesday, 12-Mar-19 21:05:31 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision e74acf4ba7bb2df0b2a04548061b4c886efc368a

    Comments

    For faulting ops, include a comment w/the fault destination
    
    A faulting_op is one that has specified behavior when a fault occurs, generally redirecting control flow to another location.  This change just adds a comment to the assembly output which makes it both human readable, and machine checkable w/o having to parse the FaultMap section.  This is used to split a test file into two parts, so that I can (in a near future commit) easily extend the test file to demonstrate another case.
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355982 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/X86/X86MCInstLower.cpp
    • test/CodeGen/X86/implicit-faultmap.ll
    • test/CodeGen/X86/implicit-null-check.ll
  88. IR: Add immarg attribute

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Tuesday, 12-Mar-19 21:02:54 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 6e8fb99b69ceb9a2b0fe5bbd4754e1204128181f

    Comments

    IR: Add immarg attribute
    
    This indicates an intrinsic parameter is required to be a constant,
    and should not be replaced with a non-constant value.
    
    Add the attribute to all AMDGPU and generic intrinsics that comments
    indicate it should apply to. I scanned other target intrinsics, but I
    don't see any obvious comments indicating which arguments are intended
    to be only immediates.
    
    This breaks one questionable testcase for the autoupgrade. I'm unclear
    on whether the autoupgrade is supposed to really handle declarations
    which were never valid. The verifier fails because the attributes now
    refer to a parameter past the end of the argument list.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355981 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • docs/LangRef.rst
    • docs/ReleaseNotes.rst
    • include/llvm/Bitcode/LLVMBitCodes.h
    • include/llvm/IR/Attributes.td
    • include/llvm/IR/Intrinsics.td
    • include/llvm/IR/IntrinsicsAMDGPU.td
    • lib/AsmParser/LLLexer.cpp
    • lib/AsmParser/LLParser.cpp
    • lib/AsmParser/LLToken.h
    • lib/Bitcode/Reader/BitcodeReader.cpp
    • lib/Bitcode/Writer/BitcodeWriter.cpp
    • lib/IR/Attributes.cpp
    • lib/IR/Verifier.cpp
    • lib/Target/AMDGPU/SIISelLowering.cpp
    • lib/Transforms/InstCombine/InstCombineCalls.cpp
    • lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    • lib/Transforms/Utils/CodeExtractor.cpp
    • test/Assembler/auto_upgrade_intrinsics.ll
    • test/Assembler/autoupgrade-invalid-mem-intrinsics.ll
    • test/Assembler/immarg-param-attribute.ll
    • test/Assembler/invalid-immarg.ll
    • test/Assembler/invalid-immarg2.ll
    • test/Assembler/invalid-immarg3.ll
    • test/Bitcode/compatibility.ll
    • test/Bitcode/objectsize-upgrade-7.0.ll
    • test/Bitcode/upgrade-memory-intrinsics.ll
    • test/CodeGen/AMDGPU/bitcast-vector-extract.ll
    • test/CodeGen/AMDGPU/llvm.amdgcn.atomic.dec.ll
    • test/CodeGen/AMDGPU/llvm.amdgcn.div.scale.ll
    • test/CodeGen/AMDGPU/llvm.amdgcn.fcmp.ll
    • test/CodeGen/AMDGPU/llvm.amdgcn.icmp.ll
    • test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.ll
    • test/DebugInfo/MIR/X86/kill-after-spill.mir
    • test/LTO/X86/remangle_intrinsics.ll
    • test/Transforms/InferAddressSpaces/AMDGPU/intrinsics.ll
    • test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
    • test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
    • test/Transforms/LowerExpectIntrinsic/PR33346.ll
    • test/Verifier/AMDGPU/intrinsic-immarg.ll
    • test/Verifier/AMDGPU/lit.local.cfg
    • test/Verifier/cttz-undef-arg.ll
    • test/Verifier/element-wise-atomic-memory-intrinsics.ll
    • test/Verifier/frameescape.ll
    • test/Verifier/immarg-param-attribute-invalid.ll
    • test/Verifier/intrinsic-immarg.ll
    • utils/TableGen/CodeGenIntrinsics.h
    • utils/TableGen/CodeGenTarget.cpp
    • utils/TableGen/IntrinsicEmitter.cpp
    • utils/emacs/llvm-mode.el
  89. Revert "[Remarks] Add -foptimization-record-passes to filter remark emission"

    Changed by Francis Visoiu Mistrih - francisvmohnoyoudont@yahoo.com
    Changed at Tuesday, 12-Mar-19 20:54:18 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision a826459b5e251896674675a86ca45a2297a415c5

    Comments

    Revert "[Remarks] Add -foptimization-record-passes to filter remark emission"
    
    This reverts commit 20fff32b7d1f1a1bd417b22aa9f26ededd97a3e5.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355976 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/IR/RemarkStreamer.h
    • include/llvm/LTO/Config.h
    • include/llvm/LTO/LTO.h
    • lib/IR/RemarkStreamer.cpp
    • lib/LTO/LTO.cpp
    • lib/LTO/LTOBackend.cpp
    • lib/LTO/LTOCodeGenerator.cpp
    • lib/LTO/ThinLTOCodeGenerator.cpp
    • test/LTO/Resolution/X86/diagnostic-handler-remarks.ll
    • test/ThinLTO/X86/diagnostic-handler-remarks.ll
    • tools/gold/gold-plugin.cpp
    • tools/llc/llc.cpp
    • tools/llvm-lto2/llvm-lto2.cpp
    • tools/opt/opt.cpp
  90. [llvm] Skip over empty line table entries.

    Changed by Mircea Trofin - mtrofinohnoyoudont@google.com
    Changed at Tuesday, 12-Mar-19 20:48:45 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision d0c7284d741110774b9f894b97952550a0830ce6

    Comments

    [llvm] Skip over empty line table entries.
    
    Summary:
    This is similar to how addr2line handles consecutive entries with the
    same address - pick the last one.
    
    Reviewers: dblaikie, friss, JDevlieghere
    
    Reviewed By: dblaikie
    
    Subscribers: ormris, echristo, JDevlieghere, probinson, aprantl, hiraditya, rupprecht, jdoerfert, llvm-commits
    
    Tags: #llvm, #debug-info
    
    Differential Revision: https://reviews.llvm.org/D58952
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355972 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    • test/tools/llvm-symbolizer/fission-ranges.test
    • test/tools/llvm-symbolizer/only-empty-ranges.s
    • test/tools/llvm-symbolizer/sym-verbose.test
  91. Fix missing C++ mode comments

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Tuesday, 12-Mar-19 20:42:14 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision ef8ea6ba1a05af5eebcc5c0dd0bcfd3d4d27315b

    Comments

    Fix missing C++ mode comments
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355971 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
    • include/llvm/CodeGen/MIRPrinter.h
    • include/llvm/CodeGen/MIRYamlMapping.h
  92. MIR: Stop reinitializing target information for every use

    Changed by Matt Arsenault - Matthew.Arsenaultohnoyoudont@amd.com
    Changed at Tuesday, 12-Mar-19 20:42:12 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision f5a4de6d253d026219ff93bc4e6b5053e2ae70fa

    Comments

    MIR: Stop reinitializing target information for every use
    
    Every time a physical register reference was parsed, this would
    initialize a string map for every register in in target, and discard
    it for the next. The same applies for the other fields initialized
    from target information.
    
    Follow along with how the function state is tracked, and add a new
    tracking class for target information.
    
    The string->register class/register bank for some reason were kept
    separately, so track them in the same place.
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355970 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/CodeGen/MIRParser/MIParser.cpp
    • lib/CodeGen/MIRParser/MIParser.h
    • lib/CodeGen/MIRParser/MIRParser.cpp
  93. [Remarks] Add -foptimization-record-passes to filter remark emission

    Changed by Francis Visoiu Mistrih - francisvmohnoyoudont@yahoo.com
    Changed at Tuesday, 12-Mar-19 20:28:50 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 1bd774409d87a919fb84a6028d19dd817ca77c4d

    Comments

    [Remarks] Add -foptimization-record-passes to filter remark emission
    
    Currently we have -Rpass for filtering the remarks that are displayed as
    diagnostics, but when using -fsave-optimization-record, there is no way
    to filter the remarks while generating them.
    
    This adds support for filtering remarks by passes using a regex.
    Ex: `clang -fsave-optimization-record -foptimization-record-passes=inline`
    
    will only emit the remarks coming from the pass `inline`.
    
    This adds:
    
    * `-fsave-optimization-record` to the driver
    * `-opt-record-passes` to cc1
    * `-lto-pass-remarks-filter` to the LTOCodeGenerator
    * `--opt-remarks-passes` to lld
    * `-pass-remarks-filter` to llc, opt, llvm-lto, llvm-lto2
    * `-opt-remarks-passes` to gold-plugin
    
    Differential Revision: https://reviews.llvm.org/D59268
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355964 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/IR/RemarkStreamer.h
    • include/llvm/LTO/Config.h
    • include/llvm/LTO/LTO.h
    • lib/IR/RemarkStreamer.cpp
    • lib/LTO/LTO.cpp
    • lib/LTO/LTOBackend.cpp
    • lib/LTO/LTOCodeGenerator.cpp
    • lib/LTO/ThinLTOCodeGenerator.cpp
    • test/LTO/Resolution/X86/diagnostic-handler-remarks.ll
    • test/ThinLTO/X86/diagnostic-handler-remarks.ll
    • tools/gold/gold-plugin.cpp
    • tools/llc/llc.cpp
    • tools/llvm-lto2/llvm-lto2.cpp
    • tools/opt/opt.cpp
  94. [SROA] Fix a crash when trying to convert a memset to an non-integral pointer type

    Changed by Philip Reames - listmailohnoyoudont@philipreames.com
    Changed at Tuesday, 12-Mar-19 20:15:05 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 1ca9798456a7214cc2ae574470ce814e1c697632

    Comments

    [SROA] Fix a crash when trying to convert a memset to an non-integral pointer type
    
    The included test case currently crashes on tip of tree. Rather than adding a bailout, I chose to restructure the code so that the existing helper function could be used. Given that, the majority of the diff is NFC-ish, but the key difference is that canConvertValue returns false when only one side is a non-integral pointer.
    
    Thanks to Cherry Zhang for the test case.
    
    Differential Revision: https://reviews.llvm.org/D59000
    
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355962 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Transforms/Scalar/SROA.cpp
    • test/Transforms/SROA/non-integral-pointers.ll
  95. [x86] scalarize extractelement 0 of FP vselect

    Changed by Sanjay Patel - spatelohnoyoudont@rotateright.com
    Changed at Tuesday, 12-Mar-19 19:20:45 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 283655fcc30fd4b72ef43e3e1f75683b1170cb43

    Comments

    [x86] scalarize extractelement 0 of FP vselect
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355955 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/X86/X86ISelLowering.cpp
    • test/CodeGen/X86/extractelement-fp.ll
  96. [CodeGen] Add MMOs to statepoint nodes during SelectionDAG

    Changed by Philip Reames - listmailohnoyoudont@philipreames.com
    Changed at Tuesday, 12-Mar-19 19:12:33 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 197a5e2c4afbd0fd85113ae7c1df737b6658e663

    Comments

    [CodeGen] Add MMOs to statepoint nodes during SelectionDAG
    
    The existing statepoint lowering code does something odd; it adds machine memory operands post instruction selection. This was copied from the stackmap/patchpoint implementation, but appears to be non-idiomatic.
    
    This change is largely NFC. It moves the MMO creation logic into SelectionDAG building. It ends up not quite being NFC because the size of the stack slot is reflected in the MMO. The old code blindly used pointer size for the MMO size, which appears to have always been incorrect for larger values. It just happened nothing actually relied on the MMOs, so it worked out okay.
    
    For context, I'm planning on removing the MOVolatile flag from these in a future commit, and then removing the MOStore flag from deopt spill slots in a separate one. Doing so is motivated by a small test case where we should be able to better schedule spill slots, but don't do so due to a memory use/def implied by the statepoint.
    
    Differential Revision: https://reviews.llvm.org/D59106
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355953 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    • lib/CodeGen/TargetLoweringBase.cpp
  97. [SCEV] Use depth limit for trunc analysis

    Changed by Teresa Johnson - tejohnsonohnoyoudont@google.com
    Changed at Tuesday, 12-Mar-19 18:28:05 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision 9d5245848ed242864c0e03d8bde4848a9bf9c744

    Comments

    [SCEV] Use depth limit for trunc analysis
    
    Summary:
    This fixes an extremely long compile time caused by recursive analysis
    of truncs, which were not previously subject to any depth limits unlike
    some of the other ops. I decided to use the same control used for
    sext/zext, since the routines analyzing these are sometimes mutually
    recursive with the trunc analysis.
    
    Reviewers: mkazantsev, sanjoy
    
    Subscribers: sanjoy, jdoerfert, llvm-commits
    
    Tags: #llvm
    
    Differential Revision: https://reviews.llvm.org/D58994
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355949 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/Analysis/ScalarEvolution.h
    • lib/Analysis/ScalarEvolution.cpp
    • test/Analysis/ScalarEvolution/limit-depth.ll
  98. Set useful flags for vector imm setting instructions

    Changed by Jinsong Ji - jjiohnoyoudont@us.ibm.com
    Changed at Tuesday, 12-Mar-19 18:27:09 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision f522bdf453dbdcede5c655ccff8d2ca6d422e7d9

    Comments

    Set useful flags for vector imm setting instructions
    
    Vector imm setting instructions like XXLXORz/XXLXORspz/XXLXORdpz
    Should behave like LI8.
    
    We should set corresponding flags to allow rematerialization and other
    opts in LICM, RA, Scheduling etc.
    
    Differential Revision: https://reviews.llvm.org/D58645
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355948 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/PowerPC/PPCInstrAltivec.td
    • lib/Target/PowerPC/PPCInstrInfo.cpp
    • lib/Target/PowerPC/PPCInstrVSX.td
    • test/CodeGen/PowerPC/optimize-andiso.ll
    • test/CodeGen/PowerPC/pr36292.ll
    • test/CodeGen/PowerPC/vsx-infl-copy1.ll
  99. [SanitizerCoverage] Avoid splitting critical edges when destination is a basic block containing unreachable

    Changed by Craig Topper - craig.topperohnoyoudont@intel.com
    Changed at Tuesday, 12-Mar-19 18:20:25 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision d13e5110081a68cacd856d3a3c7860996d67679d

    Comments

    [SanitizerCoverage] Avoid splitting critical edges when destination is a basic block containing unreachable
    
    This patch adds a new option to SplitAllCriticalEdges and uses it to avoid splitting critical edges when the destination basic block ends with unreachable. Otherwise if we split the critical edge, sanitizer coverage will instrument the new block that gets inserted for the split. But since this block itself shouldn't be reachable this is pointless. These basic blocks will stick around and generate assembly, but they don't end in sane control flow and might get placed at the end of the function. This makes it look like one function has code that flows into the next function.
    
    This showed up while compiling the linux kernel with clang. The kernel has a tool called objtool that detected the code that appeared to flow from one function to the next. https://github.com/ClangBuiltLinux/linux/issues/351#issuecomment-461698884
    
    Differential Revision: https://reviews.llvm.org/D57982
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355947 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • include/llvm/Transforms/Utils/BasicBlockUtils.h
    • lib/Transforms/Instrumentation/SanitizerCoverage.cpp
    • lib/Transforms/Utils/BreakCriticalEdges.cpp
    • test/Instrumentation/SanitizerCoverage/unreachable-critedge.ll
  100. [RISCV][MC] Find matching pcrel_hi fixup in more cases.

    Changed by Eli Friedman - efriedmaohnoyoudont@quicinc.com
    Changed at Tuesday, 12-Mar-19 18:14:16 UTC
    Repository https://llvm.googlesource.com/llvm
    Branch
    Revision be2c0a2abf7cabe33e966758591351bfa53cd632

    Comments

    [RISCV][MC] Find matching pcrel_hi fixup in more cases.
    
    If a symbol points to the end of a fragment, instead of searching for
    fixups in that fragment, search in the next fragment.
    
    Fixes spurious assembler error with subtarget change next to "la"
    pseudo-instruction, or expanded equivalent.
    
    Alternate proposal to fix the problem discussed in
    https://reviews.llvm.org/D58759.
    
    Testcase by Ana Pazos.
    
    Differential Revision: https://reviews.llvm.org/D58943
    
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355946 91177308-0d34-0410-b5e6-96231b3b80d8
    

    Changed files

    • lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
    • test/MC/RISCV/option-mix.s
  101. <blame list capped at 100 commits>

    Changed by <blame list capped at 100 commits> -
    Changed at N/A
    Repository
    Branch
    Revision

    Comments

    <blame list capped at 100 commits>
  102. Failed to fetch blame information

    Changed by
    Changed at N/A
    Repository
    Branch

    Comments

    Failed to fetch blame information
    unable to find previous build