Skip to content
  1. Jun 18, 2018
  2. Jun 17, 2018
  3. Jun 16, 2018
  4. Jun 14, 2018
  5. Jun 13, 2018
  6. Jun 12, 2018
    • Lang Hames's avatar
      [ORC] Add a fallback definition generator for VSOs. · 2aae2581
      Lang Hames authored
      If a VSO has a fallback definition generator attached it will be called during
      lookup (and lookupFlags) for any unresolved symbols. The definition generator
      can add new definitions to the VSO for any unresolved symbol. This allows VSOs
      to generate new definitions on demand.
      
      The immediate use case for this code is supporting VSOs that can import
      definitions found via dlsym on demand.
      
      llvm-svn: 334538
      2aae2581
    • Zachary Turner's avatar
      Refactor ExecuteAndWait to take StringRefs. · 08426e1f
      Zachary Turner authored
      This simplifies some code which had StringRefs to begin with, and
      makes other code more complicated which had const char* to begin
      with.
      
      In the end, I think this makes for a more idiomatic and platform
      agnostic API.  Not all platforms launch process with null terminated
      c-string arrays for the environment pointer and argv, but the api
      was designed that way because it allowed easy pass-through for
      posix-based platforms.  There's a little additional overhead now
      since on posix based platforms we'll be takign StringRefs which
      were constructed from null terminated strings and then copying
      them to null terminate them again, but from a readability and
      usability standpoint of the API user, I think this API signature
      is strictly better.
      
      llvm-svn: 334518
      08426e1f
    • Guillaume Chatelet's avatar
      [llvm-exegesis] Move libpfm linking to LLVMExegesis. · 07828811
      Guillaume Chatelet authored
      Summary: This patch moves linking of libpfm from different places to a single one.
      
      Reviewers: courbet
      
      Subscribers: mgorny, tschuett, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D48075
      
      llvm-svn: 334499
      07828811
    • Wei Mi's avatar
      [NFC] Change sample profile format enum name SPF_Raw_Binary to SPF_Binary. · d9be2c7e
      Wei Mi authored
      Some out-of-tree targets depend on the enum name SPF_Binary. Keep the name
      can avoid unnecessary churn to those targets.
      
      llvm-svn: 334476
      d9be2c7e
    • Wei Mi's avatar
      [SampleFDO] Add a new compact binary format for sample profile. · a0c0857e
      Wei Mi authored
      Name table occupies a big chunk of size in current binary format sample profile.
      In order to reduce its size, the patch changes the sample writer/reader to
      save/restore MD5Hash of names in the name table. Sample annotation phase will
      also use MD5Hash of name to query samples accordingly.
      
      Experiment shows compact binary format can reduce the size of sample profile by
      2/3 compared with binary format generally.
      
      Differential Revision: https://reviews.llvm.org/D47955
      
      llvm-svn: 334447
      a0c0857e
  7. Jun 11, 2018
    • Pavel Labath's avatar
      Move VersionTuple from clang/Basic to llvm/Support · d8c6290b
      Pavel Labath authored
      Summary:
      This kind of functionality is useful to other project apart from clang.
      LLDB works with version numbers a lot, but it does not have a convenient
      abstraction for this. Moving this class to a lower level library allows
      it to be freely used within LLDB.
      
      Since this class is used in a lot of places in clang, and it used to be
      in the clang namespace, it seemed appropriate to add it to the list of
      adopted classes in LLVM.h to avoid prefixing all uses with "llvm::".
      
      Also, I didn't find any tests specific for this class, so I wrote a
      couple of quick ones for the more interesting bits of functionality.
      
      Reviewers: zturner, erik.pilkington
      
      Subscribers: mgorny, cfe-commits, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D47887
      
      llvm-svn: 334399
      d8c6290b
    • Mikhail Maltsev's avatar
      [Unittests] Change linker flags of dynamic library tests · fa5a7286
      Mikhail Maltsev authored
      A recent change https://reviews.llvm.org/D46898 which had no intended
      behavior change, actually modified the linker flags used when linking
      the dynamic libraries used by the DynamicLibraryTests unit test. This
      made the test fail in our testing environment which runs the tests
      from an NFS share. Prior to D46898 the two libraries used by the test
      were different (because the library name used to be embedded into the
      binary), and after the change they became bit-to-bit identical. This
      causes dlopen to return the same handle when these two libraries are
      loaded from an NFS share, and the test expects two different handles.
      
      This patch reverts the part of D46898 that is responsible for
      changing the linker flags.
      
      Differential Revision: https://reviews.llvm.org/D47469
      
      llvm-svn: 334394
      fa5a7286
  8. Jun 08, 2018
  9. Jun 07, 2018
  10. Jun 06, 2018
  11. Jun 05, 2018
    • Clement Courbet's avatar
      [llvm-exegesis] Add instructions to BenchmarkResult Key. · 53d35d2d
      Clement Courbet authored
      We want llvm-exegesis to explore instructions (effect of initial register values, effect of operand selection). To enable this a BenchmarkResult muststore all the relevant data in its key. This patch starts adding such data. Here we simply allow to store the generated instructions, following patches will add operands and initial values for registers.
      
      https://reviews.llvm.org/D47764
      
      Authored by: Guilluame Chatelet
      
      llvm-svn: 334008
      53d35d2d
  12. Jun 04, 2018
  13. Jun 03, 2018
    • Chris Bieneman's avatar
      Re-land: [MachO] Fixing ub in MachO BinaryFormat · 00d8c1ab
      Chris Bieneman authored
      This re-lands r333797 with a fix for big endian systems.
      
      Original commit message:
      
      This isn't encountered anywhere inside LLVM, so I wrote a test case to expose the issue and verify that it is fixed.
      
      The basic problem is that the macho_load_command union contains all load comamnd structs. Load command structs in 32-bit macho files can be 32-bit aligned instead of 64-bit aligned.
      
      There are some strange circumstances in which this can be exposed in a 64-bit macho if the load commands are invalid or if a 32-bit aligned load command is used. In the past we've worked around this type of problem with changes like r264232.
      
      llvm-svn: 333854
      00d8c1ab
    • Lang Hames's avatar
      [ORC] Use JITEvaluatedSymbol for IndirectStubsManager findStub and findPointer. · 353499fc
      Lang Hames authored
      Existing implementations of these methods do not require lazy materialization,
      and switching to JITEvaluatedSymbol allows us to remove error checking on the
      client side.
      
      llvm-svn: 333835
      353499fc
  14. Jun 02, 2018
    • Roman Tereshin's avatar
      [DebugInfo] Refactoring DIType::setFlags to DIType::cloneWithFlags, NFC · cf88ffaa
      Roman Tereshin authored
      and using the latter in DIBuilder::createArtificialType and
      DIBuilder::createObjectPointerType methods as well as introducing
      mirroring DISubprogram::cloneWithFlags and
      DIBuilder::createArtificialSubprogram methods.
      
      The primary goal here is to add createArtificialSubprogram to support
      a pass downstream while keeping the method consistent with the
      existing ones and making sure we don't encourage changing already
      created DI-nodes.
      
      Reviewed By: aprantl
      
      Differential Revision: https://reviews.llvm.org/D47615
      
      llvm-svn: 333806
      cf88ffaa
    • Chris Bieneman's avatar
      Revert "Re-land: [MachO] Fixing ub in MachO BinaryFormat" · 4b3701a7
      Chris Bieneman authored
      This reverts commit r333803.
      
      Still breaking on big endian. Will sort this out later.
      
      llvm-svn: 333805
      4b3701a7
    • Chris Bieneman's avatar
      Re-land: [MachO] Fixing ub in MachO BinaryFormat · 44e272d4
      Chris Bieneman authored
      This re-lands r333797 with a fix for big endian systems.
      
      Original commit message:
      
      This isn't encountered anywhere inside LLVM, so I wrote a test case to expose the issue and verify that it is fixed.
      
      The basic problem is that the macho_load_command union contains all load comamnd structs. Load command structs in 32-bit macho files can be 32-bit aligned instead of 64-bit aligned.
      
      There are some strange circumstances in which this can be exposed in a 64-bit macho if the load commands are invalid or if a 32-bit aligned load command is used. In the past we've worked around this type of problem with changes like r264232.
      
      llvm-svn: 333803
      44e272d4
Loading