Skip to content
  1. Jun 07, 2019
    • David Tenty's avatar
      Build with _XOPEN_SOURCE defined on AIX · a8d13df4
      David Tenty authored
      Summary:
      It is useful to build with _XOPEN_SOURCE defined on AIX, enabling X/Open
      and POSIX compatibility mode, to work around stray macros and other
      bugs in the headers provided by the system and build compiler.
      
      This patch adds the config to cmake to build with _XOPEN_SOURCE defined
      on AIX with a few exceptions. Google Test internals require access to
      platform specific thread info constructs on AIX so in that case we build
      with _ALL_SOURCE defined instead. Libclang also uses header which needs
      _ALL_SOURCE on AIX so we leave that as is as well.
      
      We also add building on AIX with the large file API and doing CMake
      header checks with X/OPEN definitions so the results are consistent with
      the environment that will be present in the build.
      
      Reviewers: hubert.reinterpretcast, xingxue, andusy
      
      Reviewed By: hubert.reinterpretcast
      
      Subscribers: mgorny, jsji, cfe-commits, llvm-commits
      
      Tags: #llvm, #clang
      
      Differential Revision: https://reviews.llvm.org/D62533
      
      llvm-svn: 362808
      a8d13df4
    • Sjoerd Meijer's avatar
      [ARM] Add ACLE feature macros for MVE · 4ea248eb
      Sjoerd Meijer authored
      If MVE is present at all, then the macro __ARM_FEATURE_MVE is defined
      to a value which has bit 0 set for integer MVE, and bit 1 set for
      floating-point MVE.
      
      (Floating-point MVE implies integer MVE, so if this macro is defined
      at all then it will be set to 1 or 3, never 2.)
      
      Patch mostly by Simon Tatham
      
      Differential Revision: https://reviews.llvm.org/D60710
      
      llvm-svn: 362806
      4ea248eb
    • Jinsong Ji's avatar
      [MachineScheduler] checkResourceLimit boundary condition update · 7aafdef6
      Jinsong Ji authored
      When we call checkResourceLimit in bumpCycle or bumpNode, and we
      know the resource count has just reached the limit (the equations
       are equal). We should return true to mark that we are resource
      limited for next schedule, or else we might continue to schedule
      in favor of latency for 1 more schedule and create a schedule that
       actually overbook the resource.
      
      When we call checkResourceLimit to estimate the resource limite before
      scheduling, we don't need to return true even if the equations are
      equal, as it shouldn't limit the schedule for it .
      
      Differential Revision: https://reviews.llvm.org/D62345
      
      llvm-svn: 362805
      7aafdef6
    • Stefan Granitz's avatar
      [CMake] Add special case for processing LLDB_DOTEST_ARGS · 088410ff
      Stefan Granitz authored
      Summary:
      Allow to run the test suite when building LLDB Standalone with Xcode against a provided LLVM build-tree that used a single-configuration generator like Ninja.
      
      So far both test drivers, lit-based `check-lldb` as well as `lldb-dotest`, were looking for test dependencies (clang/dsymutil/etc.) in a subdirectory with the configuration name (Debug/Release/etc.). It was implicitly assuming that both, LLDB and the provided LLVM used the same generator. In practice, however, the opposite is quite common: build the dependencies with Ninja and LLDB with Xcode for development*. With this patch it becomes the default.
      
      (* In fact, it turned out that the Xcode<->Xcode variant didn't even build out of the box. It's fixed since D62879)
      
      Once this is sound, I'm planning the following steps:
      * add stage to the [lldb-cmake-standalone bot](http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-standalone/) to build and test it
      * update `Building LLDB with Xcode` section in the docs
      * bring the same mechanism to swift-lldb
      * fade out the manually maintained Xcode project
      
      On macOS build and test like this:
      ```
      $ git clone https://github.com/llvm/llvm-project.git /path/to/llvm-project
      
      $ cd /path/to/lldb-dev-deps
      $ cmake -GNinja -C/path/to/llvm-project/lldb/cmake/caches/Apple-lldb-macOS.cmake -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" /path/to/llvm-project/llvm
      $ ninja
      
      $ cd /path/to/lldb-dev-xcode
      $ cmake -GXcode -C/path/to/llvm-project/lldb/cmake/caches/Apple-lldb-macOS.cmake -DLLDB_BUILD_FRAMEWORK=Off -DLLVM_DIR=/path/to/lldb-dev-deps/lib/cmake/llvm -DClang_DIR=/path/to/lldb-dev-deps/lib/cmake/clang /path/to/llvm-project/lldb
      $ xcodebuild -configuration Debug -target check-lldb
      $ xcodebuild -configuration Debug -target lldb-dotest
      $ ./Debug/bin/lldb-dotest
      ```
      
      Reviewers: JDevlieghere, jingham, xiaobai, stella.stamenova, labath
      
      Reviewed By: stella.stamenova
      
      Subscribers: labath, mgorny, lldb-commits
      
      Tags: #lldb
      
      Differential Revision: https://reviews.llvm.org/D62859
      
      llvm-svn: 362803
      088410ff
    • Stefan Stipanovic's avatar
      test-commit · 128e8e8f
      Stefan Stipanovic authored
      llvm-svn: 362802
      128e8e8f
    • David Bolvansky's avatar
      [NFC] Added tests for D63004 · 43f8ce44
      David Bolvansky authored
      llvm-svn: 362801
      43f8ce44
    • Matt Arsenault's avatar
      TailDuplicator: Remove no-op analyzeBranch call · 94a609e3
      Matt Arsenault authored
      This could fail, which looked concerning. However nothing was actually
      using the results of this. I assume this was intended to use the
      anti-feature of analyzeBranch of removing instructions, but wasn't
      actually calling it with AllowModify = true.
      
      Fixes bug 42162.
      
      llvm-svn: 362800
      94a609e3
    • Joerg Sonnenberger's avatar
      [NFC] Don't export helpers of ConstantFoldCall · b2e96169
      Joerg Sonnenberger authored
      llvm-svn: 362799
      b2e96169
    • Nico Weber's avatar
      llvm-lib: Disallow mixing object files with different machine types · d546b505
      Nico Weber authored
      lib.exe doesn't allow creating .lib files with object files that have
      differing machine types. Update llvm-lib to match.
      
      The motivation is to make it possible to infer the machine type of a
      .lib file in lld, so that it can warn when e.g. a 32-bit .lib file is
      passed to a 64-bit link (PR38965).
      
      Fixes PR38782.
      
      Differential Revision: https://reviews.llvm.org/D62913
      
      llvm-svn: 362798
      d546b505
    • Sanjay Patel's avatar
      [x86] narrow extract subvector of vector select · 6880bced
      Sanjay Patel authored
      This is a potentially large perf win for AVX1 targets because of the way we
      auto-vectorize to 256-bit but then expect the backend to legalize/optimize
      for the half-implemented AVX1 ISA.
      
      On the motivating example from PR37428 (even though this patch doesn't solve
      the vector shift issue):
      https://bugs.llvm.org/show_bug.cgi?id=37428
      ...there's a 16% speedup when compiling with "-mavx" (perf tested on Haswell)
      because we eliminate the remaining 256-bit vblendv ops.
      
      I added comments on a couple of tests that require further work. If we have
      256-bit logic ops separating the vselect and extract, we should probably narrow
      everything to 128-bit, but that requires a larger pattern match.
      
      Differential Revision: https://reviews.llvm.org/D62969
      
      llvm-svn: 362797
      6880bced
    • Nico Weber's avatar
      gn build: Merge r362766 · 0723c659
      Nico Weber authored
      llvm-svn: 362796
      0723c659
    • Nico Weber's avatar
      gn build: Merge r362774 · 9cf96046
      Nico Weber authored
      llvm-svn: 362795
      9cf96046
    • Nico Weber's avatar
      95dd67ac
    • Peter Smith's avatar
      [ELF][AArch64] Support for BTI and PAC · e208208a
      Peter Smith authored
      Branch Target Identification (BTI) and Pointer Authentication (PAC) are
      architecture features introduced in v8.5a and 8.3a respectively. The new
      instructions have been added in the hint space so that binaries take
      advantage of support where it exists yet still run on older hardware. The
      impact of each feature is:
      
      BTI: For executable pages that have been guarded, all indirect branches
      must have a destination that is a BTI instruction of the appropriate type.
      For the static linker, this means that PLT entries must have a "BTI c" as
      the first instruction in the sequence. BTI is an all or nothing
      property for a link unit, any indirect branch not landing on a valid
      destination will cause a Branch Target Exception.
      
      PAC: The dynamic loader encodes with PACIA the address of the destination
      that the PLT entry will load from the .plt.got, placing the result in a
      subset of the top-bits that are not valid virtual addresses. The PLT entry
      may authenticate these top-bits using the AUTIA instruction before
      branching to the destination. Use of PAC in PLT sequences is a contract
      between the dynamic loader and the static linker, it is independent of
      whether the relocatable objects use PAC.
      
      BTI and PAC are independent features that can be combined. So we can have
      several combinations of PLT:
      - Standard with no BTI or PAC
      - BTI PLT with "BTI c" as first instruction.
      - PAC PLT with "AUTIA1716" before the indirect branch to X17.
      - BTIPAC PLT with "BTI c" as first instruction and "AUTIA1716" before the
        first indirect branch to X17.
          
      The use of BTI and PAC in relocatable object files are encoded by feature
      bits in the .note.gnu.property section in a similar way to Intel CET. There
      is one AArch64 specific program property GNU_PROPERTY_AARCH64_FEATURE_1_AND
      and two target feature bits defined:
      - GNU_PROPERTY_AARCH64_FEATURE_1_BTI
      -- All executable sections are compatible with BTI.
      - GNU_PROPERTY_AARCH64_FEATURE_1_PAC
      -- All executable sections have return address signing enabled.
      
      Due to the properties of FEATURE_1_AND the static linker can tell when all
      input relocatable objects have the BTI and PAC feature bits set. The static
      linker uses this to enable the appropriate PLT sequence.
      Neither -> standard PLT
      GNU_PROPERTY_AARCH64_FEATURE_1_BTI -> BTI PLT
      GNU_PROPERTY_AARCH64_FEATURE_1_PAC -> PAC PLT
      Both properties -> BTIPAC PLT
      
      In addition to the .note.gnu.properties there are two new command line
      options:
      --force-bti : Act as if all relocatable inputs had
      GNU_PROPERTY_AARCH64_FEATURE_1_BTI and warn for every relocatable object
      that does not.
      --pac-plt : Act as if all relocatable inputs had
      GNU_PROPERTY_AARCH64_FEATURE_1_PAC. As PAC is a contract between the loader
      and static linker no warning is given if it is not present in an input.
      
      Two processor specific dynamic tags are used to communicate that a non
      standard PLT sequence is being used.
      DTI_AARCH64_BTI_PLT and DTI_AARCH64_BTI_PAC.
      
      Differential Revision: https://reviews.llvm.org/D62609
      
      llvm-svn: 362793
      e208208a
    • Anton Afanasyev's avatar
      [Support][Test] Time profiler: add regression test · f2ddd608
      Anton Afanasyev authored
      Summary:
      Add output to `llvm::errs()` when `-ftime-trace` option is enabled,
      add regression test checking this option works as expected.
      
      Reviewers: thakis, aganea
      
      Subscribers: cfe-commits, llvm-commits
      
      Tags: #clang, #llvm
      
      Differential Revision: https://reviews.llvm.org/D61914
      
      llvm-svn: 362792
      f2ddd608
    • Simon Tatham's avatar
      [ARM] Fix bugs introduced by the fp64/d32 rework. · 5d66f2b0
      Simon Tatham authored
      Change D60691 caused some knock-on failures that weren't caught by the
      existing tests. Firstly, selecting a CPU that should have had a
      restricted FPU (e.g. `-mcpu=cortex-m4`, which should have 16 d-regs
      and no double precision) could give the unrestricted version, because
      `ARM::getFPUFeatures` returned a list of features including subtracted
      ones (here `-fp64`,`-d32`), but `ARMTargetInfo::initFeatureMap` threw
      away all the ones that didn't start with `+`. Secondly, the
      preprocessor macros didn't reliably match the actual compilation
      settings: for example, `-mfpu=softvfp` could still set `__ARM_FP` as
      if hardware FP was available, because the list of features on the cc1
      command line would include things like `+vfp4`,`-vfp4d16` and clang
      didn't realise that one of those cancelled out the other.
      
      I've fixed both of these issues by rewriting `ARM::getFPUFeatures` so
      that it returns a list that enables every FP-related feature
      compatible with the selected FPU and disables every feature not
      compatible, which is more verbose but means clang doesn't have to
      understand the dependency relationships between the backend features.
      Meanwhile, `ARMTargetInfo::handleTargetFeatures` is testing for all
      the various forms of the FP feature names, so that it won't miss cases
      where it should have set `HW_FP` to feed into feature test macros.
      
      That in turn caused an ordering problem when handling `-mcpu=foo+bar`
      together with `-mfpu=something_that_turns_off_bar`. To fix that, I've
      arranged that the `+bar` suffixes on the end of `-mcpu` and `-march`
      cause feature names to be put into a separate vector which is
      concatenated after the output of `getFPUFeatures`.
      
      Another side effect of all this is to fix a bug where `clang -target
      armv8-eabi` by itself would fail to set `__ARM_FEATURE_FMA`, even
      though `armv8` (aka Arm v8-A) implies FP-Armv8 which has FMA. That was
      because `HW_FP` was being set to a value including only the `FPARMV8`
      bit, but that feature test macro was testing only the `VFP4FPU` bit.
      Now `HW_FP` ends up with all the bits set, so it gives the right
      answer.
      
      Changes to tests included in this patch:
      
      * `arm-target-features.c`: I had to change basically all the expected
        results. (The Cortex-M4 test in there should function as a
        regression test for the accidental double-precision bug.)
      * `arm-mfpu.c`, `armv8.1m.main.c`: switched to using `CHECK-DAG`
        everywhere so that those tests are no longer sensitive to the order
        of cc1 feature options on the command line.
      * `arm-acle-6.5.c`: been updated to expect the right answer to that
        FMA test.
      * `Preprocessor/arm-target-features.c`: added a regression test for
        the `mfpu=softvfp` issue.
      
      Reviewers: SjoerdMeijer, dmgreen, ostannard, samparker, JamesNagurne
      
      Reviewed By: ostannard
      
      Subscribers: srhines, javed.absar, kristof.beyls, hiraditya, cfe-commits, llvm-commits
      
      Tags: #clang, #llvm
      
      Differential Revision: https://reviews.llvm.org/D62998
      
      llvm-svn: 362791
      5d66f2b0
    • Sam Elliott's avatar
      [RISCV] Support Bit-Preserving FP in F/D Extensions · f720647d
      Sam Elliott authored
      Summary:
      This allows some integer bitwise operations to instead be performed by
      hardware fp instructions. This is correct because the RISC-V spec
      requires the F and D extensions to use the IEEE-754 standard
      representation, and fp register loads and stores to be bit-preserving.
      
      This is tested against the soft-float ABI, but with hardware float
      extensions enabled, so that the tests also ensure the optimisation also
      fires in this case.
      
      Reviewers: asb, luismarques
      
      Reviewed By: asb
      
      Subscribers: hiraditya, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D62900
      
      llvm-svn: 362790
      f720647d
    • Valery Pykhtin's avatar
      [AMDGPU] Constrain the AMDGPU inliner on maximum number of basic blocks in a... · cb8de55f
      Valery Pykhtin authored
      [AMDGPU] Constrain the AMDGPU inliner on maximum number of basic blocks in a caller function (compile time performance)
      
      Differential revision: https://reviews.llvm.org/D62917
      
      llvm-svn: 362789
      cb8de55f
    • Fangrui Song's avatar
      [ELF] Delete R_PPC64_CALL_PLT from isRelExpr() · 32742d8f
      Fangrui Song authored
      It was added by D46654 but is actually never used.
      R_PPC64_CALL_PLT (was: R_PPC_CALL_PLT) is a static link-time constant.
      
      Reviewed By: ruiu
      
      Differential Revision: https://reviews.llvm.org/D62994
      
      llvm-svn: 362788
      32742d8f
    • Russell Gallop's avatar
      [X86][test] Add test cases using immediates to builtins-x86.c · 4bcba163
      Russell Gallop authored
      These builtins should work with immediate or variable shift operand for
      gcc compatibility.
      
      Differential Revision: https://reviews.llvm.org/D62850
      
      llvm-svn: 362786
      4bcba163
    • Sam McCall's avatar
      [CodeComplete] Improve overload handling for C++ qualified and ref-qualified methods. · f1f6e0fc
      Sam McCall authored
      Summary:
      - when a method is not available because of the target value kind (e.g. an &&
        method on a Foo& variable), then don't offer it.
      - when a method is effectively shadowed by another method from the same class
        with a) an identical argument list and b) superior qualifiers, then don't
        offer it.
      
      Reviewers: ilya-biryukov
      
      Subscribers: cfe-commits
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D62582
      
      llvm-svn: 362785
      f1f6e0fc
    • Pavel Labath's avatar
      Fix some signed/unsigned comparison warnings · 15fec3a6
      Pavel Labath authored
      llvm-svn: 362784
      15fec3a6
    • Pavel Labath's avatar
      DWARF: Simplify SymbolFileDWARF::GetDWARFCompileUnit · 62c905a2
      Pavel Labath authored
      Summary:
      The DWARFCompileUnit is set as the "user data" of the lldb compile unit
      directly in the constructor (see ParseCompileUnit).
      
      This means that instead of going through unit indexes, we can just fetch
      the DWARF unit directly from there.
      
      Reviewers: clayborg, JDevlieghere
      
      Subscribers: aprantl, jdoerfert, lldb-commits
      
      Differential Revision: https://reviews.llvm.org/D62943
      
      llvm-svn: 362783
      62c905a2
    • Dmitri Gribenko's avatar
      Work around a circular dependency between IR and MC introduced in r362735 · 5b3c9880
      Dmitri Gribenko authored
      I replaced the circular library dependency with a forward declaration,
      but it is only a workaround, not a real fix.
      
      llvm-svn: 362782
      5b3c9880
    • Pengfei Wang's avatar
      [X86] -march=cooperlake (clang) · 30bcda86
      Pengfei Wang authored
      Support intel -march=cooperlake in clang
      
      Patch by Shengchen Kan (skan)
      
      Differential Revision: https://reviews.llvm.org/D62835
      
      llvm-svn: 362781
      30bcda86
    • Cullen Rhodes's avatar
      [AArch64][AsmParser] error on unexpected SVE predicate type suffix · 1f0d2512
      Cullen Rhodes authored
      Summary:
      This patch fixes a bug in the assembler that permitted a type suffix on
      predicate registers when not expected. For instance, the following was
      previously valid:
      
          faddv h0, p0.q, z1.h
      
      This bug was present in all SVE instructions containing predicates with
      no type suffix and no predication form qualifier, i.e. /z or /m. The
      latter instructions are already caught with an appropiate error message
      by the assembler, e.g.:
      
                  .text
          <stdin>:1:13: error: not expecting size suffix
          cmpne p1.s, p0.b/z, z2.s, 0
                      ^
      
      A similar issue for SVE vector registers was fixed in:
      
        https://reviews.llvm.org/D59636
      
      Reviewed By: SjoerdMeijer
      
      Differential Revision: https://reviews.llvm.org/D62942
      
      llvm-svn: 362780
      1f0d2512
    • Cullen Rhodes's avatar
      [AArch64][AsmParser] Provide better diagnostics for SVE predicates · f7305484
      Cullen Rhodes authored
      Patch by Sander de Smalen (sdesmalen)
      
      Reviewed By: SjoerdMeijer
      
      Differential Revision: https://reviews.llvm.org/D62941
      
      llvm-svn: 362779
      f7305484
    • George Rimar's avatar
      [llvm-objcopy] - Emit error and don't crash if program header reaches past end of file. · 33044a7a
      George Rimar authored
      This is https://bugs.llvm.org/show_bug.cgi?id=42122.
      
      If an object file has a size less than program header's file [offset + size]
      (i.e. if we have overflow), llvm-objcopy crashes instead of reporting a
      error.
      
      The patch fixes this issue.
      
      Differential revision: https://reviews.llvm.org/D62898
      
      llvm-svn: 362778
      33044a7a
    • George Rimar's avatar
      [yaml2elf] - Refactoring followup for D62809 · eb394e93
      George Rimar authored
      This is a refactoring follow-up for D62809
      "Change how we handle implicit sections.".
      It allows to simplify the code.
      
      Differential revision: https://reviews.llvm.org/D62912
      
      llvm-svn: 362777
      eb394e93
    • Pengfei Wang's avatar
      [X86] -march=cooperlake (llvm) · f8b28931
      Pengfei Wang authored
      Support intel -march=cooperlake in llvm
      
      Patch by Shengchen Kan (skan)
      
      Differential Revision: https://reviews.llvm.org/D62836
      
      llvm-svn: 362776
      f8b28931
    • Sam Parker's avatar
      Fix for lld buildbot · 67f9dc60
      Sam Parker authored
      Removed unused (in non-debug builds) variable.
      
      llvm-svn: 362775
      67f9dc60
    • Sam Parker's avatar
      [CodeGen] Generic Hardware Loop Support · c5ef502e
      Sam Parker authored
          
      Patch which introduces a target-independent framework for generating
      hardware loops at the IR level. Most of the code has been taken from
      PowerPC CTRLoops and PowerPC has been ported over to use this generic
      pass. The target dependent parts have been moved into
      TargetTransformInfo, via isHardwareLoopProfitable, with
      HardwareLoopInfo introduced to transfer information from the backend.
          
      Three generic intrinsics have been introduced:
      - void @llvm.set_loop_iterations
        Takes as a single operand, the number of iterations to be executed.
      - i1 @llvm.loop_decrement(anyint)
        Takes the maximum number of elements processed in an iteration of
        the loop body and subtracts this from the total count. Returns
        false when the loop should exit.
      - anyint @llvm.loop_decrement_reg(anyint, anyint)
        Takes the number of elements remaining to be processed as well as
        the maximum numbe of elements processed in an iteration of the loop
        body. Returns the updated number of elements remaining.
      
      llvm-svn: 362774
      c5ef502e
    • Dylan McKay's avatar
      [AVR] Expand 16-bit rotations during the legalization stage · 04b418f2
      Dylan McKay authored
      In r356860, the legalization logic for BSWAP was modified to ISD::ROTL,
      rather than the old ISD::{SHL, SRL, OR} nodes.
      
      This works fine on AVR for 8-bit rotations, but 16-bit rotations are
      currently unimplemented - they always trigger an assertion error in the
      AVRExpandPseudoInsts pass ("RORW unimplemented").
      
      This patch instructions the legalizer to expand 16-bit rotations into
      the previous SHL, SRL, OR pattern it did previously.
      
      This fixes the 'issue-cannot-select-bswap.ll' test. Interestingly, this
      test failure seems flaky - it passes successfully on the avr-build-01
      buildbot, but fails locally on my Arch Linux install.
      
      llvm-svn: 362773
      04b418f2
    • Michael Pozulp's avatar
      [NFC] Delete trailing whitespace character. · 65d1ff8e
      Michael Pozulp authored
      llvm-svn: 362772
      65d1ff8e
    • Michael Pozulp's avatar
      [llvm-objdump] Print source when subsequent lines in the translation unit come... · 767bdd55
      Michael Pozulp authored
      [llvm-objdump] Print source when subsequent lines in the translation unit come from the same line in two different headers.
      
      Reviewers: grimar, rupprecht, jhenderson
      
      Reviewed By: grimar, jhenderson
      
      Subscribers: llvm-commits, jhenderson
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D62461
      
      llvm-svn: 362771
      767bdd55
    • Sam Clegg's avatar
      [lld] Allow args::getInterger to parse args larger than 2^31-1 · 53211aa9
      Sam Clegg authored
      Differential Revision: https://reviews.llvm.org/D62933
      
      llvm-svn: 362770
      53211aa9
    • Sam Clegg's avatar
      [WebAssembly] Fix for discarded init functions · fd54fa5d
      Sam Clegg authored
      When a function is excluded via comdat we shouldn't add it to the
      final list of init functions.
      
      Differential Revision: https://reviews.llvm.org/D62983
      
      llvm-svn: 362769
      fd54fa5d
    • Michael Pozulp's avatar
      [llvm-objdump] Add warning if --disassemble-functions specifies an unknown symbol · 50f61af3
      Michael Pozulp authored
      Summary: Fixes Bug 41904 https://bugs.llvm.org/show_bug.cgi?id=41904
      
      Reviewers: jhenderson, rupprecht, grimar, MaskRay
      
      Reviewed By: jhenderson, rupprecht, MaskRay
      
      Subscribers: dexonsmith, rupprecht, kristina, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D62275
      
      llvm-svn: 362768
      50f61af3
    • Fangrui Song's avatar
      [MC][ELF] Don't create relocations with section symbols for STB_LOCAL ifunc · c841b9ab
      Fangrui Song authored
      We should keep the symbol type (STT_GNU_IFUNC) for a local ifunc because
      it may result in an IRELATIVE reloc that the dynamic loader will use to
      resolve the address at startup time.
      
      There is another problem that is not fixed by this patch: a PC relative
      relocation should also create a relocation with the ifunc symbol.
      
      llvm-svn: 362767
      c841b9ab
    • Michael Pozulp's avatar
      [ADT] Enable set_difference() to be used on StringSet · 0bddef79
      Michael Pozulp authored
      Subscribers: mgorny, mgrang, dexonsmith, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D62992
      
      llvm-svn: 362766
      0bddef79
Loading