Skip to content
  1. Jan 18, 2019
  2. Jan 17, 2019
    • Wouter van Oortmerssen's avatar
      [WebAssembly] Fixed objdump not parsing function headers. · f3b762a0
      Wouter van Oortmerssen authored
      Summary:
      objdump was interpreting the function header containing the locals
      declaration as instructions. To parse these without injecting target
      specific code in objdump, MCDisassembler::onSymbolStart was added to
      be implemented by the WebAssembly implemention.
      
      WasmObjectFile now returns a code offset for the "address" of a symbol,
      rather than the index. This is also more in-line with what other
      targets do.
      
      Also ensured that the AsmParser correctly puts each function
      in its own segment to enable this test case.
      
      Reviewers: sbc100, dschuff
      
      Subscribers: jgravelle-google, aheejin, sunfish, rupprecht, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D56684
      
      llvm-svn: 351460
      f3b762a0
    • Rui Ueyama's avatar
      Add a missing dependency to fix build. · 4fce28ca
      Rui Ueyama authored
      llvm-svn: 351458
      4fce28ca
    • Teresa Johnson's avatar
      Revert "[ThinLTO] Add summary entries for index-based WPD" · 8d86f1ba
      Teresa Johnson authored
      Mistaken commit of something still under review!
      
      This reverts commit r351453.
      
      llvm-svn: 351455
      8d86f1ba
    • Teresa Johnson's avatar
      [ThinLTO] Add summary entries for index-based WPD · 4fcf3b16
      Teresa Johnson authored
      Summary:
      If LTOUnit splitting is disabled, the module summary analysis computes
      the summary information necessary to perform single implementation
      devirtualization during the thin link with the index and no IR. The
      information collected from the regular LTO IR in the current hybrid WPD
      algorithm is summarized, including:
      1) For vtable definitions, record the function pointers and their offset
      within the vtable initializer (subsumes the information collected from
      IR by tryFindVirtualCallTargets).
      2) A record for each type metadata summarizing the vtable definitions
      decorated with that metadata (subsumes the TypeIdentiferMap collected
      from IR).
      
      Also added are the necessary bitcode records, and the corresponding
      assembly support.
      
      The index-based WPD will be sent as a follow-on.
      
      Depends on D53890.
      
      Reviewers: pcc
      
      Subscribers: mehdi_amini, Prazek, inglorion, eraman, steven_wu, dexonsmith, arphaman, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D54815
      
      llvm-svn: 351453
      4fcf3b16
    • James Henderson's avatar
      [llvm-readobj][ELF]Add demangling support · e50d9cb3
      James Henderson authored
      This change adds demangling support to the ELF side of llvm-readobj,
      under the switch --demangle/-C.
      
      The following places are demangled: symbol table dumps (static and
      dynamic), relocation dumps (static and dynamic), addrsig dumps, call
      graph profile dumps, and group section signature symbols.
      
      Although GNU readelf doesn't support demangling, it is still a useful
      feature to have, and brings it on a par with llvm-objdump's
      capabilities.
      
      This fixes https://bugs.llvm.org/show_bug.cgi?id=40054.
      
      Reviewed by: grimar, rupprecht
      
      Differential Revision: https://reviews.llvm.org/D56791
      
      llvm-svn: 351450
      e50d9cb3
    • James Henderson's avatar
      Move demangling function from llvm-objdump to Demangle library · ce5b5b48
      James Henderson authored
      This allows it to be used in an upcoming llvm-readobj change.
      
      A small change in internal behaviour of the function is to always call
      the microsoftDemangle function if the string does not have an itanium
      encoding prefix, rather than only if it starts with '?'. This is
      harmless because the microsoftDemangle function does the same check
      already.
      
      Reviewed by: grimar, erik.pilkington
      
      Differential Revision: https://reviews.llvm.org/D56721
      
      llvm-svn: 351448
      ce5b5b48
    • George Rimar's avatar
      [llvm-objdump] - Fix comment. NFC. · ce5cafe5
      George Rimar authored
      Forgot to address this one.
      
      llvm-svn: 351418
      ce5cafe5
    • George Rimar's avatar
      [llvm-objdump] - Simplify the getRelocationValueString. NFCI. · 6ce6bfa4
      George Rimar authored
      This refactors the getRelocationValueString method.
      It is a bit overcomplicated and it is possible to reduce it without
      losing the functionality it seems.
      
      Differential revision: https://reviews.llvm.org/D56778
      
      llvm-svn: 351417
      6ce6bfa4
    • Thomas Lively's avatar
      [WebAssembly] Parse llvm.ident into producers section · cbda16eb
      Thomas Lively authored
      llvm-svn: 351413
      cbda16eb
    • Thomas Lively's avatar
      Revert "[WebAssembly] Parse llvm.ident into producers section" · 3cfcc94c
      Thomas Lively authored
      This reverts commit eccdbba3a02a33e13b5262e92200a33e2ead873d.
      
      llvm-svn: 351410
      3cfcc94c
    • Thomas Lively's avatar
      [WebAssembly] Parse llvm.ident into producers section · a56c23c5
      Thomas Lively authored
      Summary:
      Everything before the word "version" is the tool, and everything after
      the word "version" is the version.
      
      Reviewers: aheejin, dschuff
      
      Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D56742
      
      llvm-svn: 351399
      a56c23c5
    • Wei Mi's avatar
      [PGO] Make pgo related options in opt more consistent. · c876e3d4
      Wei Mi authored
      Currently we have pgo options defined in PassManagerBuilder.cpp only for
      instrument pgo, but not for sample pgo. We also have pgo options defined
      in NewPMDriver.cpp in opt only for new pass manager and for all kinds of
      pgo. They have some inconsistency.
      
      To make the options more consistent and make tests writing easier, the
      patch let old pass manager to share the same pgo options with new pass
      manager in opt, and removes the options in PassManagerBuilder.cpp.
      
      Differential Revision: https://reviews.llvm.org/D56749
      
      llvm-svn: 351392
      c876e3d4
  3. Jan 16, 2019
  4. Jan 15, 2019
    • Jordan Rupprecht's avatar
      [llvm-ar] Resubmit recursive thin archive test with fix for full path names... · 904ce984
      Jordan Rupprecht authored
      [llvm-ar] Resubmit recursive thin archive test with fix for full path names and better error messages
      
      llvm-svn: 351256
      904ce984
    • Michael Trent's avatar
      llvm-objdump -m -D should disassemble all text segments · 7e660211
      Michael Trent authored
      Summary:
      When running llvm-objdump with the -macho option objdump will by default
      disassemble only the __TEXT,__text section (or __TEXT_EXEC,__text when
      disassembling MH_KEXT_BUNDLE files). The -disassemble-all option is
      treated no diferently than -disassemble.
      
      This change upates llvm-objdump's MachO parsing code to disassemble all
      __text sections found in a file when -disassemble-all is specified. This
      is useful for disassembling files with more than one __text section, or
      when disassembling files whose __text section is not present in __TEXT.
      
      I added a lit test case that verifies "llvm-objdump -m -d" and 
      "llvm-objdump -m -D" produce the expected results on a reference binary. 
      I also updated the CommandGuide documentation for llvm-objdump.rst and
      verified it renders correctly as man and html.
      
      rdar://42899338
      
      Reviewers: ab, pete, lhames
      
      Reviewed By: lhames
      
      Subscribers: rupprecht, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D56649
      
      llvm-svn: 351238
      7e660211
    • Jordan Rupprecht's avatar
      [llvm-readelf] Allow single-letter flags to be merged. · 58aac950
      Jordan Rupprecht authored
      Summary:
      This patch adds support for merged arguments (e.g. -SW == -S -W) for llvm-readelf.
      
      No changes are intended for llvm-readobj. There are a few short flags (-sd, -sr, -st, -dt) that would conflict with grouped single letter flags, and having only some grouped flags might be confusing. So, allow merged flags for readelf compatibility, but force separate args for llvm-readobj. From what I can tell, these two-letter flags are only used with llvm-readobj, not llvm-readelf.
      
      This fixes PR40064.
      
      Reviewers: jhenderson, kristina, echristo, phosek
      
      Reviewed By: jhenderson
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D56629
      
      llvm-svn: 351205
      58aac950
    • Jordan Rupprecht's avatar
      [llvm-objcopy] Use SHT_NOTE for added note sections. · 17dd4a2c
      Jordan Rupprecht authored
      Summary:
      Fix llvm-objcopy to add .note sections as SHT_NOTEs. GNU objcopy overrides section flags for special sections. For `.note` sections (with the exception of `.note.GNU-stack`), SHT_NOTE is used.
      
      Many other sections are special cased by libbfd, but `.note` is the only special section I can seem to find being used with objcopy --add-section.
      
      See `.note` in context of the full list of special sections here: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=bfd/elf.c;h=eb3e1828e9c651678b95a1dcbc3b124783d1d2be;hb=HEAD#l2675
      
      Reviewers: jhenderson, alexshap, jakehehrlich, espindola
      
      Reviewed By: jhenderson
      
      Subscribers: emaste, arichardson, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D56570
      
      llvm-svn: 351204
      17dd4a2c
    • George Rimar's avatar
      [llvm-obdump] - Fix the help lines for -stop-address and -z. · 3687c3e9
      George Rimar authored
      It was broken by me by mistake in r350823 during addressing the
      review comment before committing (changed not the right text line).
      
      llvm-svn: 351192
      3687c3e9
    • Martin Storsjö's avatar
      [llvm-objcopy] [COFF] Implement --strip-all[-gnu] for symbols · f51f5ea6
      Martin Storsjö authored
      Differential Revision: https://reviews.llvm.org/D56481
      
      llvm-svn: 351174
      f51f5ea6
    • George Rimar's avatar
      [llvm-objdump] - Cleanup the code. NFCI. · 73a27235
      George Rimar authored
      This is a cosmetic cleanup for the llvm-objdump code.
      
      This patch:
      * Renames things to match the official LLVM code style (lower case -> upper case).
      * Removes few obviously excessive variables.
      * Moves a few lines closer to the place of use, reorders the code a bit to simplify it,
      to avoid doing excessive returns and to avoid using 'else` after returns.
      
      I focused only on a llvm-objdump.h/llvm-objdump.cpp files. Few changes in the
      MachODump.cpp and COFFDump.cpp are a result of llvm-objdump.h modification.
      
      Differential revision: https://reviews.llvm.org/D56637
      
      llvm-svn: 351171
      73a27235
  5. Jan 14, 2019
  6. Jan 13, 2019
  7. Jan 12, 2019
Loading