Started 1 yr 6 mo ago
Took 1 hr 49 min on green-dragon-22

Success Build rL:366726 - C:366719 - #58174 (Jul 22, 2019 12:08:22 PM)

  • : 366726
  • : 366719
  • : 366638
  • : 364589
  • : 366654
  • : 366700
  • : 366698
  1. [SafeStack] Insert the deref after the offset

    While debugging code that uses SafeStack, we've noticed that LLVM
    produces an invalid DWARF. Concretely, in the following example:

      int main(int argc, char* argv[]) {
        std::string value = "";
        printf("%s\n", value.c_str());
        return 0;

    DWARF would describe the value variable as being located at:

      DW_OP_breg14 R14+0, DW_OP_deref, DW_OP_constu 0x20, DW_OP_minus

    The assembly to get this variable is:

      leaq    -32(%r14), %rbx

    The order of operations in the DWARF symbols is incorrect in this case.
    Specifically, the deref is incorrect; this appears to be incorrectly
    re-inserted in repalceOneDbgValueForAlloca.

    With this change which inserts the deref after the offset instead of
    before it, LLVM produces correct DWARF:

      DW_OP_breg14 R14-32

    Differential Revision: (detail/ViewSVN)
    by phosek
  2. WholeProgramDevirt: Teach the pass to respect the global's alignment.

    The bytes inserted before an overaligned global need to be padded according
    to the alignment set on the original global in order for the initializer
    to meet the global's alignment requirements. The previous implementation
    that padded to the pointer width happened to be correct for vtables on most
    platforms but may do the wrong thing if the vtable has a larger alignment.

    This issue is visible with a prototype implementation of HWASAN for globals,
    which will overalign all globals including vtables to 16 bytes.

    There is also no padding requirement for the bytes inserted after the global
    because they are never read from nor are they significant for alignment
    purposes, so stop inserting padding there.

    Differential Revision: (detail/ViewSVN)
    by pcc
  3. [PowerPC] Fix comment on MO_PLT Target Operand Flag. [NFC]

    Patch by Xiangling Liao. (detail/ViewSVN)
    by sfertile
  4. [Object][XCOFF] Remove extra includes from XCOFF related files. [NFC]

    Differential Revision: (detail/ViewSVN)
    by sfertile
  5. LowerTypeTests: Teach the pass to respect global alignments.

    We were previously ignoring alignment entirely when combining globals
    together in this pass. There are two main things that we need to do here:
    add additional padding before each global to meet the alignment requirements,
    and set the combined global's alignment to the maximum of all of the original
    globals' alignments.

    Since we now need to calculate layout as we go anyway, use the calculated
    layout to produce GlobalLayout instead of using StructLayout.

    Differential Revision: (detail/ViewSVN)
    by pcc
  6. Changes to emit CodeView debug info nested type records properly using MCStreamer directives (detail/ViewSVN)
    by nilanjana_basu
  7. Adds support for formatting NS_CLOSED_ENUM and CF_CLOSED_ENUM alongside NS_ENUM and CF_ENUM.

    Addresses the formatting of NS_CLOSED_ENUM and CF_CLOSED_ENUM, introduced in Swift 5.


    typedef NS_CLOSED_ENUM(NSInteger, Foo){FooValueOne = 1, FooValueTwo,


    typedef NS_CLOSED_ENUM(NSInteger, Foo) {
      FooValueOne = 1,

    Contributed by heijink.

    Reviewers: benhamilton, krasimir

    Reviewed By: benhamilton

    Subscribers: cfe-commits

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by benhamilton
  8. [AMDGPU] Test update. NFC. (detail/ViewSVN)
    by rampitec
  9. [SLPVectorizer] Fix some MSVC/cppcheck uninitialized variable warnings. NFCI. (detail/ViewSVN)
    by rksimon
  10. Revert "Reland [ELF] Loose a condition for relocation with a symbol"

    This reverts commit r366686 as it appears to be causing buildbot
    failures on sanitizer-x86_64-linux-android and sanitizer-x86_64-linux. (detail/ViewSVN)
    by vlad.tsyrklevich

Started by an SCM change (8 times)

This run spent:

  • 1 hr 15 min waiting;
  • 1 hr 49 min build duration;
  • 3 hr 4 min total from scheduled to completion.
LLVM/Clang Warnings: 1 warning.
    Test Result (no failures)