Skip to content
  1. May 28, 2015
    • Ekaterina Romanova's avatar
      Added doxygen comments for the intrinsics. · 2e814345
      Ekaterina Romanova authored
      llvm-svn: 238386
      2e814345
    • Siva Chandra's avatar
      [TestDataFormatterUnordered] Use patterns to match unordered_<multi>set elements · b100a34c
      Siva Chandra authored
      Summary: This fixes the test for i386 targets.
      
      Test Plan: dotest.py -C clang --arch i386 TestDataFormatterUnordered
      
      Reviewers: chying, chaoren, clayborg
      
      Reviewed By: clayborg
      
      Subscribers: lldb-commits
      
      Differential Revision: http://reviews.llvm.org/D10078
      
      llvm-svn: 238385
      b100a34c
    • Michael J. Spencer's avatar
      Fix unused variable warnings. · 42a73819
      Michael J. Spencer authored
      llvm-svn: 238384
      42a73819
    • Michael J. Spencer's avatar
      Add PHDR and FILL parsing. · cc0554d0
      Michael J. Spencer authored
      llvm-svn: 238383
      cc0554d0
    • Richard Trieu's avatar
      Update -Winvalid-noreturn to handle destructors better. · 95a192a3
      Richard Trieu authored
      When checking if a function is noreturn, consider a codepath to be noreturn if
      the path destroys a class and the class destructor, base class destructors, or
      member field destructors are marked noreturn.
      
      Differential Revision: http://reviews.llvm.org/D9454
      
      llvm-svn: 238382
      95a192a3
    • Jonathan Peyton's avatar
      Fix comment about balanced affinity · caf09fe0
      Jonathan Peyton authored
      A while back, Hal mentioned fixing a comment concerning balanced affinity.
      http://lists.cs.uiuc.edu/pipermail/openmp-dev/2014-December/000358.html
      I forgot about fixing it until now, but now is better than never.
      
      llvm-svn: 238378
      caf09fe0
    • Duncan P. N. Exon Smith's avatar
      AsmPrinter: Avoid a warning in NDEBUG, NFC · a68b880d
      Duncan P. N. Exon Smith authored
      Should fix the -Werror release build:
      http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/11113
      
      llvm-svn: 238375
      a68b880d
    • Duncan P. N. Exon Smith's avatar
      AsmPrinter: Return added DIE from DIE::addChild() · 6289892c
      Duncan P. N. Exon Smith authored
      Change `DIE::addChild()` to return a reference to the just-added node,
      and update consumers to use it directly.  An upcoming commit will
      abstract away (and eventually change) the underlying storage of
      `DIE::Children`.
      
      llvm-svn: 238372
      6289892c
    • Fiona Glaser's avatar
      RegisterPressure: fix debug prints in case of physical registers · ca706e54
      Fiona Glaser authored
      llvm-svn: 238371
      ca706e54
    • Marshall Clow's avatar
      Fix PR#23647 - make_shared<volatile bool> - second try · a7fb9a04
      Marshall Clow authored
      llvm-svn: 238370
      a7fb9a04
    • Duncan P. N. Exon Smith's avatar
      AsmPrinter: Stop exposing underlying DIEValue list, NFC · 88a8fc54
      Duncan P. N. Exon Smith authored
      Change the `DIE` API to hide the implementation of the list of
      `DIEValue`s.
      
      llvm-svn: 238369
      88a8fc54
    • Siva Chandra's avatar
      [TestNamespace] Fix an accidentally committed local change. · 825a7681
      Siva Chandra authored
      Test Plan: dotest.py -p TestNamespace
      
      Reviewers: sivachandra
      
      Subscribers: lldb-commits
      
      Differential Revision: http://reviews.llvm.org/D10076
      
      llvm-svn: 238368
      825a7681
    • Evgeniy Stepanov's avatar
      [asan] Fix build dependency issues with ASan version list file. · 1f1d9f27
      Evgeniy Stepanov authored
      CMake pre-3.1 has a bug where a shared library depending on a custom_target
      does not really depend on it.
      
      This commit implements a hilariously ugly workaround for this problem, see
      code comments for more details.
      
      llvm-svn: 238367
      1f1d9f27
    • Duncan P. N. Exon Smith's avatar
      AsmPrinter: Remove DIEHash::AttrEntry, NFC · f3a6a67f
      Duncan P. N. Exon Smith authored
      Remove "the most boring struct ever" (thanks to review by Eric).
      
      llvm-svn: 238366
      f3a6a67f
    • Greg Clayton's avatar
      Allow expresions to have unique expression prefixes: · 4e1042e1
      Greg Clayton authored
      expr_options = lldb.SBExpressionOptions()
      expr_options.SetPrefix('''
      struct Foo {
         int a;
         int b;
         int c;
      }
      '''
      expr_result = frame.EvaluateExpression ("Foo foo = { 1, 2, 3}; foo", expr_options)
      
      This fixed a current issue with ptr_refs, cstr_refs and malloc_info so that they can work. If expressions define their own types and then return expression results that use those types, those types get copied into the target's AST context so they persist and the expression results can be still printed and used in future expressions. Code was added to the expression parser to copy the context in which types are defined if they are used as the expression results. So in the case of types defined by expressions, they get defined in a lldb_expr function and that function and _all_ of its statements get copied. Many types of statements are not supported in this copy (array subscript, lambdas, etc) so this causes expressions to fail as they can't copy the result types. To work around this issue I have added code that allows expressions to specify an expression specific prefix. Then when you evaluate the expression you can pass the "expr_options" and have types that can be correctly copied out into the target. I added this as a way to work around an issue, but I also think it is nice to be allowed to specify an expression prefix that can be reused by many expressions, so this feature is very useful.
      
      <rdar://problem/21130675>
      
      llvm-svn: 238365
      4e1042e1
    • Duncan P. N. Exon Smith's avatar
      AsmPrinter: Store abbreviation data directly in DIE and DIEValue · 815a6eb5
      Duncan P. N. Exon Smith authored
      Stop storing a `DIEAbbrev` in `DIE`, since the data fits neatly inside
      the `DIEValue` list.  Besides being a cleaner data structure (avoiding
      the parallel arrays), this gives us more freedom to rearrange the
      `DIEValue` list.
      
      This fixes the temporary memory regression from 845 MB up to 879 MB, and
      drops it further to 829 MB for a net memory decrease of around 1.9%
      (incremental decrease around 5.7%).
      
      (I'm looking at `llc` memory usage on `verify-uselistorder.lto.opt.bc`;
      see r236629 for details.)
      
      llvm-svn: 238364
      815a6eb5
    • Siva Chandra's avatar
      [TestBase.runCmd] Better error message when runCmd fails. · 3154aa23
      Siva Chandra authored
      Summary:
      Before:
          AssertionError: False is not True : Process is launched successfully
      
      After:
          AssertionError: False is not True : Command 'run a.out' failed.
          >>> error: invalid target, create a target using the 'target create' command
          >>> Process could not be launched successfully
      
      Reviewers: clayborg
      
      Reviewed By: clayborg
      
      Subscribers: lldb-commits, vharron
      
      Differential Revision: http://reviews.llvm.org/D9948
      
      llvm-svn: 238363
      3154aa23
    • Duncan P. N. Exon Smith's avatar
      Reapply "AsmPrinter: Change DIEValue to be stored by value" · e7e1d0c7
      Duncan P. N. Exon Smith authored
      This reverts commit r238350, effectively reapplying r238349 after fixing
      (all?) the problems, all somehow related to how I was using
      `AlignedArrayCharUnion<>` inside `DIEValue`:
      
        - MSVC can only handle `sizeof()` on types, not values.  Change the
          assert.
        - GCC doesn't know the `is_trivially_copyable` type trait.  Instead of
          asserting it, add destructors.
        - Call placement new even when constructing POD (i.e., the pointers).
        - Instead of copying the char buffer, copy the casted classes.
      
      I've left in a couple of `static_assert`s that I think both MSVC and GCC
      know how to handle.  If the bots disagree with me, I'll remove them.
      
        - Check that the constructed type is either standard layout or a
          pointer.  This protects against a programming error: we really want
          the "small" `DIEValue`s to be small and simple, so don't
          accidentally change them not to be.
        - Similarly, check that the size of the buffer is no bigger than a
          `uint64_t` or a pointer.  (I thought checking against
          `sizeof(uint64_t)` would be good enough, but Chandler suggested that
          pointers might sometimes be bigger than that in the context of
          sanitizers.)
      
      I've also committed r238359 in the meantime, which introduces a
      DIEValue.def to simplify dispatching between the various types (thanks
      to a review comment by David Blaikie).  Without that, this commit would
      be almost unintelligible.
      
      Here's the original commit message:
      --
      Change `DIEValue` to be stored/passed/etc. by value, instead of
      reference.  It's now a discriminated union, with a `Val` field storing
      the actual type.  The classes that used to inherit from `DIEValue` no
      longer do.  There are two categories of these:
      
        - Small values fit in a single pointer and are stored by value.
        - Large values require auxiliary storage, and are stored by reference.
      
      The only non-mechanical change is to tools/dsymutil/DwarfLinker.cpp.  It
      was relying on `DIEInteger`s being passed around by reference, so I
      replaced that assumption with a `PatchLocation` type that stores a safe
      reference to where the `DIEInteger` lives instead.
      
      This commit causes a temporary regression in memory usage, since I've
      left merging `DIEAbbrevData` into `DIEValue` for a follow-up commit.  I
      measured an increase from 845 MB to 879 MB, around 3.9%.  The follow-up
      drops it lower than the starting point, and I've only recently brought
      the memory this low anyway, so I'm committing these changes separately
      to keep them incremental.  (I also considered swapping the commits, but
      the other one first would cause a lot more code churn.)
      
      (I'm looking at `llc` memory usage on `verify-uselistorder.lto.opt.bc`;
      see r236629 for details.)
      --
      
      llvm-svn: 238362
      e7e1d0c7
    • Siva Chandra's avatar
      [TestDataFormatterUnordered] Fix a few typos in the test. · 27ab2b31
      Siva Chandra authored
      Summary: The typos were exposed by http://reviews.llvm.org/D9948.
      
      Test Plan: dotest.py -p TestDataFormatterUnordered
      
      Reviewers: vharron, clayborg
      
      Reviewed By: clayborg
      
      Subscribers: lldb-commits
      
      Differential Revision: http://reviews.llvm.org/D10071
      
      llvm-svn: 238361
      27ab2b31
  2. May 27, 2015
    • Diego Novillo's avatar
      Set function entry counts with -fprofile-instr-use. · aa8b1cb8
      Diego Novillo authored
      This generates function entry counts from instrumentation profiles.
      
      llvm-svn: 238360
      aa8b1cb8
    • Duncan P. N. Exon Smith's avatar
      AsmPrinter: Introduce DIEValue.def, NFC · ff18927c
      Duncan P. N. Exon Smith authored
      Use a .def macro file to iterate through the various subclasses of
      `DIEValue`.
      
      llvm-svn: 238359
      ff18927c
    • Rafael Espindola's avatar
      Rename and move getCurrentSectionData. · 983bec6b
      Rafael Espindola authored
      I think this concludes the merge of MCSectionData and MCSection.
      
      llvm-svn: 238358
      983bec6b
    • Rafael Espindola's avatar
      There is only one current section. · 2f9bdd8c
      Rafael Espindola authored
      Both MCStreamer and MCObjectStreamer were maintaining a current section
      variable and they were slightly out of sync. I don't think this was observable,
      but was inefficient and error prone.
      
      Changing this requires a few cascading changes:
      
      * SwitchSection has to call ChangeSection earlier for ChangeSection to see
        the old section.
      * With that change, ChangeSection cannot call EmitLabel, since during
        ChangeSection we are still in the old section.
      * When the object streamer requires a begin label, just reused the existing
        generic support for begin labels instead of calling EmitLabel directly.
      
      llvm-svn: 238357
      2f9bdd8c
    • Lang Hames's avatar
      [RuntimeDyld] Fix MachO i386 SECTDIFF relocation to support non-zero addends. · 8b34f824
      Lang Hames authored
      Previously, relocations of the form 'A - B + C' would fail on i386 when C was
      non-zero.
      
      llvm-svn: 238356
      8b34f824
    • Marshall Clow's avatar
      Revert 238354 while I figure out what broke in weak_ptr · 188b98b5
      Marshall Clow authored
      llvm-svn: 238355
      188b98b5
    • Marshall Clow's avatar
      Fix PR#23647 - make_shared<volatile bool> · 263a0f76
      Marshall Clow authored
      llvm-svn: 238354
      263a0f76
    • Renato Golin's avatar
      ARMTargetParser: Make BSD Thumb/BE armv6 work · 66b682ab
      Renato Golin authored
      Simple change to make arch like "thumbv6" and "armbev6" to return the
      correct CPU for FreeBSD and NetBSD.
      
      llvm-svn: 238353
      66b682ab
    • Alex Lorenz's avatar
      MIR: Remove 2 empty non-reverted directories form SVN. · 54da91e3
      Alex Lorenz authored
      The revert commit r238007 didn't delete the old 'MIR' directories
      in 'include/llvm/CodeGen' and 'lib/CodeGen'. Since the resubmitted
      commit r238341 uses the 'MIRParser' directories instead of 'MIR'
      this commit deletes the unused directories.
      
      llvm-svn: 238352
      54da91e3
    • Diego Novillo's avatar
      Final fix for PR 23499 and IR test case. · df4837ba
      Diego Novillo authored
      This fixes a bit I forgot in r238335. In addition to the data record and
      the counter, we can also move the name of the counter to the comdat for
      the associated function.
      
      I'm also adding an IR test case to check that these three elements are
      placed in the proper comdat.
      
      llvm-svn: 238351
      df4837ba
    • Duncan P. N. Exon Smith's avatar
      Revert "AsmPrinter: Change DIEValue to be stored by value" · 583bc038
      Duncan P. N. Exon Smith authored
      This reverts commit r238349, since it caused some errors on bots:
        - std::is_trivially_copyable isn't available until GCC 5.0.
        - It was complaining about strict aliasing with my use of
          ArrayCharUnion.
      
      llvm-svn: 238350
      583bc038
    • Duncan P. N. Exon Smith's avatar
      AsmPrinter: Change DIEValue to be stored by value · 7735b48a
      Duncan P. N. Exon Smith authored
      Change `DIEValue` to be stored/passed/etc. by value, instead of
      reference.  It's now a discriminated union, with a `Val` field storing
      the actual type.  The classes that used to inherit from `DIEValue` no
      longer do.  There are two categories of these:
      
        - Small values fit in a single pointer and are stored by value.
        - Large values require auxiliary storage, and are stored by reference.
      
      The only non-mechanical change is to tools/dsymutil/DwarfLinker.cpp.  It
      was relying on `DIEInteger`s being passed around by reference, so I
      replaced that assumption with a `PatchLocation` type that stores a safe
      reference to where the `DIEInteger` lives instead.
      
      This commit causes a temporary regression in memory usage, since I've
      left merging `DIEAbbrevData` into `DIEValue` for a follow-up commit.  I
      measured an increase from 845 MB to 879 MB, around 3.9%.  The follow-up
      drops it lower than the starting point, and I've only recently brought
      the memory this low anyway, so I'm committing these changes separately
      to keep them incremental.  (I also considered swapping the commits, but
      the other one first would cause a lot more code churn.)
      
      (I'm looking at `llc` memory usage on `verify-uselistorder.lto.opt.bc`;
      see r236629 for details.)
      
      llvm-svn: 238349
      7735b48a
    • Ed Maste's avatar
      XTIMEOUT another test timing out on the FreeBSD buildbot · bfd05631
      Ed Maste authored
      llvm-svn: 238348
      bfd05631
    • Jonathan Peyton's avatar
      Allow gcc 5.x to compile library. · 6bfc9190
      Jonathan Peyton authored
      Change check of __GNUC__ macro from:
      __GNUC__ == 4 to __GNUC__ >= 4
      
      llvm-svn: 238347
      6bfc9190
    • Duncan P. N. Exon Smith's avatar
      AsmPrinter: Reorganize DIE.h, NFC · fc75c06d
      Duncan P. N. Exon Smith authored
      An upcoming commit will switch to storing `DIEValue`s by value in a
      `DIE`, so move the `DIE` down below all the subclasses it can.  Two
      subclasses inherit from `DIE`, so drop those down below `DIE`.
      
      `DIEValue` will become a discriminated union, which contains an instance
      of one of the classes that are currently subclasses.  "Big" ones, such
      as those that inherit from `DIE`, will continue to be stored by pointer.
      This commit does as much of the code motion ahead of time as possible.
      
      llvm-svn: 238346
      fc75c06d
    • John Thompson's avatar
      It appears these exports are needed, as wmmintrin.h includes them. · b7892ffc
      John Thompson authored
      llvm-svn: 238345
      b7892ffc
    • Renato Golin's avatar
      ARMTargetParser: Normalising build attributes · f7c0d5f2
      Renato Golin authored
      Now that most of the methods in Clang and LLVM that were parsing arch/cpu/fpu
      strings are using ARMTargetParser, it's time to make it a bit more conforming
      with what the ABI says.
      
      This commit adds some clarification on what build attributes are accepted and
      which are "non-standard". It also makes clear that the "defaultCPU" and
      "defaultArch" methods were really just build attribute getters.
      
      It also diverges from GCC's behaviour to say that armv2/armv3 are really an
      ARMv4 in the build attributes, when the ABI has a clear state for that: Pre-v4.
      
      llvm-svn: 238344
      f7c0d5f2
    • Yaron Keren's avatar
      Avoid creating and destroying a std::string on every iteration. · 90811cb0
      Yaron Keren authored
      llvm-svn: 238343
      90811cb0
    • Alex Lorenz's avatar
      Resubmit r237954 (MIR Serialization: print and parse LLVM IR using MIR format). · 2bdb4e10
      Alex Lorenz authored
      This commit a 3rd attempt at comitting the initial MIR serialization patch.
      The first commit (r237708) was reverted in 237730. Then the second commit
      (r237954) was reverted in r238007, as the MIR library under CodeGen caused
      a circular dependency where the CodeGen library depended on MIR and MIR
      library depended on CodeGen.
      
      This commit has fixed the dependencies between CodeGen and MIR by
      reorganizing the MIR serialization code - the code that prints out
      MIR has been moved to CodeGen, and the MIR library has been renamed
      to MIRParser. Now the CodeGen library doesn't depend on the
      MIRParser library, thus the circular dependency no longer exists.
      
      --Original Commit Message--
      
      MIR Serialization: print and parse LLVM IR using MIR format.
      
      This commit is the initial commit for the MIR serialization project.
      It creates a new library under CodeGen called 'MIR'. This new
      library adds a new machine function pass that prints out the LLVM IR
      using the MIR format. This pass is then added as a last pass when a
      'stop-after' option is used in llc. The new library adds the initial
      functionality for parsing of MIR files as well. This commit also
      extends the llc tool so that it can recognize and parse MIR input files.
      
      Reviewers: Duncan P. N. Exon Smith, Matthias Braun, Philip Reames
      
      Differential Revision: http://reviews.llvm.org/D9616 
      
      llvm-svn: 238341
      2bdb4e10
    • Marshall Clow's avatar
    • Diego Novillo's avatar
      Test case for PR 23499. · c88d5b6a
      Diego Novillo authored
      llvm-svn: 238338
      c88d5b6a
Loading