Skip to content
  1. Jan 21, 2014
    • Daniel Sanders's avatar
      [mips][sched] Split IIFadd into II_ADD_[DS], II_SUB_[DS] · 4bf60788
      Daniel Sanders authored
      No functional change since the InstrItinData's have been duplicated.
      
      llvm-svn: 199732
      4bf60788
    • Daniel Sanders's avatar
      [mips][sched] Split IIFcmp into II_C_CC_[SD] · b8013baf
      Daniel Sanders authored
      No functional change since the InstrItinData's have been duplicated.
      
      llvm-svn: 199728
      b8013baf
    • Daniel Sanders's avatar
      [mips][sched] Split IIFmove into II_C[FT]C1, II_MOV[FNTZ]_[SD], II_MOV_[SD] · f5fb3413
      Daniel Sanders authored
      No functional change since the InstrItinData's have been duplicated.
      
      llvm-svn: 199727
      f5fb3413
    • Daniel Sanders's avatar
      [mips][sched] Split IIFcvt into II_(ROUND|TRUNC|CEIL|FLOOR|CVT), II_ABS, II_NEG · 555f4c56
      Daniel Sanders authored
      No functional change since the InstrItinData's have been duplicated.
      
      llvm-svn: 199722
      555f4c56
    • Daniel Sanders's avatar
      [mips][sched] Split IIslt into II_SLT_SLTU, II_SLTI_SLTIU · 298ad0f2
      Daniel Sanders authored
      No functional change since the InstrItinData's have been duplicated.
      
      llvm-svn: 199719
      298ad0f2
    • Saleem Abdulrasool's avatar
      ARM IAS: add support for .unwind_raw directive · d9f08603
      Saleem Abdulrasool authored
      This implements the unwind_raw directive for the ARM IAS.  The unwind_raw
      directive takes the form of a stack offset value followed by one or more bytes
      representing the opcodes to be emitted.  The opcode emitted will interpreted as
      if it were assembled by the opcode assembler via the standard unwinding
      directives.
      
      Thanks to Logan Chien for an extra test!
      
      llvm-svn: 199707
      d9f08603
    • Saleem Abdulrasool's avatar
      ARM IAS: support .personalityindex · 662f5c1a
      Saleem Abdulrasool authored
      The .personalityindex directive is equivalent to the .personality directive with
      the ARM EABI personality with the specific index (0, 1, 2).  Both of these
      directives indicate personality routines, so enhance the personality directive
      handling to take into account personalityindex.
      
      Bonus fix: flush the UnwindContext at the beginning of a new function.
      
      Thanks to Logan Chien for additional tests!
      
      llvm-svn: 199706
      662f5c1a
    • Kevin Qin's avatar
      [AArch64 NEON] Fix a bug caused by undef lane when generating VEXT. · 6d379abd
      Kevin Qin authored
      It was commited as r199628 but reverted in r199628 as causing
      regression test failed. It's because of old vervsion of patch
      I used to commit. Sorry for mistake.
      
      llvm-svn: 199704
      6d379abd
    • Kevin Enderby's avatar
      To allow the X86 verbose assembly to print its informative comments · debfea62
      Kevin Enderby authored
      when used with symbolic disassembly, add a check that the operand
      is an immediate and has not been symbolicated to MCExpr operand.
      
      I’m trying to enable the ‘C’ disassembly API option
      LLVMDisassembler_Option_SetInstrComments for darwin’s
      otool(1) that uses the llvm disassembler API.  The problem is
      that the disassembler API can change an immediate operand to
      an MCExpr operand if it symbolicates it with the call backs.
      And if it does the code in llvm::EmitAnyX86InstComments()
      will crash when it assumes these operands are immediates.
      
      The fix for this is very straight forward to just protect the call
      to getImm() with a check of isImm().  So if the immediate for
      an instruction is symbolicated it simply doesn’t get the X86
      verbose assembly comments:
      
      % otool -tV test_asm.o
      test_asm.o:
      (__TEXT,__text) section
      _t1:
      0000000000000000	vpshufd	$_t1, %xmm1, %xmm0
      0000000000000005	retq
      0000000000000006	nopw	%cs:_t1(%rax,%rax)
      _t2:
      0000000000000010	vpshufd	$-0x1, %xmm0, %xmm0     ## xmm0 = xmm0[3,3,3,3]
      0000000000000015	retq
      0000000000000016	nopw	%cs:_t1(%rax,%rax)
      _t3:
      0000000000000020	vpshufd	$_t1, %xmm1, %xmm0
      0000000000000025	retq
      0000000000000026	nopw	%cs:_t1(%rax,%rax)
      _t4:
      0000000000000030	vpshufd	$0x2d, %xmm0, %xmm0     ## xmm0 = xmm0[1,3,2,0]
      0000000000000035	retq
      
      The fact that the immediate $0x0 is being symbolicated at
      all in this case is a different problem which my next patch
      will address.
      
      rdar://10989286
      
      llvm-svn: 199697
      debfea62
  2. Jan 20, 2014
  3. Jan 19, 2014
  4. Jan 18, 2014
  5. Jan 17, 2014
Loading