Skip to content
  1. Oct 29, 2018
    • Michael Kruse's avatar
      [git/svn] Ignore Visual Studio's CMakeSettings.json. · d7bca00a
      Michael Kruse authored
      When using Visual Studio's built-in support for CMake, the CMakeSettings.json contains the build configurations (build dir, generator, toolchain, cmake variables, etc). It is specific to the build machine, therefore should not be versioned.
      
      Differential Revision: https://reviews.llvm.org/D53775
      
      llvm-svn: 345504
      d7bca00a
    • James Henderson's avatar
      [llvm-objdump] Don't crash when using `-a` on non-archives · c1608c96
      James Henderson authored
      This fixes PR39402. The crash was caused when dereferencing nullptr in
      DumpObject and printArchiveChild.
      
      Reviewed By: jhenderson
      
      Differential Revision: https://reviews.llvm.org/D53690
      
      Patch by Xing GUO
      
      llvm-svn: 345503
      c1608c96
    • Aaron Ballman's avatar
      Add the isStaticLocal() AST matcher for matching on local static variables. · 31f48c50
      Aaron Ballman authored
      Patch by Joe Ranieri.
      
      llvm-svn: 345502
      31f48c50
    • Francis Visoiu Mistrih's avatar
      [X86] Remove outdated test · bb1bd9ed
      Francis Visoiu Mistrih authored
      This test breaks the X86 MachineVerifier. It looks like the MIR part is
      completely useless.
      
      The original author suggests that it can be removed.
      
      Differential Revision: https://reviews.llvm.org/D53767
      
      llvm-svn: 345501
      bb1bd9ed
    • Andrea Di Biagio's avatar
      [llvm-mca] Lower to mca::Instructon before the pipeline is run. · df4d65dd
      Andrea Di Biagio authored
      Before this change, the lowering of instructions from llvm::MCInst to
      mca::Instruction was done as part of the first stage of the pipeline (i.e. the
      FetchStage).  In particular, FetchStage was responsible for picking the next
      instruction from the source sequence, and lower it to an mca::Instruction with
      the help of an object of class InstrBuilder.
      
      The dependency on InstrBuilder was problematic for a number of reasons. Class
      InstrBuilder only knows how to lower from llvm::MCInst to mca::Instruction.
      That means, it is hard to support a different scenario where instructions
      in input are not instances of class llvm::MCInst. Even if we managed to
      specialize InstrBuilder, and generalize most of its internal logic, the
      dependency on InstrBuilder in FetchStage would have caused more troubles (other
      than complicating the pipeline logic).
      
      With this patch, the lowering step is done before the pipeline is run. The
      pipeline is no longer responsible for lowering from MCInst to mca::Instruction.
      As a consequence of this, the FetchStage no longer needs to interact with an
      InstrBuilder. The mca::SourceMgr class now simply wraps a reference to a
      sequence of mca::Instruction objects.
      This simplifies the logic of FetchStage, and increases the usability of it.  As
      a result, on a debug build, we see a 7-9% speedup; on a release build, the
      speedup is around 3-4%.
      
      llvm-svn: 345500
      df4d65dd
    • Greg Bedwell's avatar
      [llvm-mca][UpdateTestChecks] Don't try to align blocks that have already been... · 38a53896
      Greg Bedwell authored
      [llvm-mca][UpdateTestChecks] Don't try to align blocks that have already been subject to alignment in update_mca_test_checks.py
      
      This fixes PR39466.
      
      llvm-svn: 345499
      38a53896
    • George Rimar's avatar
      [LLDB] - Fix outdated comment. NFC. · 3423a6d5
      George Rimar authored
      llvm-svn: 345498
      3423a6d5
    • Andrew Savonichev's avatar
      [OpenCL] Fix serialization of OpenCLExtensionDecls · 52d674d9
      Andrew Savonichev authored
      Summary:
      I recently discovered that adding the following code into `opencl-c.h` causes
      failure of `test/Headers/opencl-c-header.cl`:
      ```
      #pragma OPENCL EXTENSION cl_my_ext : begin
      void cl_my_ext_foobarbaz();
      #pragma OPENCL EXTENSIOn cl_my_ext : end
      ```
      
      Clang crashes at the assertion is `ASTReader::getGlobalSubmoduleID()`:
      ```
      assert(I != M.SubmoduleRemap.end() && "Invalid index into submodule index remap");
      ```
      
      The root cause of the problem that to deserialize `OPENCL_EXTENSION_DECLS`
      section `ASTReader` needs to deserialize a Decl contained in it. In turn,
      deserializing a Decl requires information about whether this declaration is
      part of a (sub)module, but this information is not read yet because it is
      located further in a module file.
      
      Reviewers: Anastasia, yaxunl, JDevlieghere
      
      Reviewed By: Anastasia
      
      Subscribers: sidorovd, cfe-commits, asavonic
      
      Differential Revision: https://reviews.llvm.org/D53200
      
      llvm-svn: 345497
      52d674d9
    • Gabor Marton's avatar
      [ASTImporter] Import overrides before importing the rest of the chain · 7a0841ef
      Gabor Marton authored
      Summary:
      During method import we check for structural eq of two methods.
      In the structural eq check we check for their isVirtual() flag. That
      flag, however, may depend on the number of overrides. Before this
      change we imported the overrides *after* we had imported the rest of the
      redecl chain.  So, during the import of another decl from the chain
      IsVirtual() gave false result.
      
      Writing tests for this is not really possible, because there is no way
      to remove an overridden method via the AST API.
      (We should access the private ASTContext::OverriddenMethods container.)
      Also, we should do the remove in the middle of the import process.
      
      Reviewers: a_sidorin, a.sidorin
      
      Subscribers: rnkovacs, dkrupp, Szelethus, cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D53704
      
      llvm-svn: 345496
      7a0841ef
    • James Henderson's avatar
      [llvm-objdump] Add '--full-contents' as alias for '-s' · b55b6587
      James Henderson authored
      This fixes PR39404.
      
      Reviewed By: jhenderson
      
      Patch by Xing Guo
      
      Differential Revision: https://reviews.llvm.org/D53576
      
      llvm-svn: 345495
      b55b6587
    • Kamil Rytarowski's avatar
      Mark test/tsan/getline_nohang as XFAIL for NetBSD · 0ef090ca
      Kamil Rytarowski authored
      llvm-svn: 345493
      0ef090ca
    • Kamil Rytarowski's avatar
      Disable the GNU strerror_r TSan test for NetBSD · 43d1653f
      Kamil Rytarowski authored
      Revert older change that was incorrect in this test.
      It was already reverted in the past after an attempt to port it to Darwin.
      
      While there, mark FreeBSD as unsupported as well.
      
      llvm-svn: 345492
      43d1653f
    • Sjoerd Meijer's avatar
      [ARM][NFC] Fix test inlineasm-X-allocation.ll · d208461e
      Sjoerd Meijer authored
      Differential Revision: https://reviews.llvm.org/D53748
      
      llvm-svn: 345491
      d208461e
    • Kamil Rytarowski's avatar
      Mark test/tsan/ignore_lib5 as unsupported for NetBSD · 52676983
      Kamil Rytarowski authored
      ReadProcMaps() on NetBSD does not handle >=1MB of memory layout information.
      
      llvm-svn: 345490
      52676983
    • Dean Michael Berris's avatar
      [XRay] Guard call to postCurrentThreadFCT() · e01d25ef
      Dean Michael Berris authored
      Summary:
      Some cases where `postCurrentThreadFCT()` are not guarded by our
      recursion guard. We've observed that sometimes these can lead to
      deadlocks when some functions (like memcpy()) gets outlined and the
      version of memcpy is XRay-instrumented, which can be materialised by the
      compiler in the implementation of lower-level components used by the
      profiling runtime.
      
      This change ensures that all calls to `postCurrentThreadFCT` are guarded
      by our thread-recursion guard, to prevent deadlocks.
      
      Reviewers: mboerger, eizan
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D53805
      
      llvm-svn: 345489
      e01d25ef
    • Craig Topper's avatar
      [X86] Force floating point values in constant pool decoding to print in... · aa5eb2fb
      Craig Topper authored
      [X86] Force floating point values in constant pool decoding to print in scientific notation so they can't be confused with integers.
      
      When the floating point constants are whole numbers they have no decimal point so look like integers, but mean something very different in something like an 'and' instruction.
      
      Ideally we would just print a decimal point and a 0, but I couldn't see how to make APFloat::toString do that.
      
      llvm-svn: 345488
      aa5eb2fb
    • Erik Pilkington's avatar
      Revert "Support for groups of attributes in #pragma clang attribute" · b287a015
      Erik Pilkington authored
      This reverts commit r345486.
      
      Looks like it causes some old versions of GCC to crash, I'll see if I can
      work around it and recommit...
      
      llvm-svn: 345487
      b287a015
    • Erik Pilkington's avatar
      Support for groups of attributes in #pragma clang attribute · a7cc6b36
      Erik Pilkington authored
      This commit enables pushing an empty #pragma clang attribute push, then adding
      multiple attributes to it, then popping them all with #pragma clang attribute
      pop, just like #pragma clang diagnostic. We still support the current way of
      adding these, #pragma clang attribute push(__attribute__((...))), by treating it
      like a combined push/attribute. This is needed to create macros like:
      
      DO_SOMETHING_BEGIN(attr1, attr2, attr3)
      // ...
      DO_SOMETHING_END
      
      rdar://45496947
      
      Differential revision: https://reviews.llvm.org/D53621
      
      llvm-svn: 345486
      a7cc6b36
    • Dean Michael Berris's avatar
      [XRay] Use more portable control block · 36d97466
      Dean Michael Berris authored
      Summary:
      In D53560, we assumed a specific layout for memory without using an
      explicit structure. This follow-up change uses more portable layout
      control by using unions in a struct, and consolidating the memory
      management code in the buffer queue.
      
      We also take the opportunity to improve the documentation on the types
      and operations, along with simplifying some of the logic in the buffer
      queue implementation.
      
      Reviewers: mboerger, eizan
      
      Subscribers: jfb, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D53802
      
      llvm-svn: 345485
      36d97466
    • Craig Topper's avatar
      [X86] Recognize constant splats in LowerFCOPYSIGN. · 42aa8714
      Craig Topper authored
      llvm-svn: 345484
      42aa8714
    • Craig Topper's avatar
      [X86] Add test case to show failure to handle splat vectors in the constant... · 8164f392
      Craig Topper authored
      [X86] Add test case to show failure to handle splat vectors in the constant check in LowerFCOPYSIGN.
      
      llvm-svn: 345483
      8164f392
  2. Oct 28, 2018
  3. Oct 27, 2018
    • Bruno Ricci's avatar
      [AST] Only store the needed data in IfStmt · b1cc94b2
      Bruno Ricci authored
      Only store the needed data in IfStmt. This cuts the size of IfStmt
      by up to 3 pointers + 1 SourceLocation. The order of the children
      is intentionally kept the same even though it would be more
      convenient to put the optional trailing objects last. Additionally
      use the newly available space in the bit-fields of Stmt to store
      the location of the "if".
      
      The result of this is that for the common case of an
      if statement of the form:
      
      if (some_cond)
        some_statement
      
      the size of IfStmt is brought down to 8 bytes + 2 pointers,
      instead of 8 bytes + 5 pointers + 2 SourceLocation.
      
      Differential Revision: https://reviews.llvm.org/D53607
      
      Reviewed By: rjmccall
      
      llvm-svn: 345464
      b1cc94b2
Loading