Skip to content
  1. Jan 16, 2013
    • Eric Christopher's avatar
      Split address information for DWARF5 split dwarf proposal. This involves · 962c9089
      Eric Christopher authored
      using the DW_FORM_GNU_addr_index and a separate .debug_addr section which
      stays in the executable and is fully linked.
      
      Sneak in two other small changes:
      
      a) Print out the debug_str_offsets.dwo section.
      b) Change form we're expecting the entries in the debug_str_offsets.dwo
         section to take from ULEB128 to U32.
      
      Add tests for all of this in the fission-cu.ll test.
      
      llvm-svn: 172578
      962c9089
    • David Greene's avatar
      Avoid Enum Compare Warnings · 99e6c115
      David Greene authored
      Avoid a compiler warning about comparing disjoint enums but casting
      them to int first.
      
      llvm-svn: 172577
      99e6c115
    • Nadav Rotem's avatar
    • Eli Bendersky's avatar
      Optimize the memory usage of MC bundling, by creating a new type of fragment · cf6009b9
      Eli Bendersky authored
      into which we can emit single instructions without fixups (which is most
      instructions). This is an optimization required because MCDataFragment
      is prety large (240 bytes on x64), with no change in functionality.
      
      For large programs, this reduces memory usage overhead required for bundling
      by 40%.
      
      To make the code as palatable as possible, the MCEncodedFragment interface was
      further fragmented (no pun intended) and MCEncodedFragmentWithFixups is used
      as the interface to work against when the user expects fixups. MCDataFragment
      and MCRelaxableFragment implement this interface, while the new
      MCCompactEncodedInstFragment implements MCEncodeFragment.
      
      llvm-svn: 172572
      cf6009b9
    • Chad Rosier's avatar
      [ms-inline asm] Address the FIXME in AsmParser.cpp. · 7245033a
      Chad Rosier authored
      // FIXME: Constraints are hard coded to 'm', but we need an 'r'
      // constraint for addressof.  This needs to be cleaned up!
      
      Test cases are already in place.  Specifically,
      clang/test/CodeGen/ms-inline-asm.c t15(), t16(), and t24().
      
      llvm-svn: 172569
      7245033a
  2. Jan 15, 2013
  3. Jan 14, 2013
    • Shuxin Yang's avatar
      This change is to implement following rules under the condition C_A and/or C_R · 320f52a4
      Shuxin Yang authored
       
       ---------------------------------------------------------------------------
       C_A: reassociation is allowed
       C_R: reciprocal of a constant C is appropriate, which means 
          - 1/C is exact, or 
          - reciprocal is allowed and 1/C is neither a special value nor a denormal.
       -----------------------------------------------------------------------------
      
       rule1:  (X/C1) / C2 => X / (C2*C1)  (if C_A)
                           => X * (1/(C2*C1))  (if C_A && C_R)
       rule 2:  X*C1 / C2 => X * (C1/C2)  if C_A
       rule 3: (X/Y)/Z = > X/(Y*Z)  (if C_A && at least one of Y and Z is symbolic value)
       rule 4: Z/(X/Y) = > (Z*Y)/X  (similar to rule3)
      
       rule 5: C1/(X*C2) => (C1/C2) / X (if C_A)
       rule 6: C1/(X/C2) => (C1*C2) / X (if C_A)
       rule 7: C1/(C2/X) => (C1/C2) * X (if C_A)
      
      llvm-svn: 172488
      320f52a4
    • Chad Rosier's avatar
      [ms-inline asm] Extend support for parsing Intel bracketed memory operands that · 5c118fd2
      Chad Rosier authored
      have an arbitrary ordering of the base register, index register and displacement.
      rdar://12527141
      
      llvm-svn: 172484
      5c118fd2
    • Dmitri Gribenko's avatar
      Improve r172468: const_cast is not needed here · f24e57f2
      Dmitri Gribenko authored
      llvm-svn: 172483
      f24e57f2
    • Dmitri Gribenko's avatar
      Improve r172471: avoid all those extra casts on the lines nearby · 2e1df0e3
      Dmitri Gribenko authored
      llvm-svn: 172481
      2e1df0e3
    • Bill Schmidt's avatar
      This patch addresses an incorrect transformation in the DAG combiner. · d006c693
      Bill Schmidt authored
      The included test case is derived from one of the GCC compatibility tests.
      The problem arises after the selection DAG has been converted to type-legalized
      form.  The combiner first sees a 64-bit load that can be converted into a
      pre-increment form.  The original load feeds into a SRL that isolates the
      upper 32 bits of the loaded doubleword.  This looks like an opportunity for
      DAGCombiner::ReduceLoadWidth() to replace the 64-bit load with a 32-bit load.
      
      However, this transformation is not valid, as the replacement load is not
      a pre-increment load.  The pre-increment load produces an extra result,
      which feeds a subsequent add instruction.  The replacement load only has
      one result value, and this value is propagated to all uses of the pre-
      increment load, including the add.  Because the add is looking for the
      second result value as its operand, it ends up attempting to add a constant
      to a token chain, resulting in a crash.
      
      So the patch simply disables this transformation for any load with more than
      two result values.
      
      llvm-svn: 172480
      d006c693
    • Quentin Colombet's avatar
      Follow up of commit r172472. · 77ca8b83
      Quentin Colombet authored
      Refactor the big if/else sequence into one string switch for ARM subtype selection.
      
      llvm-svn: 172475
      77ca8b83
    • Dmitri Gribenko's avatar
      fb37aca9
    • Quentin Colombet's avatar
      Complete the existing support of ARM v6m, v7m, and v7em, i.e., respectively... · 1a711686
      Quentin Colombet authored
      Complete the existing support of ARM v6m, v7m, and v7em, i.e., respectively cortex-m0, cortex-m3, and cortex-m4 on the backend side.
      
      Adds new subtype values for the MachO format and use them when the related triple are set.
      
      llvm-svn: 172472
      1a711686
    • David Greene's avatar
      Fix Casting · cf7ae6c2
      David Greene authored
      Fix a casting-away-const compiler warning.
      
      llvm-svn: 172471
      cf7ae6c2
    • David Greene's avatar
      Fix Casting · 82b63578
      David Greene authored
      Do proper casting to eliminate a const-away-cast compiler warning.
      
      llvm-svn: 172470
      82b63578
    • David Greene's avatar
      Fix More Casts · 8e46d89d
      David Greene authored
      Properly cast some more code that triggered cast-away-const errors.
      
      llvm-svn: 172469
      8e46d89d
    • David Greene's avatar
      Fix Another Cast · c3115617
      David Greene authored
      Properly cast code to eliminate cast-away-const errors.
      
      llvm-svn: 172468
      c3115617
    • David Greene's avatar
      Fix Casting Bug · 530430be
      David Greene authored
      Add a const version of getFpValPtr to avoid a cast-away-const warning.
      
      llvm-svn: 172467
      530430be
Loading