Skip to content
  1. Jan 15, 2014
  2. Jan 14, 2014
    • Tim Northover's avatar
      ARM: correctly determine final tBX_LR in Thumb1 functions · 463a5f24
      Tim Northover authored
      The changes caused by folding an sp-adjustment into a "pop" previously
      disrupted the forward search for the final real instruction in a
      terminating block. This switches to a backward search (skipping debug
      instrs).
      
      This fixes PR18399.
      
      Patch by Zhaoshi.
      
      llvm-svn: 199266
      463a5f24
    • Tim Northover's avatar
      AArch64: don't try to handle [SU]MUL_LOHI nodes · 6e219cd5
      Tim Northover authored
      We should set them to expand for now since there are no patterns
      dealing with them. Actually, there are no instructions either so I
      doubt they'll ever be acceptable.
      
      llvm-svn: 199265
      6e219cd5
    • Eric Christopher's avatar
      Enable use of ranges for translation units in the presence of · 39cde8cc
      Eric Christopher authored
      -ffunction-sections and update comments and TODOs about other
      places that we should enable this.
      
      llvm-svn: 199263
      39cde8cc
    • Matt Arsenault's avatar
      Do pointer cast simplifications on addrspacecast · 2d353d1a
      Matt Arsenault authored
      llvm-svn: 199254
      2d353d1a
    • Matt Arsenault's avatar
      Remove a check for an illegal condition. · f08a44f9
      Matt Arsenault authored
      Bitcasts can't be between address spaces anymore.
      
      llvm-svn: 199253
      f08a44f9
    • Lang Hames's avatar
      Add FPExt option to CCValAssign::LocInfo. When generating calling-convention · 06234ec1
      Lang Hames authored
      promotion code, Tablegen will now select FPExt for floating point promotions
      (previously it had returned AExt, which is not valid for floating point types).
      
      Any out-of-tree targets that were relying on AExt being returned for FP
      promotions will need to update their code check for FPExt instead.
      
      llvm-svn: 199252
      06234ec1
    • Rafael Espindola's avatar
      Revert "[AArch64] Added vselect patterns with float and double types" · 08ff298d
      Rafael Espindola authored
      This reverts commit r199242.
      
      It is causing CodeGen/AArch64/neon-bsl.ll to fail.
      
      llvm-svn: 199248
      08ff298d
    • Matt Arsenault's avatar
      Make nocapture analysis work with addrspacecast · e55a2c2e
      Matt Arsenault authored
      llvm-svn: 199246
      e55a2c2e
    • Rafael Espindola's avatar
      Fix a low hanging use of hasRawTextSupport. · 6633d57a
      Rafael Espindola authored
      This also fixes the placement of the function label comment. It was being
      placed next to the mips16 directive instead of next to the label.
      
      llvm-svn: 199245
      6633d57a
    • Duncan P. N. Exon Smith's avatar
      Reapply "LTO: add API to set strategy for -internalize" · 93be7c4f
      Duncan P. N. Exon Smith authored
      Reapply r199191, reverted in r199197 because it carelessly broke
      Other/link-opts.ll.  The problem was that calling
      createInternalizePass("main") would select
      createInternalizePass(bool("main")) instead of
      createInternalizePass(ArrayRef<const char *>("main")).  This commit
      fixes the bug.
      
      The original commit message follows.
      
      Add API to LTOCodeGenerator to specify a strategy for the -internalize
      pass.
      
      This is a new attempt at Bill's change in r185882, which he reverted in
      r188029 due to problems with the gold linker.  This puts the onus on the
      linker to decide whether (and what) to internalize.
      
      In particular, running internalize before outputting an object file may
      change a 'weak' symbol into an internal one, even though that symbol
      could be needed by an external object file --- e.g., with arclite.
      
      This patch enables three strategies:
      
      - LTO_INTERNALIZE_FULL: the default (and the old behaviour).
      - LTO_INTERNALIZE_NONE: skip -internalize.
      - LTO_INTERNALIZE_HIDDEN: only -internalize symbols with hidden
        visibility.
      
      LTO_INTERNALIZE_FULL should be used when linking an executable.
      
      Outputting an object file (e.g., via ld -r) is more complicated, and
      depends on whether hidden symbols should be internalized.  E.g., for
      ld -r, LTO_INTERNALIZE_NONE can be used when -keep_private_externs, and
      LTO_INTERNALIZE_HIDDEN can be used otherwise.  However,
      LTO_INTERNALIZE_FULL is inappropriate, since the output object file will
      eventually need to link with others.
      
      lto_codegen_set_internalize_strategy() sets the strategy for subsequent
      calls to lto_codegen_write_merged_modules() and lto_codegen_compile*().
      
      <rdar://problem/14334895>
      
      llvm-svn: 199244
      93be7c4f
    • Ana Pazos's avatar
      [AArch64] Added vselect patterns with float and double types · 787f540d
      Ana Pazos authored
      llvm-svn: 199242
      787f540d
    • Nico Rieck's avatar
      Handle dllexport for global aliases · c60647f0
      Nico Rieck authored
      llvm-svn: 199219
      c60647f0
    • Nico Rieck's avatar
      Decouple dllexport/dllimport from linkage · 7157bb76
      Nico Rieck authored
      Representing dllexport/dllimport as distinct linkage types prevents using
      these attributes on templates and inline functions.
      
      Instead of introducing further mixed linkage types to include linkonce and
      weak ODR, the old import/export linkage types are replaced with a new
      separate visibility-like specifier:
      
        define available_externally dllimport void @f() {}
        @Var = dllexport global i32 1, align 4
      
      Linkage for dllexported globals and functions is now equal to their linkage
      without dllexport. Imported globals and functions must be either
      declarations with external linkage, or definitions with
      AvailableExternallyLinkage.
      
      llvm-svn: 199218
      7157bb76
    • Elena Demikhovsky's avatar
      AVX-512: optimized scalar compare patterns · 767fc967
      Elena Demikhovsky authored
      removed AVX512SI format, since it is similar to AVX512BI.
      
      llvm-svn: 199217
      767fc967
    • Patrik Hagglund's avatar
      Fix valgrind warning for gcc builds. · 682a10d4
      Patrik Hagglund authored
      Sorry, I don't understand why the warning is generated (a gcc
      bug?). Anyhow, the change should improve readablity. No functionality
      change intended.
      
      llvm-svn: 199214
      682a10d4
    • Andrea Di Biagio's avatar
      [X86] Fix assertion failure caused by a wrong folding of vector shifts by immediate count. · 5448a3c7
      Andrea Di Biagio authored
      This fixes a regression intruced by r198113.
      
      Revision r198113 introduced an algorithm that tries to fold a vector shift
      by immediate count into a build_vector if the input vector is a known vector
      of constants.
      
      However the algorithm only worked under the assumption that the input vector
      type and the shift type are exactly the same.
      
      This patch disables the folding of vector shift by immediate count if the
      input vector type and the shift value type are not the same.
      
      llvm-svn: 199213
      5448a3c7
    • Tim Northover's avatar
      ARM: add constraint that RdLo != Rn != RdHi for v5 MLA insts. · 56cc5c92
      Tim Northover authored
      llvm-svn: 199212
      56cc5c92
    • Tim Northover's avatar
      ARM: remove unused UMAALv5 node · c4c34b4f
      Tim Northover authored
      It was incorrect anyway, since it didn't have accumulator inputs and wasn't
      even supported on v5.
      
      llvm-svn: 199211
      c4c34b4f
    • Nico Rieck's avatar
      Revert "Decouple dllexport/dllimport from linkage" · 9d2e0df0
      Nico Rieck authored
      Revert this for now until I fix an issue in Clang with it.
      
      This reverts commit r199204.
      
      llvm-svn: 199207
      9d2e0df0
Loading