Skip to content
  1. Nov 11, 2016
  2. Nov 09, 2016
  3. Nov 08, 2016
    • Zachary Turner's avatar
      [CodeView] Hook up CodeViewRecordIO to type serialization path. · 4efa0a42
      Zachary Turner authored
      Previously support had been added for using CodeViewRecordIO
      to read (deserialize) CodeView type records.  This patch adds
      support for writing those same records.  With this patch,
      reading and writing of CodeView type records finally uses a single
      codepath.
      
      Differential Revision: https://reviews.llvm.org/D26253
      
      llvm-svn: 286304
      4efa0a42
    • Teresa Johnson's avatar
      [ThinLTO] Prevent exporting of locals used/defined in module level asm · 6955feeb
      Teresa Johnson authored
      Summary:
      This patch uses the same approach added for inline asm in r285513 to
      similarly prevent promotion/renaming of locals used or defined in module
      level asm.
      
      All static global values defined in normal IR and used in module level asm
      should be included on either the llvm.used or llvm.compiler.used global.
      The former were already being flagged as NoRename in the summary, and
      I've simply added llvm.compiler.used values to this handling.
      
      Module level asm may also contain defs of values. We need to prevent
      export of any refs to local values defined in module level asm (e.g. a
      ref in normal IR), since that also requires renaming/promotion of the
      local. To do that, the summary index builder looks at all values in the
      module level asm string that are not marked Weak or Global, which is
      exactly the set of locals that are defined. A summary is created for
      each of these local defs and flagged as NoRename.
      
      This required adding handling to the BitcodeWriter to look at GV
      declarations to see if they have a summary (rather than skipping them
      all).
      
      Finally, added an assert to IRObjectFile::CollectAsmUndefinedRefs to
      ensure that an MCAsmParser is available, otherwise the module asm parse
      would silently fail. Initialized the asm parser in the opt tool for use
      in testing this fix.
      
      Fixes PR30610.
      
      Reviewers: mehdi_amini
      
      Subscribers: johanengelen, krasin, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D26146
      
      llvm-svn: 286297
      6955feeb
    • Peter Collingbourne's avatar
      IR, Bitcode: Change bitcode reader to no longer own its memory buffer. · e2dcf7c3
      Peter Collingbourne authored
      Unique ownership is just one possible ownership pattern for the memory buffer
      underlying the bitcode reader. In practice, as this patch shows, ownership can
      often reside at a higher level. With the upcoming change to allow multiple
      modules in a single bitcode file, it will no longer be appropriate for
      modules to generally have unique ownership of their memory buffer.
      
      The C API exposes the ownership relation via the LLVMGetBitcodeModuleInContext
      and LLVMGetBitcodeModuleInContext2 functions, so we still need some way for
      the module to own the memory buffer. This patch does so by adding an owned
      memory buffer field to Module, and using it in a few other places where it
      is convenient.
      
      Differential Revision: https://reviews.llvm.org/D26384
      
      llvm-svn: 286214
      e2dcf7c3
    • Peter Collingbourne's avatar
      Bitcode: Decouple block info block state from reader. · 77c89b69
      Peter Collingbourne authored
      As proposed on llvm-dev:
      http://lists.llvm.org/pipermail/llvm-dev/2016-October/106630.html
      
      Move block info block state to a new class, BitstreamBlockInfo.
      Clients may set the block info for a particular cursor with the
      BitstreamCursor::setBlockInfo() method.
      
      At this point BitstreamReader is not much more than a container for an
      ArrayRef<uint8_t>, so remove it and replace all uses with direct uses
      of memory buffers.
      
      Differential Revision: https://reviews.llvm.org/D26259
      
      llvm-svn: 286207
      77c89b69
  4. Nov 04, 2016
    • Chandler Carruth's avatar
      Remove dead code trying to handle when the amount of data read is · 33e58901
      Chandler Carruth authored
      insufficient to populate the expected struct. Prior to this we already
      bailed out of the routine when this situation comes up, so none of this
      code had any effect.
      
      If someone wants to bring it back to handle these cases, fixing the
      earlier conditions and adding the necessary test cases that actually
      exercises it, they can always revert this and go from there.
      
      Both of these were noticed by PVS-Studio due to the identical (dead)
      condition.
      
      llvm-svn: 285989
      33e58901
  5. Nov 03, 2016
  6. Nov 02, 2016
  7. Nov 01, 2016
    • Chris Bieneman's avatar
      Fix llvm-shlib cmake build · 3603e612
      Chris Bieneman authored
      Summary:
      This fixes a few things that used to work with a Makefile build, but were broken in cmake.
      
      1. Treat MINGW like a Linux system.
      2. The shlib should never contain other shared libraries.
      
      Patch By: Valentin Churavy
      
      Reviewers: axw, beanz
      
      Subscribers: modocache, beanz, mgorny
      
      Differential Revision: https://reviews.llvm.org/D25865
      
      llvm-svn: 285737
      3603e612
    • Alex Bradbury's avatar
      [RISCV] Add RISC-V ELF defines · 1524f62b
      Alex Bradbury authored
      Add the necessary definitions for RISC-V ELF files, including relocs. Also 
      make necessary trivial change to ELFYaml, llvm-objdump, and llvm-readobj in 
      order to work with RISC-V ELFs.
      
      Differential Revision: https://reviews.llvm.org/D23557
      
      llvm-svn: 285708
      1524f62b
  8. Oct 31, 2016
  9. Oct 30, 2016
  10. Oct 29, 2016
  11. Oct 28, 2016
Loading