Skip to content
  1. Jan 08, 2014
  2. Jan 07, 2014
    • Roman Divacky's avatar
      In the ELFWriter when writing aliased (.set) symbols dont blindly · 5a1c5499
      Roman Divacky authored
      take type from the new symbol but merge them so that the type
      is never "downgraded".
      
      This is probably quite rare, except for IFUNC symbols which
      we used to misassemble, losing the IFUNC type.
      
      Fixes #18372.
      
      llvm-svn: 198706
      5a1c5499
    • David Peixotto's avatar
      Add ARM fconsts/fconstd aliases for vmov.f32/vmov.f64 · a872e0e0
      David Peixotto authored
      This commit adds the pre-UAL aliases of fconsts and fconstd for
      vmov.f32 and vmov.f64. They use an InstAlias rather than a
      MnemonicAlias to properly support the predicate operand.
      
      We need to support encoded 8-bit constants in order to implement the
      pre-UAL fconsts/fconstd aliases for vmov.f32/vmov.f64, so this
      commit also fixes parsing of encoded floating point constants used
      in vmov.f32/vmov.f64 instructions. Now we can support assembly code
      like this:
      
        fconsts s0, #0x70
      
      which is equivalent to vmov.f32 s0, #1.0.
      
      Most of the code was already in place to support this feature.
      Previously the code was trying to accept encoded 8-bit float
      constants for the vmov.f32/vmov.f64 instructions.  It looks like the
      support for parsing encoded floats was lost in a refactoring in
      commit r148556 and we did not have any tests in place to catch it.
      
      The change in this commit is to keep the parsed value as a 32-bit
      float instead of a 64-bit double because that is what the isFPImm()
      function expects to find. There is no loss of precision by using a
      32-bit float here because we are still limited to an 8-bit encoded
      value in the end.
      
      Additionally, we explicitly reject encoded 8-bit floats for
      vmovf.32/64. This is the same as the current behavior, but we now do
      it explicitly rather than accidently.
      
      llvm-svn: 198697
      a872e0e0
    • Venkatraman Govindaraju's avatar
      [Sparc] Add support for parsing sparc asm modifiers such as %hi, %lo etc., · 559c4ac3
      Venkatraman Govindaraju authored
      Also, correct the offsets for FixupsKindInfo.
      
      llvm-svn: 198681
      559c4ac3
    • Saleem Abdulrasool's avatar
      ARM IAS: allow more depth in contextual diagnostics · 4cb063cb
      Saleem Abdulrasool authored
      Switch the context to be SmallVectors.  This allows for saving additional
      context when providing previous emission sites.
      
      llvm-svn: 198665
      4cb063cb
    • Saleem Abdulrasool's avatar
      ARM IAS: refactor unwind context · c493d149
      Saleem Abdulrasool authored
      Move the unwinding context for the ARM IAS into a helper class.  This is purely
      a structural refactoring.  A follow up change allows for recording additional
      depth to improve diagnostics.
      
      llvm-svn: 198664
      c493d149
    • Saleem Abdulrasool's avatar
      ARM IAS: improve .eabi_attribute handling · 87ccd367
      Saleem Abdulrasool authored
      Parse tag names as well as expressions.  The former is part of the
      specification, the latter is for improved compatibility with the GNU assembler.
      Fix attribute value handling to be comformant to the specification.
      
      llvm-svn: 198662
      87ccd367
    • Saleem Abdulrasool's avatar
      MCParser: introduce Note and use it for ARM AsmParser · 69c7caf6
      Saleem Abdulrasool authored
      Introduce a new virtual method Note into the AsmParser.  This completements the
      existing Warning and Error methods.  Use the new method to clean up the output
      of the unwind routines in the ARM AsmParser.
      
      llvm-svn: 198661
      69c7caf6
    • Venkatraman Govindaraju's avatar
      0458b599
    • Jack Carter's avatar
      [Mips] TargetStreamer Support for .abicalls and .set pic0. · 0cd3c19f
      Jack Carter authored
      This patch adds .abicalls and .set pic0 support which
      affects the ELF ABI and its flags. In addition the patch uses
      a common interface for both the MipsTargetSteamer and
      MipsObjectStreamer that both the integrated and standalone
      assemblers will use for the output for these directives.
      
      llvm-svn: 198646
      0cd3c19f
  3. Jan 06, 2014
    • Venkatraman Govindaraju's avatar
      dfcccc7d
    • Craig Topper's avatar
      Add OpSize16 bit, for instructions which need 0x66 prefix in 16-bit mode · 7ceb54a2
      Craig Topper authored
      The 0x66 prefix toggles between 16-bit and 32-bit addressing mode.
      So in 32-bit mode it is used to switch to 16-bit addressing mode for the
      following instruction, while in 16-bit mode it's the other way round — it's
      used to switch to 32-bit mode instead.
      
      Thus, emit the 0x66 prefix byte for OpSize only in 32-bit (and 64-bit) mode,
      and introduce a new OpSize16 bit which is used in 16-bit mode instead.
      
      This is just the basic infrastructure for that change; a subsequent patch
      will add the new OpSize16 bit to the 32-bit instructions that need it.
      
      Patch from David Woodhouse.
      
      llvm-svn: 198586
      7ceb54a2
    • Craig Topper's avatar
      [x86] Add basic support for .code16 · 3c80d62a
      Craig Topper authored
      This is not really expected to work right yet. Mostly because we will
      still emit the OpSize (0x66) prefix in all the wrong places, along with
      a number of other corner cases. Those will all be fixed in the subsequent
      commits.
      
      Patch from David Woodhouse.
      
      llvm-svn: 198584
      3c80d62a
  4. Jan 05, 2014
  5. Jan 03, 2014
  6. Jan 02, 2014
  7. Jan 01, 2014
  8. Dec 31, 2013
  9. Dec 30, 2013
  10. Dec 29, 2013
  11. Dec 28, 2013
  12. Dec 26, 2013
  13. Dec 25, 2013
  14. Dec 24, 2013
  15. Dec 23, 2013
  16. Dec 20, 2013
    • Timur Iskhodzhanov's avatar
      Add the .secidx test I've forgotten to svn add in 197826 · f75e5bbe
      Timur Iskhodzhanov authored
      llvm-svn: 197828
      f75e5bbe
    • Zoran Jovanovic's avatar
      Support for microMIPS FPU instructions 1. · ce02486d
      Zoran Jovanovic authored
      llvm-svn: 197815
      ce02486d
    • Saleem Abdulrasool's avatar
      ARM IAS: add support for the .pool directive · 6e6c239e
      Saleem Abdulrasool authored
      The .pool directive is an alias for the .ltorg directive used to create a
      literal pool.  Simply treat .pool as if .ltorg was passed.
      
      llvm-svn: 197787
      6e6c239e
    • Kevin Enderby's avatar
      Un-revert: the buildbot failure in LLVM on lld-x86_64-win7 had me with · 36eba25f
      Kevin Enderby authored
      this commit as the only one on the Blamelist so I quickly reverted this.
      However it was actually Nick's change who has since fixed that issue.
      
      Original commit message:
      
      Changed the X86 assembler for intel syntax to work with directional labels.
      
      The X86 assembler as a separate code to parser the intel assembly syntax
      in X86AsmParser::ParseIntelOperand().  This did not parse directional labels.
      And if something like 1f was used as a branch target it would get an
      "Unexpected token" error.
      
      The fix starts in X86AsmParser::ParseIntelExpression() in the case for
      AsmToken::Integer, it needs to grab the IntVal from the current token
      then look for a 'b' or 'f' following an Integer.  Then it basically needs to
      do what is done in AsmParser::parsePrimaryExpr() for directional
      labels.  It saves the MCExpr it creates in the IntelExprStateMachine
      in the Sym field.
      
      When it returns to X86AsmParser::ParseIntelOperand() it looks
      for a non-zero Sym field in the IntelExprStateMachine and if
      set it creates a memory operand not an immediate operand
      it would normally do for the Integer.
      
      rdar://14961158
      
      llvm-svn: 197744
      36eba25f
  17. Dec 19, 2013
Loading