Skip to content
  1. Nov 13, 2019
  2. Nov 12, 2019
    • Craig Topper's avatar
      [X86] Don't consider v64i1 as a legal type unless v64i8 is also a legal type. · 3e1aee2b
      Craig Topper authored
      This avoids some nasty issues with argument passing and lowering of
      arbitrary v64i8 shuffles.
      3e1aee2b
    • Craig Topper's avatar
      [X86] Only pass v64i8/v32i16 as v16i32 on non-avx512bw targets if the v16i32... · 0f04ffc0
      Craig Topper authored
      [X86] Only pass v64i8/v32i16 as v16i32 on non-avx512bw targets if the v16i32 type won't be split by prefer-vector-width=256
      
      Otherwise just let the v64i8/v32i16 types be split to v32i8/v16i16.
      
      In reality this shouldn't happen because it means we have a 512-bit
      vector argument, but min-legal-vector-width says a value less than
      512. But a 512-bit argument should have been factored into the
      preferred vector width.
      0f04ffc0
    • Sterling Augustine's avatar
      Fix include guard and properly order __deregister_frame_info. · 38c35617
      Sterling Augustine authored
      Summary:
      This patch fixes two problems with the crtbegin.c as written:
      
      1. In do_init, register_frame_info is not guarded by a #define, but in
      do_fini, deregister_frame_info is guarded by #ifndef
      CRT_HAS_INITFINI_ARRAY. Thus when CRT_HAS_INITFINI_ARRAY is not
      defined, frames are registered but then never deregistered.
      
      The frame registry mechanism builds a linked-list from the .so's
      static variable do_init.object, and when the .so is unloaded, this
      memory becomes invalid and should be deregistered.
      
      Further, libgcc's crtbegin treats the frame registry as independent
      from the initfini array mechanism.
      
      This patch fixes this by adding a new #define,
      "EH_USE_FRAME_INFO_REGISTRY", which is set by the cmake option
      COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY Currently, do_init calls
      register_frame_info, and then calls the binary's constructors. This
      allows constructors to safely use libunwind. However, do_fini calls
      deregister_frame_info and then calls the binary's destructors. This
      prevents destructors from safely using libunwind.
      
      This patch also switches that ordering, so that destructors can safely
      use libunwind. As it happens, this is a fairly common scenario for
      thread sanitizer.
      38c35617
    • Weverything's avatar
      Add -Wtautological-compare to -Wall · 9740f9f0
      Weverything authored
      Some warnings in -Wtautological-compare subgroups are DefaultIgnore.
      Adding this group to -Wmost, which is part of -Wall, will aid in their
      discoverability.
      
      Differential Revision: https://reviews.llvm.org/D69292
      9740f9f0
    • Yonghong Song's avatar
      [BPF] generate BTF_KIND_VARs for all non-static globals · 166cdc02
      Yonghong Song authored
      Enable to generate BTF_KIND_VARs for non-static
      default-section globals which is not allowed previously.
      Modified the existing test case to accommodate the new change.
      
      Also removed unused linkage enum members VAR_GLOBAL_TENTATIVE and
      VAR_GLOBAL_EXTERNAL.
      
      Differential Revision: https://reviews.llvm.org/D70145
      166cdc02
    • Alina Sbirlea's avatar
      [GlobalsAA] Restrict ModRef result if any internal method has its address taken. · db69f1b2
      Alina Sbirlea authored
      Summary:
      If there are any internal methods whose address was taken, conclude there is nothing known in relation of any other internal method and a global.
      
      Reviewers: nlopes, sanjoy.google
      
      Subscribers: hiraditya, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D69690
      db69f1b2
    • Jonas Devlieghere's avatar
      [LLDB] Fix/silence CMake developer warning for LLDB framework. · a247bd1f
      Jonas Devlieghere authored
      This fixes the following warning for developers:
      
        Target 'liblldb' was changed to a FRAMEWORK sometime after install().  This
        may result in the wrong install DESTINATION.  Set the FRAMEWORK property
        earlier.
      
      The solution is to pass the FRAMEWORK flag to add_lldb_library and set
      the target property before install(). For now liblldb is the only
      customer.
      a247bd1f
    • Alina Sbirlea's avatar
      [GVNHoist] Preserve AAResults. · 4ae74cc9
      Alina Sbirlea authored
      Resolves PR38906, PR40898.
      4ae74cc9
    • mydeveloperday's avatar
      Allow additional file suffixes/extensions considered as source in main include grouping · 335ac2eb
      mydeveloperday authored
      Summary:
      By additional regex match, grouping of main include can be enabled in files that are not normally considered as a C/C++ source code.
      For example, this might be useful in templated code, where template implementations are being held in *Impl.hpp files.
      On the occassion, 'assume-filename' option description was reworded as it was misleading. It has nothing to do with `style=file` option and it does not influence sourced style filename.
      
      Reviewers: rsmith, ioeric, krasimir, sylvestre.ledru, MyDeveloperDay
      
      Reviewed By: MyDeveloperDay
      
      Subscribers: MyDeveloperDay, cfe-commits
      
      Patch by:  furdyna
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D67750
      335ac2eb
Loading