Started 26 days ago
Took 4 hr 10 min on green-dragon-02

Failed Build #14726 (Sep 18, 2019 9:55:38 PM)

  • : 372298
  • : 372299
  • : 372205
  • : 371835
  • : 372242
  • : 372206
  1. [Builtins] Delete setjmp_syscall and qsetjmp

    Similar to the resolution of gcc PR71876.
    Nobody uses them or needs the [-Wincomplete-setjmp-declaration]
    diagnostic. (detail)
    by maskray
  2. AMDGPU/SILoadStoreOptimizer: Add const to more functions

    Reviewers: arsenm, pendingchaos, rampitec, nhaehnle, vpykhtin

    Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: (detail)
    by tstellar
  3. AMDGPU/GlobalISel: RegBankSelect llvm.amdgcn.ds.swizzle (detail)
    by arsenm
  4. AMDGPU/GlobalISel: RegBankSelect tbuffer load/store

    These have the same operand structure as the non-t buffer operations. (detail)
    by arsenm
  5. [CLANG][BPF] change __builtin_preserve_access_index() signature

    The clang intrinsic __builtin_preserve_access_index() currently
    has signature:
      const void * __builtin_preserve_access_index(const void * ptr)

    This may cause compiler warning when:
      - parameter type is "volatile void *" or "const volatile void *", or
      - the assign-to type of the intrinsic does not have "const" qualifier.
    Further, this signature does not allow dereference of the
    builtin result pointer as it is a "const void *" type, which
    adds extra step for the user to do type casting.

    Let us change the signature to:
      PointerT __builtin_preserve_access_index(PointerT ptr)
    such that the result and argument types are the same.
    With this, directly dereferencing the builtin return value
    becomes possible.

    Differential Revision: (detail)
    by yhs
  6. AMDGPU/GlobalISel: Select

    This needs special handling due to some subtargets that have a
    nonstandard register layout for f16 vectors

    Also reject some illegal types on other targets. (detail)
    by arsenm
  7. AMDGPU/GlobalISel: Select (detail)
    by arsenm
  8. AMDGPU/GlobalISel: RegBankSelect struct buffer load/store (detail)
    by arsenm
  9. AMDGPU/GlobalISel: RegBankSelect llvm.amdgcn.raw.buffer.{load|store} (detail)
    by arsenm
  10. AMDGPU/GlobalISel: Attempt to RegBankSelect image intrinsics

    Images should always have 2 consecutive, mandatory SGPR arguments. (detail)
    by arsenm
  11. Fix typo (detail)
    by arsenm
  12. MachineScheduler: Fix assert from not checking subregs

    The assert would fail if there was a dead def of a subregister if
    there was a previous use of a different subregister. (detail)
    by arsenm
  13. AMDGPU/GlobalISel: Fix RegBankSelect G_SMULH/G_UMULH pre-gfx9

    The scalar versions were only introduced in gfx9. (detail)
    by arsenm
  14. GlobalISel: Don't materialize immarg arguments to intrinsics

    Encode them directly as an imm argument to G_INTRINSIC*.

    Since now intrinsics can now define what parameters are required to be
    immediates, avoid using registers for them. Intrinsics could
    potentially want a constant that isn't a legal register type. Also,
    since G_CONSTANT is subject to CSE and legalization, transforms could
    potentially obscure the value (and create extra work for the
    selector). The register bank of a G_CONSTANT is also meaningful, so
    this could throw off future folding and legalization logic for AMDGPU.

    This will be much more convenient to work with than needing to call
    getConstantVRegVal and checking if it may have failed for every
    constant intrinsic parameter. AMDGPU has quite a lot of intrinsics wth
    immarg operands, many of which need inspection during lowering. Having
    to find the value in a register is going to add a lot of boilerplate
    and waste compile time.

    SelectionDAG has always provided TargetConstant for constants which
    should not be legalized or materialized in a register. The distinction
    between Constant and TargetConstant was somewhat fuzzy, and there was
    no automatic way to force usage of TargetConstant for certain
    intrinsic parameters. They were both ultimately ConstantSDNode, and it
    was inconsistently used. It was quite easy to mis-select an
    instruction requiring an immediate. For SelectionDAG, start emitting
    TargetConstant for these arguments, and using timm to match them.

    Most of the work here is to cleanup target handling of constants. Some
    targets process intrinsics through intermediate custom nodes, which
    need to preserve TargetConstant usage to match the intrinsic
    expectation. Pattern inputs now need to distinguish whether a constant
    is merely compatible with an operand or whether it is mandatory.

    The GlobalISelEmitter needs to treat timm as a special case of a leaf
    node, simlar to MachineBasicBlock operands. This should also enable
    handling of patterns for some G_* instructions with immediates, like

    This does include a workaround for a crash in GlobalISelEmitter when
    ARM tries to uses "imm" in an output with a "timm" pattern source. (detail)
    by arsenm
  15. gn build: Merge r372282 (detail)
    by gnsyncbot
  16. llvm-reduce: Add pass to reduce instructions

    Patch by Diego Treviño!

    Differential Revision: (detail)
    by dblaikie
  17. Initialize all fields in ABIArgInfo.

    Due to usage of an uninitialized fields, we end up with
    a Conditional jump or move depends on uninitialised value


    Commited on behalf of Martin Liska <> (detail)
    by serge_sans_paille

Started by timer (4 times)

This run spent:

  • 3 hr 44 min waiting;
  • 4 hr 10 min build duration;
  • 7 hr 55 min total from scheduled to completion.

Identified problems

Missing test results

The test result file Jenkins is looking for does not exist after the build.
Indication 1

Regression test failed

This build failed because a regression test in the test suite FAILed. See the test report for details.
Indication 2

Ninja target failed

Below is a link to the first failed ninja target.
Indication 3