Skip to content
  1. Dec 13, 2013
    • Rafael Espindola's avatar
      Use a: and s: instead of a0: and s0: in the DataLayout strings. · c6751629
      Rafael Espindola authored
      They are equivalent and the size of 'a' and 's' is unused.
      
      llvm-svn: 197259
      c6751629
    • Andrew Trick's avatar
      Grow the stackmap/patchpoint format to hold 64-bit IDs. · e8cba373
      Andrew Trick authored
      llvm-svn: 197255
      e8cba373
    • Andrew Trick's avatar
      Liveness Analysis Pass · 8d6a6584
      Andrew Trick authored
      llvm-svn: 197254
      8d6a6584
    • Andrew Trick's avatar
    • Chad Rosier's avatar
      [AArch64] Simplify the Neon Scalar3Same patterns for floating-point reciprocal · e139dd4f
      Chad Rosier authored
      step, floating-point reciprocal square root step, floating-point absolute
      difference, and integer/floating-point compare instructions.  Also, move the
      scalar general arithmetic operation patterns closer to similar code.  No
      functional change intended.
      
      llvm-svn: 197250
      e139dd4f
    • Rafael Espindola's avatar
      Assume defaults to produce smaller datalayout strings. · 1caa693a
      Rafael Espindola authored
      llvm-svn: 197249
      1caa693a
    • Rafael Espindola's avatar
      Fix pr18235. · dfc1470d
      Rafael Espindola authored
      The cpp backend is not a reasonable fallback for a missing target. It is a
      very special backend, so it is reasonable to use it only if explicitly
      requested.
      
      While at it, simplify the interface a bit.
      
      llvm-svn: 197241
      dfc1470d
    • Richard Sandiford's avatar
      [SystemZ] Optimize X [!=]= Y in cases where X - Y or Y - X is also computed · 0847c450
      Richard Sandiford authored
      In those cases it's better to compare the result of the subtraction
      against zero.
      
      llvm-svn: 197239
      0847c450
    • Richard Sandiford's avatar
      [SystemZ] Make more use of TMHH · c3dc4478
      Richard Sandiford authored
      This originally came about after noticing that InstCombine turns
      some of the TMHH (icmp (and...), ...) tests into plain comparisons.
      Since there is no instruction to compare with a 64-bit immediate,
      TMHH is generally better than an ordered comparison for the cases
      that it can handle.
      
      llvm-svn: 197238
      c3dc4478
    • Iain Sandoe's avatar
      test commit. · 68038583
      Iain Sandoe authored
      Amend a comment.
      
      llvm-svn: 197237
      68038583
    • Richard Sandiford's avatar
      [SystemZ] Extend integer absolute selection · 57485472
      Richard Sandiford authored
      This patch makes more use of LPGFR and LNGFR.  It builds on top of
      the LTGFR selection from r197234.  Most of the tests are motivated
      by what InstCombine would produce.
      
      llvm-svn: 197236
      57485472
    • Richard Sandiford's avatar
      [SystemZ] Add a structure to represent a selected comparison · d420f734
      Richard Sandiford authored
      ...in an attempt to rein back the increasingly complex selection code.
      A knock-on effect is that ICmpType is exposed from the outset, which
      slightly simplifies adjustSubwordCmp.
      
      The code is no piece of art even after this change, but at least it should
      be slightly better.  No behavioral change intended.
      
      llvm-svn: 197235
      d420f734
    • Richard Sandiford's avatar
      [SystemZ] Make more use of LTGFR · bd2f0e9c
      Richard Sandiford authored
      InstCombine turns (sext (trunc)) into (ashr (shl)), then converts any
      comparison of the ashr against zero into a comparison of the shl against zero.
      This makes sense in itself, but we want to undo it for z, since the sign-
      extension instruction has a CC-setting form.
      
      I've included tests for both the original and InstCombined variants,
      but the former already worked.  The patch fixes the latter.
      
      llvm-svn: 197234
      bd2f0e9c
    • Benjamin Kramer's avatar
      X86: When lowering shl_parts, don't emit shift amounts larger than the bit width. · e723bb10
      Benjamin Kramer authored
      While it's safe for the X86-specific shift nodes, dag combining will
      kill generic nodes. Insert an AND to make it safe, isel will nuke it
      as x86's shift instructions have an implicit AND.
      
      Fixes PR16108, which contains a contraption to hit this case in between
      constant folders.
      
      llvm-svn: 197228
      e723bb10
    • Joerg Sonnenberger's avatar
      Enabling thumb2 mode used to force support for armv6t2. Replace this · 002a1476
      Joerg Sonnenberger authored
      with a temporary assertion and adjust the various test cases.
      
      llvm-svn: 197224
      002a1476
    • Matheus Almeida's avatar
      [mips] Add checks for alignment and maximum displacements for most of the · e0d75aac
      Matheus Almeida authored
      branch instructions for mips and micromips instruction sets thus avoiding
      the situation of generating branches to undesired locations if offsets
      cannot be encoded.
      
      This patch also checks if a fixup cannot be applied and returns a fatal error
      if that's the case.
      
      llvm-svn: 197223
      e0d75aac
    • Renato Golin's avatar
      Add ARM to release instructions · a4ecd46f
      Renato Golin authored
      llvm-svn: 197220
      a4ecd46f
    • Chandler Carruth's avatar
      [inliner] Fix PR18206 by preventing inlining functions that call setjmp · 37d25de4
      Chandler Carruth authored
      through an invoke instruction.
      
      The original patch for this was written by Mark Seaborn, but I've
      reworked his test case into the existing returns_twice test case and
      implemented the fix by the prior refactoring to actually run the cost
      analysis over invoke instructions, and then here fixing our detection of
      the returns_twice attribute to work for both calls and invokes. We never
      noticed because we never saw an invoke. =[
      
      llvm-svn: 197216
      37d25de4
    • Chandler Carruth's avatar
      [inliner] Completely change (and fix) how the inline cost analysis · 0814d2ad
      Chandler Carruth authored
      handles terminator instructions.
      
      The inline cost analysis inheritted some pretty rough handling of
      terminator insts from the original cost analysis, and then made it much,
      much worse by factoring all of the important analyses into a separate
      instruction visitor. That instruction visitor never visited the
      terminator.
      
      This works fine for things like conditional branches, but for many other
      things we simply computed The Wrong Value. First example are
      unconditional branches, which should be free but were counted as full
      cost. This is most significant for conditional branches where the
      condition simplifies and folds during inlining. We paid a 1 instruction
      tax on every branch in a straight line specialized path. =[
      
      Oh, we also claimed that the unreachable instruction had cost.
      
      But it gets worse. Let's consider invoke. We never applied the call
      penalty. We never accounted for the cost of the arguments. Nope. Worse
      still, we didn't handle the *correctness* constraints of not inlining
      recursive invokes, or exception throwing returns_twice functions. Oops.
      See PR18206. Sadly, PR18206 requires yet another fix, but this
      refactoring is at least a huge step in that direction.
      
      llvm-svn: 197215
      0814d2ad
    • David Blaikie's avatar
      Revert "DebugInfo: Move type units into the debug_types section with... · 04adff77
      David Blaikie authored
      Revert "DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers"
      
      This reverts commit r197210.
      
      llvm-svn: 197211
      04adff77
    • David Blaikie's avatar
      DebugInfo: Move type units into the debug_types section with appropriate... · 753c6e4e
      David Blaikie authored
      DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers
      
      This commit does not complete the type units feature - there are issues
      around fission support (skeletal type units, pubtypes/pubnames) and
      hashing of some types including those containing references to types in
      other type units.
      
      Originally committed as r197073 and reverted in r197079.
      Recommitted as r197197 to reproduce the failure and reverted as r197199
      
      Turns out there was unstable ordering in the type unit dumping code.
      Fixed by using MapVector in DWARFContext to store the debug_types
      comdat sections.
      
      llvm-svn: 197210
      753c6e4e
    • Kai Nacke's avatar
      Change stack probing code for MingW. · 87b23aec
      Kai Nacke authored
      Since gcc 4.6 the compiler uses ___chkstk_ms which has the same semantics as the
      MS CRT function __chkstk. This simplifies the prologue generation a bit.
      
      Reviewed by Rafael Espíndola. 
      
      llvm-svn: 197205
      87b23aec
    • Rui Ueyama's avatar
      Object/COFF: ExportAddressTableEntry is a union of two RVAs. · 3fded3cf
      Rui Ueyama authored
      The previous definition was wrong. See Microsoft PE/COFF specification
      section 5.3.2.
      
      llvm-svn: 197204
      3fded3cf
    • David Blaikie's avatar
      Revert "DebugInfo: Move type units into the debug_types section with... · 6201712b
      David Blaikie authored
      Revert "DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers"
      
      This reverts commit r197197.
      
      llvm-svn: 197199
      6201712b
    • Yuchen Wu's avatar
      llvm-cov: Added -b option for branch probabilities. · 342714c1
      Yuchen Wu authored
      This option tells llvm-cov to print out branch probabilities when
      a basic block contains multiple branches. It also prints out some
      function summary info including the number of times the function enters,
      the percent of time it returns, and how many blocks were executed.
      
      Also updated tests.
      
      llvm-svn: 197198
      342714c1
    • David Blaikie's avatar
      DebugInfo: Move type units into the debug_types section with appropriate... · baaf74d4
      David Blaikie authored
      DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers
      
      This commit does not complete the type units feature - there are issues
      around fission support (skeletal type units, pubtypes/pubnames) and
      hashing of some types including those containing references to types in
      other type units.
      
      Originally committed as r197073 and reverted in r197079.
      
      This commit originally got jumbled up with another build-breaking commit
      and I can't find the failures I thought this caused anymore.
      Recommitting to hopefully get some clean buildbot results to work from.
      I have a sneaking suspicion there's unstable output in the comdat group
      output of MCStreamer...
      
      llvm-svn: 197197
      baaf74d4
  2. Dec 12, 2013
Loading