Started 2 yr 5 mo ago
Took 12 min on green-dragon-13

Failed Build #295 (Feb 15, 2019 6:25:36 PM)

  • : 354188
  • : 354192
  • : 354191
  • : 346271
  • : 353955
  • : 354116
  1. Fix some tests I broke in r354190

    This was breaking on MSVC, since long double and double have the same
    semantics there. (detail/ViewSVN)
    by epilk
  2. [libFuzzer] make len_control less agressive: set the initial max len to the length of the largest seed. This was the original intent, but... Now, with a test, to ensure it stays this way (detail/ViewSVN)
    by kcc
  3. [Sema] Diagnose floating point conversions based on target semantics

    ...instead of just comparing rank. Also, fix a bad warning about
    _Float16, since its declared out of order in BuiltinTypes.def,
    meaning comparing rank using BuiltinType::getKind() is incorrect.

    Differential revision: (detail/ViewSVN)
    by epilk
  4. [ObjC generics] Fix applying `__kindof` to the type parameter.

    Fixes the warning about incompatible pointer types on assigning to a
    subclass of type argument an expression of type `__kindof TypeParam`.

    We already have a mechanism in `ASTContext::canAssignObjCInterfaces`
    that handles `ObjCObjectType` with `__kindof`. But it wasn't triggered
    because during type substitution `__kindof TypeParam` was represented as
    `AttributedType` with attribute `ObjCKindOf` and equivalent type
    `TypeArg`. For assignment type checking we use canonical types so
    attributed type was desugared and the attribute was ignored.

    The fix is in checking transformed `AttributedType` and pushing
    `__kindof` down into `ObjCObjectType` when necessary.


    Reviewers: ahatanak, erik.pilkington, doug.gregor

    Reviewed By: doug.gregor

    Subscribers: jkorous, dexonsmith, manmanren, jordan_rose, doug.gregor, cfe-commits

    Differential Revision: (detail/ViewSVN)
    by vsapsai
  5. [lit] Remove LitTestCase

    From the docs: `class LitTestCase(unittest.TestCase)`
    LitTestCase is an adaptor for providing a 'unittest' compatible
    interface to 'lit' tests so that we can run lit tests with standard
    python test runners.

    It does not seem to be used anywhere.

    Differential Revision: (detail/ViewSVN)
    by yln
  6. [lit][NFC] Cleanup lit worker process handling

    Move code that is executed on worker process to separate file. This
    makes the use of the pickled arguments stored in global variables in the
    worker a bit clearer. (Still not pretty though.)

    Extract handling of parallelism groups to it's own function.

    Use BoundedSemaphore instead of Semaphore. BoundedSemaphore raises for
    unmatched release() calls.

    Cleanup imports.

    Differential Revision: (detail/ViewSVN)
    by yln
  7. [libFuzzer] fork mode: try harder to cleanup after itself (detail/ViewSVN)
    by kcc
  8. clang-format with UseTab: Always sometimes doesn't insert the right amount of tabs.

    Trailing comments are not always aligned properly when UseTab is set to Always.


    int a;        // x
    int bbbbbbbb; // x
    With .clang-format:

    Language:        Cpp
    BasedOnStyle: LLVM
    UseTab: Always
    The trailing comments of this code block should be aligned, but aren't

    To align the first trailing comment it needs to insert 8 spaces. This should be
    one tab plus six spaces. It skips the logic of the first partial tab in
    FirstTabWidth (=2) + Style.TabWidth (=8) <= Spaces (=8) and only inserts one
    tab. Proposed fix and test is attached.

    Patch by Hylke Kleve.

    Differential revision: (detail/ViewSVN)
    by alexfh
  9. [EarlyCSE & MSSA] Cap the clobbering calls in EarlyCSE.

    Unlimitted number of calls to getClobberingAccess can lead to high
    compile times in pathological cases.
    Limitting getClobberingAccess to a fairly high number. Can be adjusted
    based on users/need.
    Note: this is the only user of MemorySSA currently enabled by default.
    The same handling exists in LICM (disabled atm). As MemorySSA gains more
    users, this logic of capping will need to move inside MemorySSA.

    Reviewers: george.burgess.iv

    Subscribers: llvm-commits

    Differential Revision: (detail/ViewSVN)
    by asbirlea
  10. [ObjC] For type substitution in generics use a regular recursive type visitor.

    Switch to the inheritance-based visitor from the lambda-based visitor to
    allow both preorder and postorder customizations during type
    transformation. NFC intended.

    Reviewers: ahatanak, erik.pilkington

    Reviewed By: erik.pilkington

    Subscribers: jkorous, dexonsmith, cfe-commits

    Differential Revision: (detail/ViewSVN)
    by vsapsai
  11. [Sanitizer] iOS: Pull up parallelism_group handling into common.lit.config

    Serial execution on iOS devices is not specific to sanitizers. We want
    to throttle all on-device tests. Pull the setting of the
    parallelism_group up into the common lit configuration file.

    Rename `darwin-ios-device-sanitizer` to `ios-device`. This group is not
    specific to sanitizers and (theoretically) independent from the host OS.

    Note that we don't support running unit tests on-device (there are no
    configurations generated for that). If that ever changes, we also need
    this configuration in `unittests/lit.common.unit.cfg`.

    Reviewers: delcypher

    Differential Revision: (detail/ViewSVN)
    by yln
  12. [X86] Don't set exception mask bits when modifying FPCW to change rounding mode for fp->int conversion

    When we need to do an fp->int conversion using x87 instructions, we need to temporarily change the rounding mode to 0b11 and perform a store. To do this we save the old value of the fpcw to the stack, then set the fpcw to 0xc7f, do the store, then restore fpcw. But the 0xc7f value forces the exception mask bits 1. While this is what they would be in the default FP environment, as we move to support changing the FP environments, we shouldn't make this assumption.

    This patch changes the code to explicitly OR 0xc00 with the old value so that only the rounding mode is changed. Unfortunately, this requires two stack temporaries instead of one. One to hold the old value and one to hold the new value. Without two stack temporaries we would need an additional GPR. We already need one to do the OR operation in. This is similar to what gcc and icc do for this operation. Though they are both better at reusing the stack temporaries when there are multiple truncates in a function(or at least in a basic block)

    Differential Revision: (detail/ViewSVN)
    by ctopper
  13. Fix implementation of [temp.local]p4.

    When a template-name is looked up, we need to give injected-class-name
    declarations of class templates special treatment, as they denote a
    template rather than a type.

    Previously we achieved this by applying a filter to the lookup results
    after completing name lookup, but that is incorrect in various ways, not
    least of which is that it lost all information about access and how
    members were named, and the filtering caused us to generally lose
    all ambiguity errors between templates and non-templates.

    We now preserve the lookup results exactly, and the few places that need
    to map from a declaration found by name lookup into a declaration of a
    template do so explicitly. Deduplication of repeated lookup results of
    the same injected-class-name declaration is done by name lookup instead
    of after the fact.

    This reinstates r354091, which was previously reverted in r354097
    because it exposed bugs in lldb and compiler-rt. Those bugs were fixed
    in r354173 and r354174 respectively. (detail/ViewSVN)
    by rsmith
  14. [libFuzzer] form mode: add -ignore_crashes flag, honor the max_total_time flag, print the number of ooms/timeouts/crashes, fix a typo (detail/ViewSVN)
    by kcc
  15. Fix invalid code that Clang trunk will soon diagnose.

    There is an ambiguity between ::SizeClassMap (the typedef declared near
    the start of this file) and __sanitizer::SizeClassMap (found by the
    'using namespace __sanitizer;' near the start of this file).

    Historically a Clang bug has meant that the error was not diagnosed, but
    soon Clang will start diagnosing it. Explicitly qualify this use of
    SizeClassMap so that it finds __sanitizer::SizeClassMap rather than
    being ill-formed due to ambiguity. (detail/ViewSVN)
    by rsmith
  16. [InstCombine] Address a couple stylistic issues pointed out by reviewer [NFC]

    Better addressing comments from (detail/ViewSVN)
    by reames
  17. [InstCombine] Convert atomicrmws to xchg or store where legal

    Implement two more transforms of atomicrmw:
    1) We can convert an atomicrmw which produces a known value in memory into an xchg instead.
    2) We can convert an atomicrmw xchg w/o users into a store for some orderings.

    Differential Revision: (detail/ViewSVN)
    by reames
  18. Revert r354075 "[clang][FileManager] fillRealPathName even if we aren't opening the file"

    The new test doesn't pass on Windows. (detail/ViewSVN)
    by rnk
  19. [docs] Document LLVM_ENABLE_IDE

    Use some of the wording and the motivating example from r344555. The
    lack of documentation was pointed out by Roman Lebedev.

    Differential Revision: (detail/ViewSVN)
    by smeenai
  20. [Driver] Default all Android ARM targets to NEON.

    There are an insignificant number of ARM Android devices that don't
    support NEON. Default to using NEON since that will improve
    performance on the majority of devices. Users that need to target
    non-NEON devices can still explicitly disable NEON.

    Reviewers: srhines, pirama, kristof.beyls

    Reviewed By: pirama

    Subscribers: efriedma, javed.absar, cfe-commits

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by danalbert
  21. Relax assertion to account for private framework modules, too.

    rdar://problem/48116069 (detail/ViewSVN)
    by adrian
  22. [ObjC] Fix non-canonical types preventing type arguments substitution.

    `QualType::substObjCTypeArgs` doesn't go past non-canonical types and as
    the result misses some of the substitutions like `ObjCTypeParamType`.

    Update `SimpleTransformVisitor` to traverse past the type sugar.

    Reviewers: ahatanak, erik.pilkington

    Reviewed By: erik.pilkington

    Subscribers: jkorous, dexonsmith, cfe-commits

    Differential Revision: (detail/ViewSVN)
    by vsapsai
  23. [X86] Fix LowerAsmOutputForConstraint.

    Update Flag when generating cc output.

    Fixes PR40737.

    Reviewers: rnk, nickdesaulniers, craig.topper, spatel

    Subscribers: hiraditya, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by niravd
  24. [MSVC] Recognize `static_assert` keyword in C and C++98

    The main effect is that clang now accepts the following conforming C11
    code with MSVC headers:
      #include <assert.h>
      static_assert(1, "true");

    This is a non-conforming extension (the keyword is outside the
    implementer's namespace), so it is placed under -fms-compatibility
    instead of -fms-extensions like most MSVC-specific keyword extensions.

    Normally, in C11, the compiler is supposed to provide the _Static_assert
    keyword, and assert.h should define static_assert to _Static_assert.
    However, that is not what MSVC does, and MSVC doesn't even provide

    This also has the less important side effect of enabling static_assert
    in C++98 mode with -fms-compatibility. It's exceptionally difficult to
    use modern MSVC headers without C++14 even, so this is relatively

    Fixes PR26672

    Patch by Andrey Bokhanko!

    Reviewers: rsmith, thakis

    Subscribers: cfe-commits, STL_MSFT

    Differential Revision: (detail/ViewSVN)
    by rnk
  25. [X86] Move all the SSE legality checks out of FP_TO_INTHelper and up to LowerFP_TO_INT. NFCI

    These checks aren't needed on the call to FP_TO_INTHelper from the type legalizer for splitting i64. We always want to use X87 FIST/FISTT to memory there.

    Moving up the SSE checks will allow this routine to focus on what it cares about and makes its return semantics cleaner. (detail/ViewSVN)
    by ctopper
  26. Recommit "[SystemZ] Do not emit VEXTEND or VROUND nodes without vector support."

    It seems there were some problem with using a .mir test. For some reason
    doing '-stop-before=codegenprepare' and then '-start-before=codegenprepare'
    on the output .mir file results in the NoVRegs Property after instruction

    Recommitting the same test as an .ll file instead. (detail/ViewSVN)
    by jonpa
  27. [CodeExtractor] Do not lift lifetime.end markers for region inputs

    If a lifetime.end marker occurs along one path through the extraction
    region, but not another, then it's still incorrect to lift the marker,
    because there is some path through the extracted function which would
    ordinarily not reach the marker. If the call to the extracted function
    is in a loop, unrolling can cause inputs to the function to become
    optimized out as undef after the first iteration.

    To prevent incorrect stack slot merging in the calling function, it
    should be sufficient to lift lifetime.start markers for region inputs.
    I've tested this theory out by doing a stage2 check-all with randomized
    splitting enabled.

    This is a follow-up to r353973, and there's additional context for this
    change in


    Differential Revision: (detail/ViewSVN)
    by vedantk
  28. [HotColdSplit] Schedule splitting late to fix perf regression

    With or without PGO data applied, splitting early in the pipeline
    (either before the inliner or shortly after it) regresses performance
    across SPEC variants. The cause appears to be that splitting hides
    context for subsequent optimizations.

    Schedule splitting late again, in effect reversing r352080, which
    scheduled the splitting pass early for code size benefits (documented in

    Differential Revision: (detail/ViewSVN)
    by vedantk
  29. Fix unsymbolized stack history printing.

    When symbols are unavailable, the current code prints
      sp: ... pc: ... (null) (null)
    instead of module name + offset.

    Change the output to include module name and offset, and also to match
    the regular sanitizer stack trace format so that it is recognized by out of the box.

    Reviewers: kcc, pcc

    Subscribers: kubamracek, jdoerfert, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by eugenis
  30. Runtime flags for malloc bisection.

    Reviewers: kcc, pcc

    Subscribers: kubamracek, mgorny, jdoerfert, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by eugenis
  31. Fix false positive when tag_in_malloc=0,tag_in_free=1.

    With tag_in_free=1, malloc() can not assume that the memory is untagged,
    and needs to retag is to 0.

    Reviewers: pcc, kcc

    Subscribers: kubamracek, jfb, jdoerfert, llvm-commits

    Tags: #llvm

    Differential Revision: (detail/ViewSVN)
    by eugenis
  32. [MCA] Improved code comment. NFC (detail/ViewSVN)
    by adibiagio
  33. Revert "[compiler-rt] Cleanup usage of C++ ABI library"

    This reverts r354132 because it breaks sanitizer-x86_64-linux: (detail/ViewSVN)
    by hahnfeld
  34. Fix 80-column limit in SimplifyDemandedBits/SimplifyDemandedVectorElts. NFCI. (detail/ViewSVN)
    by rksimon
  35. [Sema][NFC] SequenceChecker: Add tests for references/members, and prepare for the C++17 tests

    Add some tests for unsequenced operations with members and references.
    For now most of it is unhandled but it shows what work needs to be done.

    Also merge the tests for the C++17 sequencing rules in warn-unsequenced.cpp
    since we want to make sure that the appropriate warnings are still present
    in C++17 without duplicating the whole content of warn-unsequenced.cpp. (detail/ViewSVN)
    by brunoricci
  36. [MCA][LSUnit] Return the ID of the dependent memory operation from method
    isReady(). NFCI

    This is yet another change in preparation for a fix for PR37494. (detail/ViewSVN)
    by adibiagio
  37. Variable auto-init of blocks capturing self after init bugfix

    Blocks that capture themselves (and escape) after initialization currently codegen wrong because this:

      bool capturedByInit =
          Init && emission.IsEscapingByRef && isCapturedBy(D, Init);

      Address Loc =
          capturedByInit ? emission.Addr : emission.getObjectAddress(*this);

    Already adjusts Loc from thr alloca to a GEP. This code:

        if (emission.IsEscapingByRef)
          Loc = emitBlockByrefAddress(Loc, &D, /*follow=*/false);

    Was trying to do the same adjustment, and a GEP on a GEP (returning an int) triggers an assertion.


    Reviewers: ahatanak

    Subscribers: jkorous, dexonsmith, cfe-commits, rjmccall

    Tags: #clang

    Differential Revision: (detail/ViewSVN)
    by jfb
  38. [Tests] Demonstrate more missing atomicrmw transforms (detail/ViewSVN)
    by reames
  39. [InstCombine] fix crash while trying to narrow a binop of shuffles (PR40734) (detail/ViewSVN)
    by spatel
  40. Revert r354137 - OptionalStorage implementation for trivial type, take III

    This still fails on some random platform, and I fail to reproduce the issue. (detail/ViewSVN)
    by serge_sans_paille

Started by upstream project Clang Stage 2: cmake, R -g Asan&UBSan, using Stage 1 RA, Phase 1 build number 6138
originally caused by:

This run spent:

  • 9 sec waiting;
  • 12 min build duration;
  • 12 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

CMake Error

This build failed because of an CMake configuration error. Below is a list of all errors in the build log:
Indication 2