Skip to content
  1. Jun 17, 2015
    • Toma Tabacu's avatar
      [mips] [IAS] Add test for SW with relative label operands. NFC. · 6a1e0eb2
      Toma Tabacu authored
      Reviewers: dsanders
      
      Reviewed By: dsanders
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D10497
      
      llvm-svn: 239899
      6a1e0eb2
    • Toma Tabacu's avatar
      [mips] [IAS] Fix LW with relative label operands. · 07c97b3b
      Toma Tabacu authored
      Summary:
      Previously, MCSymbolRefExpr::create() was called with a StringRef of the symbol
      name, which it would then search for in the Symbols StringMap (from MCContext).
      
      However, relative labels (which are temporary symbols) are apparently not stored
      in the Symbols StringMap, so we end up creating a new {$,.L}tmp symbol
      ({$,.L}tmp00, {$,.L}tmp10 etc.) each time we create an MCSymbolRefExpr by
      passing in the symbol name as a StringRef.
      
      Fortunately, there is a version of MCSymbolRefExpr::create() which takes an
      MCSymbol* and we already have an MCSymbol* at that point, so we can just pass
      that in instead of the StringRef.
      
      I also removed the local StringRef calls to MCSymbolRefExpr::create() from
      expandMemInst(), as those cases can be handled by evaluateRelocExpr() anyway.
      
      Reviewers: dsanders
      
      Reviewed By: dsanders
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D9938
      
      llvm-svn: 239897
      07c97b3b
    • Igor Breger's avatar
      AVX-512: cvtusi2ss/d intrinsics. · dfcc3d31
      Igor Breger authored
      Change builtin function name and signature ( add third parameter - rounding mode ).
      Added tests for intrinsics.
      
      Differential Revision: http://reviews.llvm.org/D10473
      
      llvm-svn: 239888
      dfcc3d31
    • Chandler Carruth's avatar
      [PM/AA] Suffix lots of member variables that directly use enumeration · d1a130c2
      Chandler Carruth authored
      names for counts with the word 'Count' to make them less ambiguous.
      
      This will be an actual error if we use unscoped enums for any of these,
      and generally this seems much clearer to read.
      
      Also, use clang-format to normalize the formatting of this code which
      seems to have been needlessly odd.
      
      No functionality changed here.
      
      llvm-svn: 239887
      d1a130c2
    • Chandler Carruth's avatar
      [PM/AA] Remove the UnknownSize static member from AliasAnalysis. · ecbd1682
      Chandler Carruth authored
      This is now living in MemoryLocation, which is what it pertains to. It
      is also an enum there rather than a static data member which is left
      never defined.
      
      llvm-svn: 239886
      ecbd1682
    • Chandler Carruth's avatar
      [PM/AA] Remove the Location typedef from the AliasAnalysis class now · ac80dc75
      Chandler Carruth authored
      that it is its own entity in the form of MemoryLocation, and update all
      the callers.
      
      This is an entirely mechanical change. References to "Location" within
      AA subclases become "MemoryLocation", and elsewhere
      "AliasAnalysis::Location" becomes "MemoryLocation". Hope that helps
      out-of-tree folks update.
      
      llvm-svn: 239885
      ac80dc75
    • Chandler Carruth's avatar
      [PM/AA] Split the location computation out of getArgLocation so the · c41404a0
      Chandler Carruth authored
      virtual interface on AliasAnalysis only deals with ModRef information.
      
      This interface was both computing memory locations by using TLI and
      other tricks to estimate the size of memory referenced by an operand,
      and computing ModRef information through similar investigations. This
      change narrows the scope of the virtual interface on AliasAnalysis
      slightly.
      
      Note that all of this code could live in BasicAA, and be done with
      a single investigation of the argument, if it weren't for the fact that
      the generic code in AliasAnalysis::getModRefBehavior for a callsite
      calls into the virtual aspect of (now) getArgModRefInfo. But this
      patch's arrangement seems a not terrible way to go for now.
      
      The other interesting wrinkle is how we could reasonably extend LLVM
      with support for custom memory location sizes and mod/ref behavior for
      library routines. After discussions with Hal on the review, the
      conclusion is that this would be best done by fleshing out the much
      desired support for extensions to TLI, and support these types of
      queries in that interface where we would likely be doing other library
      API recognition and analysis.
      
      Differential Revision: http://reviews.llvm.org/D10259
      
      llvm-svn: 239884
      c41404a0
    • Matthias Braun's avatar
      Revert "AArch64: Use CMP;CCMP sequences for and/or/setcc trees." · 8321006d
      Matthias Braun authored
      The patch triggers a miscompile on SPEC 2006 403.gcc with the (ref)
      200.i and scilab.i inputs. I opened PR23866 to track analysis of this.
      
      This reverts commit r238793.
      
      llvm-svn: 239880
      8321006d
    • Rafael Espindola's avatar
      Try to fix the MSVC build. · f229a034
      Rafael Espindola authored
      llvm-svn: 239877
      f229a034
    • Colin LeMahieu's avatar
      [Hexagon] Adding MC ELF streamer and updating addend relocation test which... · be99a02b
      Colin LeMahieu authored
      [Hexagon] Adding MC ELF streamer and updating addend relocation test which shows correct ELF symbol.
      
      llvm-svn: 239876
      be99a02b
    • James Y Knight's avatar
      Fix alignment issues in LLVM. · 8096d34e
      James Y Knight authored
      Adds static_asserts to ensure alignment of concatenated objects is
      correct, and fixes them where they are not.
      
      Also changes the definition of AlignOf to use constexpr, except on
      MSVC, to avoid enum comparison warnings from GCC.
      
      (There's not too much of this in llvm itself, most of the fun is in
      clang).
      
      This seems to make LLVM actually work without Bus Error on 32bit
      sparc.
      
      Differential Revision: http://reviews.llvm.org/D10271
      
      llvm-svn: 239872
      8096d34e
    • Rafael Espindola's avatar
      Handle forward referenced function when streaming bitcode. · 456baad2
      Rafael Espindola authored
      Without this the included unit test would assert in
      
        assert(BasicBlockFwdRefs.empty() && "Unresolved blockaddress fwd references");
      
      llvm-svn: 239871
      456baad2
    • Rafael Espindola's avatar
      Handle MaterializeAll in getLazyBitcodeModuleImpl. NFC. · 728074b7
      Rafael Espindola authored
      This just handles both cases in the same place.
      
      Extracted from a patch by Karl Schimpf.
      
      llvm-svn: 239870
      728074b7
    • Rafael Espindola's avatar
      Use std::unique_ptr to manage the DataStreamer in bitcode parsing. · 1aabf982
      Rafael Espindola authored
      We were already deleting it, this just makes it explicit.
      
      llvm-svn: 239867
      1aabf982
    • Rafael Espindola's avatar
      Rename and improve emitSectionOffset. · 857546e7
      Rafael Espindola authored
      Different object formats represent references from dwarf in different ways.
      
      ELF uses a relocation to the referenced point (except for .dwo) and
      COFF/MachO use the offset of the referenced point inside its section.
      
      This patch renames emitSectionOffset because
      
      * It doesn't produce an offset on ELF.
      * It changes behavior depending on how DWARF is represented, so adding
      dwarf to its name is probably a good thing.
      
      The patch also adds an option to force the use of offsets.That avoids
      funny looking code like
      
        if (!UseOffsets)
          Asm->emitSectionOffset....
      
      It was correct, but read as if the ! was inverted.
      
      llvm-svn: 239866
      857546e7
    • Tyler Nowicki's avatar
      Refactor RecurrenceInstDesc · 27b2c39e
      Tyler Nowicki authored
      Moved RecurrenceInstDesc into RecurrenceDescriptor to simplify the namespaces.
      
      llvm-svn: 239862
      27b2c39e
    • Sanjay Patel's avatar
      Add some tests based on PR21711 · 0848a8be
      Sanjay Patel authored
      These were originally added in r227242,
      but that patch was reverted because it
      caused a failure on AArch64.
      
      llvm-svn: 239860
      0848a8be
    • Rafael Espindola's avatar
      dcd1dca2
  2. Jun 16, 2015
Loading