Skip to content
  1. Jun 06, 2014
  2. Jun 05, 2014
    • Eric Christopher's avatar
      Remove duplicate copy of InstrItineraryData from the TargetMachine, · c22a04c0
      Eric Christopher authored
      it's already on the subtarget.
      
      llvm-svn: 210289
      c22a04c0
    • Tom Roeder's avatar
      Adding explicit triples to the ARM jumptable tests · 4b239ed3
      Tom Roeder authored
      llvm-svn: 210288
      4b239ed3
    • Rafael Espindola's avatar
      Add a testcase where there is an overflow when combining two constants. · c286f4bf
      Rafael Espindola authored
      I noticed that a proposed optimization would have prevented this.
      
      llvm-svn: 210287
      c286f4bf
    • Joey Gouly's avatar
      When an inline-asm diagnostic is reported by the backend, report it with the · 5798b26c
      Joey Gouly authored
      correct severity.
      
      Previously all inline-asm diagnostics were reported as errors.
      
      llvm-svn: 210286
      5798b26c
    • Kevin Enderby's avatar
      Add "-format darwin" to llvm-nm to be like darwin's nm(1) -m output. · 980b2584
      Kevin Enderby authored
      This is a first step in seeing if it is possible to make llvm-nm produce
      the same output as darwin's nm(1).  Darwin's default format is bsd but its
      -m output prints the longer Mach-O specific details.  For now I added the
      "-format darwin" to do this (whos name may need to change in the future).
      As there are other Mach-O specific flags to nm(1) which I'm hoping to add some
      how in the future.  But I wanted to see if I could get the correct output for
      -m flag using llvm-nm and the libObject interfaces.
      
      I got this working but would love to hear what others think about this approach
      to getting object/format specific details printed with llvm-nm.
      
      llvm-svn: 210285
      980b2584
    • Alexey Samsonov's avatar
      Mangle predefined string constants names to merge them at link-time · 8f4f1cf7
      Alexey Samsonov authored
      Summary:
      This change generalizes the code used to create global LLVM
      variables referencing predefined strings (e.g. __FUNCTION__): now it
      just calls GetAddrOfConstantStringFromLiteral method. As a result,
      global variables for these predefined strings may get mangled names
      and linkonce_odr linkage. Fix the test accordingly.
      
      Test Plan: clang regression tests
      
      Reviewers: majnemer
      
      Reviewed By: majnemer
      
      Subscribers: cfe-commits
      
      Differential Revision: http://reviews.llvm.org/D4023
      
      llvm-svn: 210284
      8f4f1cf7
    • Richard Smith's avatar
      Cleanup, and always create a DecltypeType for a decltype expression, rather · 8eb1d322
      Richard Smith authored
      than omitting it the first time we see a decltype type with a particular
      expression.
      
      llvm-svn: 210283
      8eb1d322
    • Bill Schmidt's avatar
      [PPC64LE] Correct vperm -> shuffle transform for little endian · a1184635
      Bill Schmidt authored
      As discussed in cfe commit r210279, the correct little-endian
      semantics for the vec_perm Altivec interfaces are implemented by
      reversing the order of the input vectors and complementing the permute
      control vector.  This converts the desired permute from little endian
      element order into the big endian element order that the underlying
      PowerPC vperm instruction uses.  This is represented with a
      ppc_altivec_vperm intrinsic function.
      
      The instruction combining pass contains code to convert a
      ppc_altivec_vperm intrinsic into a vector shuffle operation when the
      intrinsic has a permute control vector (mask) that is a constant.
      However, the vector shuffle operation assumes that vector elements are
      in natural order for their endianness, so for little endian code we
      will get the wrong result with the existing transformation.
      
      This patch reverses the semantic change to vec_perm that was performed
      in altivec.h by once again swapping the input operands and
      complementing the permute control vector, returning the element
      ordering to little endian.
      
      The correctness of this code is tested by the new perm.c test added in
      a previous patch, and by other tests in the test suite that fail
      without this patch.
      
      llvm-svn: 210282
      a1184635
    • Tom Roeder's avatar
      Removing spurious dependency of IPO on JumpInstrTables · 544d1c22
      Tom Roeder authored
      llvm-svn: 210281
      544d1c22
    • Tom Roeder's avatar
      Add a new attribute called 'jumptable' that creates jump-instruction tables... · 44cb65ff
      Tom Roeder authored
      Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute.
      It includes a pass that rewrites all indirect calls to jumptable functions to pass through these tables.
      
      This also adds backend support for generating the jump-instruction tables on ARM and X86.
      Note that since the jumptable attribute creates a second function pointer for a
      function, any function marked with jumptable must also be marked with unnamed_addr.
      
      llvm-svn: 210280
      44cb65ff
Loading