1. Jun 02, 2020
  2. Jun 01, 2020
    • Fangrui Song's avatar
      [Object] Add DF_1_PIE · d9943e7f
      Fangrui Song authored
      This flag (and the whole field DT_FLAGS_1) originated from Solaris. I intend to use it in an LLD patch D80872.
      
      Reviewed By: jhenderson
      
      Differential Revision: https://reviews.llvm.org/D80871
      d9943e7f
    • Sanjay Patel's avatar
      [InstCombine] add test for select-of-shuffle; NFC · b874dc4d
      Sanjay Patel authored
      This is based on an example in D80658
      b874dc4d
    • Stanislav Mekhanoshin's avatar
      Process gep (phi ptr1, ptr2) in SROA · 745c6c84
      Stanislav Mekhanoshin authored
      Differential Revision: https://reviews.llvm.org/D79218
      745c6c84
    • Siva Chandra Reddy's avatar
      1caedd0c
    • Sam Clegg's avatar
      [WebAssembly] Update test expectations · 26c78e30
      Sam Clegg authored
      simd-2.C now compiles thanks to:
        https://github.com/WebAssembly/wasi-libc/pull/183
      
      Differential Revision: https://reviews.llvm.org/D80930
      26c78e30
    • Sanjay Patel's avatar
      [InstNamer] use 'i' for Instructions, not 'tmp' · dd54432a
      Sanjay Patel authored
      As discussed in https://bugs.llvm.org/show_bug.cgi?id=45951 and
      D80584, the name 'tmp' is almost always a bad choice, but we have
      a legacy of regression tests with that name because it was baked
      into utils/update_test_checks.py.
      
      This change makes -instnamer more consistent (already using "arg"
      and "bb", the common LLVM shorthand). And it avoids the conflict
      in telling users of the FileCheck script to run "-instnamer" to
      create a better regression test and having that cause a warn/fail
      in update_test_checks.py.
      dd54432a
    • AndreyChurbanov's avatar
      [openmp] Fixed taskloop recursive splitting so that taskloop tasks have · 5e111c5d
      AndreyChurbanov authored
      same parent tasks.
      
      Differential Revision: https://reviews.llvm.org/D80577
      5e111c5d
    • Aaron Ballman's avatar
      Support GCC [[gnu::attributes]] in C2x mode · 522934da
      Aaron Ballman authored
      GCC 10.1 introduced support for the [[]] style spelling of attributes in C
      mode. Similar to how GCC supports __attribute__((foo)) as [[gnu::foo]] in
      C++ mode, it now supports the same spelling in C mode as well. This patch
      makes a change in Clang so that when you use the GCC attribute spelling,
      the attribute is automatically available in all three spellings by default.
      However, like Clang, GCC has some attributes it only recognizes in C++ mode
      (specifically, abi_tag and init_priority), which this patch also honors.
      522934da
    • Ehud Katz's avatar
      8a84158e
    • Sanjay Patel's avatar
      [CodeGen] remove instnamer dependency from test file; NFC · c0303e53
      Sanjay Patel authored
      This file was originally added without instnamer at:
      rL283716 / fe2b9b4f
      
      But that was reverted and the test file reappeared with instnamer at:
      rL285688 / 62f516f5
      
      I'm not seeing any difference locally from checking nameless values,
      so trying to remove a layering violation and see if that can
      survive the build bots.
      c0303e53
    • James Henderson's avatar
      [Support] Add more context to DataExtractor getLEB128 errors · 8d9070e0
      James Henderson authored
      Reviewed by: clayborg, dblaikie, labath
      
      Differential Revision: https://reviews.llvm.org/D80799
      8d9070e0
    • Raphael Isemann's avatar
      Revert "[lldb] Pass -fPIC flag even when DYLIB_ONLY is set" · 54422d21
      Raphael Isemann authored
      This reverts commit fd0ab3b3.
      
      The fix here is incorrect and the actual fault was an incorrect test Makefile.
      
      To give some more background:
      
      The original test for D80798 compiled three source files into either one
      executable or one executable + 2 shared libraries, each being one different
      test setup. If both the monolithic executable and the shared libraries
      where compiled in the same directory, then Make would overwrite the .o files
      of one test setup with the other. This caused that while -fPIC was passed
      correctly to the test setup with the shared libraries, the compiler invocations
      for the monolithic executable would later overwrite these object files (and
      as only the test setup with the shared library used -fPIC, it appeared as if
      the shared library object files didn't receive the -fPIC flag).
      
      Thanks to Pavel for figuring this out.
      54422d21
    • James Henderson's avatar
      [DebugInfo] Add use of truncating data extractor to debug line parsing · e8bcf4ef
      James Henderson authored
      This will ensure that nothing can ever start parsing data from a future
      sequence and part-read data will be returned as 0 instead.
      
      Reviewed by: aprantl, labath
      
      Differential Revision: https://reviews.llvm.org/D80796
      e8bcf4ef
    • Raphael Isemann's avatar
      [lldb][NFC] Make ClangExpressionSourceCode's wrapping logic more consistent · 2b37c5b5
      Raphael Isemann authored
      Summary:
      ClangExpressionSourceCode has different ways to wrap the user expression based on
      which context the expression is executed in. For example, if we're in a C++ member
      function we put the expression inside a fake member function of a fake class to make the
      evaluation possible. Similar things are done for Objective-C instance/static methods.
      There is also a default wrapping where we put the expression in a normal function
      just to make it possible to execute it.
      
      The way we currently define which kind of wrapping the expression needs is based on
      the `wrapping_language` we keep passing to the ClangExpressionSourceCode
      instance. We repurposed the language type enum for that variable to distinguish the
      cases above with the following mapping:
      * language = C_plus_plus -> member function wrapping
      * language = ObjC -> instance/static method wrapping (`is_static` distinguished between those two).
      * language = C -> normal function wrapping
      * all other cases like C_plus_plus11, Haskell etc. make our class a no-op that does mostly nothing.
      
      That mapping is currently not documented and just confusing as the `language`
      is unrelated to the expression language (and in the ClangUserExpression we even pretend
      that it *is* the actual language, but luckily never used it for anything). Some of the code
      in ClangExpressionSourceCode is also obviously thinking that this is the actual language of
      the expression as it checks for non-existent cases such as `ObjC_plus_plus` which is
      not part of the mapping.
      
      This patch makes a new enum to describe the four cases above (with instance/static Objective-C
      methods now being their own case). It also make that enum just a member of
      ClangExpressionSourceCode instead of having to pass the same value to the class repeatedly.
      This gets also rid of all the switch-case-checks for 'unknown' language such as C_plus_plus11 as this
      is no longer necessary.
      
      Reviewers: labath, JDevlieghere
      
      Reviewed By: labath
      
      Subscribers: abidh
      
      Differential Revision: https://reviews.llvm.org/D80793
      2b37c5b5