Skip to content
  1. Nov 09, 2016
  2. Nov 08, 2016
    • Zachary Turner's avatar
      Fix some size_t / uint32_t ambiguity errors. · 44728f40
      Zachary Turner authored
      llvm-svn: 286305
      44728f40
    • 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
    • Adrian Prantl's avatar
      Emit the DW_AT_type for a C++ static member definition · 3502f208
      Adrian Prantl authored
      if it is more specific than the one in its DW_AT_specification.
      
      If a static member is an array, the translation unit containing the
      member definition may have a more specific type (including its length)
      than TUs only seeing the class declaration. This patch adds a
      DW_AT_type to the member's DW_TAG_variable in addition to the
      DW_AT_specification in these cases. The member type in the
      DW_AT_specification still shows the more generic type (without the
      length) to avoid defeating type uniquing.
      
      The DWARF standard discourages “duplicating” a DW_AT_type in a member
      variable definition but doesn’t explicitly forbid it.  Having the more
      specific type (with the array length) available is what allows the
      debugger to print the contents of a static array member variable.
      
      https://reviews.llvm.org/D26368
      rdar://problem/28706946
      
      llvm-svn: 286302
      3502f208
    • David L. Jones's avatar
      GlobalISel: make sure debugging variables are appropriately elided in release builds. · e09ae201
      David L. Jones authored
      Summary:
      There are two variables here that break. This change constrains both of them to
      debug builds (via DEBUG() or #ifndef NDEBUG).
      
      Reviewers: bkramer, t.p.northover
      
      Subscribers: mehdi_amini, vkalintiris
      
      Differential Revision: https://reviews.llvm.org/D26421
      
      llvm-svn: 286300
      e09ae201
    • Kostya Serebryany's avatar
      [libFuzzer] minor docs update · b506466a
      Kostya Serebryany authored
      llvm-svn: 286299
      b506466a
    • 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
    • Kuba Brecka's avatar
      [asan] Speed up compilation of large C++ stringmaps (tons of allocas) with ASan · a49dcbb7
      Kuba Brecka authored
      This addresses PR30746, <https://llvm.org/bugs/show_bug.cgi?id=30746>. The ASan pass iterates over entry-block instructions and checks each alloca whether it's in NonInstrumentedStaticAllocaVec, which is apparently slow. This patch gathers the instructions to move during visitAllocaInst.
      
      Differential Revision: https://reviews.llvm.org/D26380
      
      llvm-svn: 286296
      a49dcbb7
    • Andrew Kaylor's avatar
      [BasicAA] Teach BasicAA to handle the inaccessiblememonly and... · 9604f349
      Andrew Kaylor authored
      [BasicAA] Teach BasicAA to handle the inaccessiblememonly and inaccessiblemem_or_argmemonly attributes
      
      Differential Revision: https://reviews.llvm.org/D26382
      
      llvm-svn: 286294
      9604f349
    • Matthias Braun's avatar
      AArch64DeadRegisterDefinitionsPass: Fix Changed flag · c53cbbb1
      Matthias Braun authored
      Fix a bug in the calculation of the changed flag introduced in r285488.
      
      llvm-svn: 286293
      c53cbbb1
    • Adrian Prantl's avatar
      Use a default constructor. (NFC) · 72845a5f
      Adrian Prantl authored
      Thanks to David Blaikie for suggesting this.
      
      llvm-svn: 286292
      72845a5f
    • Sanjoy Das's avatar
      [TBAA] Drop support for "old style" scalar TBAA tags · 2582e690
      Sanjoy Das authored
      Summary:
      We've had support for auto upgrading old style scalar TBAA access
      metadata tags into the "new" struct path aware TBAA metadata for 3 years
      now.  The only way to actually generate old style TBAA was explicitly
      through the IRBuilder API.  I think this is a good time for dropping
      support for old style scalar TBAA.
      
      I'm not removing support for textual or bitcode upgrade -- if you have
      IR with the old style scalar TBAA tags that go through the AsmParser orf
      the bitcode parser before LLVM sees them, they will keep working as
      usual.
      
      Note:
      
        %val = load i32, i32* %ptr, !tbaa !N
        !N = < scalar tbaa node >
      
      is equivalent to
      
        %val = load i32, i32* %ptr, !tbaa !M
        !N = < scalar tbaa node >
        !M = !{!N, !N, 0}
      
      Reviewers: manmanren, chandlerc, sunfish
      
      Subscribers: mcrosier, llvm-commits, mgorny
      
      Differential Revision: https://reviews.llvm.org/D26229
      
      llvm-svn: 286291
      2582e690
    • Tim Northover's avatar
      GlobalISel: allow CodeGen to fallback on VReg type/class issues. · 6cddfc14
      Tim Northover authored
      After instruction selection we perform some checks on each VReg just before
      discarding the type information. These checks were assertions before, but that
      breaks the fallback path so this patch moves the logic into the main flow and
      reports a better error on failure.
      
      llvm-svn: 286289
      6cddfc14
    • Ulrich Weigand's avatar
      [SystemZ] Add missing FP extension instructions · 05effca2
      Ulrich Weigand authored
      This completes assembler / disassembler support for all BFP
      instructions provided by the floating-point extensions facility.
      The instructions added here are not currently used for codegen.
      
      llvm-svn: 286285
      05effca2
Loading