Skip to content
  1. Jan 30, 2014
    • Saleem Abdulrasool's avatar
      ARM IAS: support .object_arch · 4c4789be
      Saleem Abdulrasool authored
      The .object_arch directive indicates an alternative architecture to be specified
      in the object file.  The directive does *not* effect the enabled feature bits
      for the object file generation.  This is particularly useful when the code
      performs runtime detection and would like to indicate a lower architecture as
      the requirements than the actual instructions used.
      
      llvm-svn: 200451
      4c4789be
    • Saleem Abdulrasool's avatar
      ARM IAS: support .movsp · 5d962d31
      Saleem Abdulrasool authored
      .movsp is an ARM unwinding directive that indicates to the unwinder that a
      register contains an offset from the current stack pointer.  If the offset is
      unspecified, it defaults to zero.
      
      llvm-svn: 200449
      5d962d31
    • Saleem Abdulrasool's avatar
      ARM: suuport .tlsdescseq directive · 56e06e86
      Saleem Abdulrasool authored
      This enhances the ARMAsmParser to handle .tlsdescseq directives.  This is a
      slightly special relocation.  We must be able to generate them, but not consume
      them in assembly.  The relocation is meant to assist the linker in generating a
      TLS descriptor sequence.  The ELF target streamer is enhanced to append
      additional fixups into the current segment and that is used to emit the new
      R_ARM_TLS_DESCSEQ relocations.
      
      llvm-svn: 200448
      56e06e86
    • Saleem Abdulrasool's avatar
      ARM: support TLS descriptor relocations · a3f12bde
      Saleem Abdulrasool authored
      Add support for tlsdesc relocations which are part of the ABI, marked as
      experimental.  These relocations permit the linker to perform TLS reference
      optimizations.
      
      llvm-svn: 200447
      a3f12bde
    • Saleem Abdulrasool's avatar
      ARM: support tlscall relocations · 6e00ca88
      Saleem Abdulrasool authored
      This adds support for TLS CALL relocations.  TLS CALL relocations are used to
      indicate to the linker to generate appropriate entries to resolve TLS references
      via an appropriate function invocation (e.g. __tls_get_addr(PLT)).
      
      In order to accomodate the linker relaxation of the TLS access model for the
      references (GD/LD -> IE, IE -> LE), the relocation addend must be incomplete.
      This requires that the partial inplace value is also incomplete (i.e. 0).  We
      simply avoid the offset value calculation at the time of the fixup adjustment in
      the ARM assembler backend.
      
      llvm-svn: 200446
      6e00ca88
    • Rafael Espindola's avatar
      Simplify the handling of iterators in ObjectFile. · 5e812afa
      Rafael Espindola authored
      None of the object file formats reported error on iterator increment. In
      retrospect, that is not too surprising: no object format stores symbols or
      sections in a linked list or other structure that requires chasing pointers.
      As a consequence, all error checking can be done on begin() and end().
      
      This reduces the text segment of bin/llvm-readobj in my machine from 521233 to
      518526 bytes.
      
      llvm-svn: 200442
      5e812afa
  2. Jan 29, 2014
  3. Jan 28, 2014
    • Matheus Almeida's avatar
      [mips] Fix ELF header flags. · 2e03f243
      Matheus Almeida authored
      As opposed to GCC/GAS the default ABI for Mips64 is n64.
      Compatibility bit should be set if o32 ABI is used when targeting Mips64.
      
      llvm-svn: 200332
      2e03f243
    • Gautam Chakrabarti's avatar
      [NVPTX] Fix emitting aggregate parameters · 2c283400
      Gautam Chakrabarti authored
      The code was missing the case for aggregate parameters and
      hence was emitting them as .b0 type. Also fixed a couple
      of comments.
      
      llvm-svn: 200325
      2c283400
    • Andrea Di Biagio's avatar
      [X86] Add extra rules for combining vselect dag nodes into movsd. · 2ea61f17
      Andrea Di Biagio authored
      This improves the fix committed at revision 199683 adding the
      following new target specific combine rules:
      
      1) fold (v4i32: vselect <0,0,-1,-1>, A, B) ->
              (v4i32 (bitcast (movsd (v2i64 (bitcast A)), (v2i64 (bitcast B))) ))
      
      2) fold (v4f32: vselect <0,0,-1,-1>, A, B) ->
              (v4f32 (bitcast (movsd (v2f64 (bitcast A)), (v2f64 (bitcast B))) ))
      
      3) fold (v4i32: vselect <-1,-1,0,0>, A, B) ->
              (v4i32 (bitcast (movsd (v2i64 (bitcast B)), (v2i64 (bitcast A))) ))
      
      4) fold (v4f32: vselect <-1,-1,0,0>, A, B) ->
              (v4f32 (bitcast (movsd (v2i64 (bitcast B)), (v2i64 (bitcast A))) ))
      
      llvm-svn: 200324
      2ea61f17
    • Iain Sandoe's avatar
      Provide a stub Target Streamer implementation for PPC MachO · 625b65a9
      Iain Sandoe authored
      At present, this handles .tc (error) and needs to be expanded to deal properly with .machine
      
      llvm-svn: 200309
      625b65a9
    • Hal Finkel's avatar
      Handle spilling the PPC GPRC_NOR0 register class · 4e703bce
      Hal Finkel authored
      GPRC_NOR0 is not a subclass of GPRC (because it also contains the ZERO pseudo
      register). As a result, we also need to check for it in the spilling code.
      
      llvm-svn: 200288
      4e703bce
    • Michel Danzer's avatar
      R600/SI: Add pattern for truncating i32 to i1 · bf1a6410
      Michel Danzer authored
      
      
      Fixes half a dozen piglit tests with radeonsi.
      
      Reviewed-by: default avatarTom Stellard <thomas.stellard@amd.com>
      llvm-svn: 200283
      bf1a6410
    • Jakob Stoklund Olesen's avatar
      Fix the DWARF EH encodings for Sparc PIC code. · 83c67735
      Jakob Stoklund Olesen authored
      Also emit the stubs that were generated for references to typeinfo
      symbols.
      
      llvm-svn: 200282
      83c67735
    • Reid Kleckner's avatar
      x86: add implicit defs for cpuid · b2340d4c
      Reid Kleckner authored
      This avoids miscompiling MS inline asm in LLVM where we have to infer
      clobbers.  Test case forthcoming in Clang.
      
      llvm-svn: 200279
      b2340d4c
    • Juergen Ributzka's avatar
      [TLI] Add a new hook to TargetLowering to query the target if a load of a... · 659ce00d
      Juergen Ributzka authored
      [TLI] Add a new hook to TargetLowering to query the target if a load of a constant should be converted to simply the constant itself.
      
      Before this patch we used getIntImmCost from TargetTransformInfo to determine if
      a load of a constant should be converted to just a constant, but the threshold
      for this was set to an arbitrary value. This value works well for the two
      targets (X86 and ARM) that implement this target-hook, but it isn't
      target-independent at all.
      
      Now targets have the possibility to decide directly if this optimization should
      be performed. The default value is set to false to preserve the current
      behavior. The target hook has been moved to TargetLowering, which removed the
      last use and need of TargetTransformInfo in SelectionDAG.
      
      llvm-svn: 200271
      659ce00d
    • Eric Christopher's avatar
      Revert r199871 and replace it with a simple check in the debug info · 2037caf8
      Eric Christopher authored
      code to see if we're emitting a function into a non-default
      text section. This is still a less-than-ideal solution, but more
      contained than r199871 to determine whether or not we're emitting
      code into an array of comdat sections.
      
      llvm-svn: 200269
      2037caf8
  4. Jan 27, 2014
Loading