Skip to content
  1. Jan 21, 2014
    • 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
    • Rafael Espindola's avatar
    • 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
    • Nick Lewycky's avatar
      Simplify expression, made possible by r199702. · d950ae74
      Nick Lewycky authored
      llvm-svn: 199703
      d950ae74
    • Nick Lewycky's avatar
      Add operator!= for FoldingSetNodeID and FoldingSetNodeIDRef. Implementation in · 47a79816
      Nick Lewycky authored
      the header forwards to operator== which is not in the header.
      
      llvm-svn: 199702
      47a79816
    • Sean Callanan's avatar
      Better logging for the IRExecutionUnit so that · 4f2c1986
      Sean Callanan authored
      we can see exactly what data was put where.
      
      llvm-svn: 199701
      4f2c1986
    • Justin Bogner's avatar
      Revert "CodeGen: Simplify CodeGenFunction::EmitCaseStmt" · e25ffdf8
      Justin Bogner authored
      I misunderstood the discussion on this. The complexity here is
      justified by the malloc overhead it saves.
      
      This reverts commit r199302.
      
      llvm-svn: 199700
      e25ffdf8
    • Alp Toker's avatar
      Update FunctionTypeLoc and related names to match r199686 · b3fd5cfa
      Alp Toker authored
      llvm-svn: 199699
      b3fd5cfa
    • Kevin Enderby's avatar
      Tweak the MCExternalSymbolizer to not use the SymbolLookUp() call back · c030848f
      Kevin Enderby authored
      to not guess at a symbol name in some cases.
      
      The problem is that in object files assembled starting at address 0, when
      trying to symbolicate something that starts like this:
      
      % cat x.s
      _t1:
      	vpshufd	$0x0, %xmm1, %xmm0
      
      the symbolic disassembly can end up like this:
      
      % otool -tV x.o 
      x.o:
      (__TEXT,__text) section
      _t1:
      0000000000000000	vpshufd	$_t1, %xmm1, %xmm0
      
      Which is in this case produced incorrect symbolication.
      
      But it is useful in some cases to use the SymbolLookUp() call back
      to guess at some immediate values.  For example one like this
      that does not have an external relocation entry:
      
      % cat y.s
      _t1:
      	movl	$_d1, %eax
      .data
      _d1:	.long	0
      
      % clang -c -arch i386 y.s
      
      % otool -tV y.o 
      y.o:
      (__TEXT,__text) section
      _t1:
      0000000000000000	movl	$_d1, %eax
      
      % otool -rv y.o 
      y.o:
      Relocation information (__TEXT,__text) 1 entries
      address  pcrel length extern type    scattered symbolnum/value
      00000001 False long   False  VANILLA False     2 (__DATA,__data)
      
      So the change is based on it is not likely that an immediate Value
      coming from an instruction field of a width of 1 byte, other than branches
      and items with relocation, are not likely symbol addresses.
      
      With the change the first case above simply becomes:
      
      % otool -tV x.o 
      x.o:
      (__TEXT,__text) section
      _t1:
      0000000000000000	vpshufd	$0x0, %xmm1, %xmm0
      
      and the second case continues to work as expected.
      
      rdar://14863405
      
      llvm-svn: 199698
      c030848f
    • 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
    • Bob Wilson's avatar
      Stop linking with crt1.o etc. for the iOS simulator. <rdar://problem/11800973> · 74b6cd15
      Bob Wilson authored
      Recent versions of the iOS simulator no longer require linking with the
      crt1.o, dylib1.o, or bundle1.o files. The relevant code is now included in
      libSystem for the simulator.
      
      llvm-svn: 199696
      74b6cd15
    • Marshall Clow's avatar
      Removed extra space; thanks to thakis_'s eagle eye · d724d60f
      Marshall Clow authored
      llvm-svn: 199695
      d724d60f
    • Marshall Clow's avatar
      Fixed test failure in is_iec559.pass.cpp on darwin-ppc32. Thanks to David Fang... · 683268b2
      Marshall Clow authored
      Fixed test failure in is_iec559.pass.cpp on darwin-ppc32. Thanks to David Fang for the report (and suggested fix)
      
      llvm-svn: 199694
      683268b2
  2. Jan 20, 2014
Loading