Skip to content
  1. Jul 10, 2013
  2. Jul 09, 2013
    • Adrian Prantl's avatar
      move test into the appropriate subdir. · 1014fcfd
      Adrian Prantl authored
      llvm-svn: 185972
      1014fcfd
    • Adrian Prantl's avatar
      Typo. · 19942885
      Adrian Prantl authored
      llvm-svn: 185971
      19942885
    • Nadav Rotem's avatar
      Fix PR16571, which is a bug in the code that checks that all of the types in... · d7b574e5
      Nadav Rotem authored
      Fix PR16571, which is a bug in the code that checks that all of the types in the bundle are uniform.
      
      llvm-svn: 185970
      d7b574e5
    • Marshall Clow's avatar
    • Adrian Prantl's avatar
      Reapply an improved version of r180816/180817. · 7278788f
      Adrian Prantl authored
      Do not generate VLAs as complex variables any more, as they are now
      correctly represented as breg+0 locations in the backend.
      
      (Paired commit with LLVM: r185966)
      
      rdar://problem/13658587
      
      llvm-svn: 185967
      7278788f
    • Adrian Prantl's avatar
      Reapply an improved version of r180816/180817. · 418d1d1e
      Adrian Prantl authored
      Change the informal convention of DBG_VALUE machine instructions so that
      we can express a register-indirect address with an offset of 0.
      The old convention was that a DBG_VALUE is a register-indirect value if
      the offset (operand 1) is nonzero. The new convention is that a DBG_VALUE
      is register-indirect if the first operand is a register and the second
      operand is an immediate. For plain register values the combination reg,
      reg is used. MachineInstrBuilder::BuildMI knows how to build the new
      DBG_VALUES.
      
      rdar://problem/13658587
      
      llvm-svn: 185966
      418d1d1e
    • Enrico Granata's avatar
      Second attempt at getting the PyCallable changes in trunk · eff81a47
      Enrico Granata authored
      Thanks to Daniel Malea for helping test this patch for Linux happiness!
      
      llvm-svn: 185965
      eff81a47
    • Michael Gottesman's avatar
    • Michael Gottesman's avatar
      Added "mode: c++" to FastISel.h header. · c487d999
      Michael Gottesman authored
      llvm-svn: 185963
      c487d999
    • Stephen Lin's avatar
      Appease buildbots after r185956: just set -mcpu explicitly, as it should have... · 4ee5e873
      Stephen Lin authored
      Appease buildbots after r185956: just set -mcpu explicitly, as it should have been from the beginning.
      
      llvm-svn: 185962
      4ee5e873
    • Stephen Lin's avatar
      Appease Atom buildbot after r185956 (explicitly turn on AVX) · 228765f6
      Stephen Lin authored
      llvm-svn: 185961
      228765f6
    • Hal Finkel's avatar
      WidenVecRes_BUILD_VECTOR must use the first operand's type · e4dd5c29
      Hal Finkel authored
      Because integer BUILD_VECTOR operands may have a larger type than the result's
      vector element type, and all operands must have the same type, when widening a
      BUILD_VECTOR node by adding UNDEFs, we cannot use the vector element type, but
      rather must use the type of the existing operands.
      
      Another bug found by llvm-stress.
      
      llvm-svn: 185960
      e4dd5c29
    • Bill Schmidt's avatar
      [PowerPC] Better fix for PR16556. · 41221693
      Bill Schmidt authored
      A more complete example of the bug in PR16556 was recently provided,
      showing that the previous fix was not sufficient.  The previous fix is
      reverted herein.
      
      The real problem is that ReplaceNodeResults() uses LowerFP_TO_INT as
      custom lowering for FP_TO_SINT during type legalization, without
      checking whether the input type is handled by that routine.
      LowerFP_TO_INT requires the input to be f32 or f64, so we fail when
      the input is ppcf128.
      
      I'm leaving the test case from the initial fix (r185821) in place, and
      adding the new test as another crash-only check.
      
      llvm-svn: 185959
      41221693
    • Stephen Lin's avatar
      Attempt to appease buildbot after r185956 by explicitly turning setting... · 73fa842e
      Stephen Lin authored
      Attempt to appease buildbot after r185956 by explicitly turning setting -fma,-fma4 attrs (I'm assuming they're set because the bot is running on machine that has one or the other.)
      
      llvm-svn: 185958
      73fa842e
    • Stephen Lin's avatar
      AArch64/PowerPC/SystemZ/X86: This patch fixes the interface, usage, and all · 73de7bf5
      Stephen Lin authored
      in-tree implementations of TargetLoweringBase::isFMAFasterThanMulAndAdd in
      order to resolve the following issues with fmuladd (i.e. optional FMA)
      intrinsics:
      
      1. On X86(-64) targets, ISD::FMA nodes are formed when lowering fmuladd
      intrinsics even if the subtarget does not support FMA instructions, leading
      to laughably bad code generation in some situations.
      
      2. On AArch64 targets, ISD::FMA nodes are formed for operations on fp128,
      resulting in a call to a software fp128 FMA implementation.
      
      3. On PowerPC targets, FMAs are not generated from fmuladd intrinsics on types
      like v2f32, v8f32, v4f64, etc., even though they promote, split, scalarize,
      etc. to types that support hardware FMAs.
      
      The function has also been slightly renamed for consistency and to force a
      merge/build conflict for any out-of-tree target implementing it. To resolve,
      see comments and fixed in-tree examples.
      
      llvm-svn: 185956
      73de7bf5
    • Hal Finkel's avatar
      Don't crash in SE dealing with ashr x, -1 · ff666bd9
      Hal Finkel authored
      ScalarEvolution::getSignedRange uses ComputeNumSignBits from ValueTracking on
      ashr instructions. ComputeNumSignBits can return zero, but this case was not
      handled correctly by the code in getSignedRange which was calling:
        APInt::getSignedMinValue(BitWidth).ashr(NS - 1)
      with NS = 0, resulting in an assertion failure in APInt::ashr.
      
      Now, we just return the conservative result (as with NS == 1).
      
      Another bug found by llvm-stress.
      
      llvm-svn: 185955
      ff666bd9
    • David Majnemer's avatar
      ValueTracking: Fix bugs in isKnownToBeAPowerOfTwo · a92b3c91
      David Majnemer authored
      (add nsw x, (and x, y)) isn't a power of two if x is zero, it's zero
      (add nsw x, (xor x, y)) isn't a power of two if y has bits set that aren't set in x
      
      llvm-svn: 185954
      a92b3c91
    • Nadav Rotem's avatar
      861bef7d
    • Nadav Rotem's avatar
    • Daniel Malea's avatar
      Cleanup in TestConcurrentEvents.py · 6c4a0f08
      Daniel Malea authored
      - re-enable tests fixed by Matt's commit this morning (addressed llvm.org/pr16567)
      - disabled tests affected by new bug llvm.org/pr16575
      - removed some commented out code in inferior
      
      llvm-svn: 185951
      6c4a0f08
    • Howard Hinnant's avatar
      Bill Fisher: This patch fixes a bug where regex_iterator doesn't indicate when... · dbdeb153
      Howard Hinnant authored
      Bill Fisher: This patch fixes a bug where regex_iterator doesn't indicate when it's restarting in the middle of a string. This bug causes /^a/ to match in the middle of the string "aaaaaaa", during iteration.
      
      My patch uses  to communicate when  is false.
      
      llvm-svn: 185950
      dbdeb153
    • Hal Finkel's avatar
      DAGCombine tryFoldToZero cannot create illegal types after type legalization · 6c29bd90
      Hal Finkel authored
      When folding sub x, x (and other similar constructs), where x is a vector, the
      result is a vector of zeros. After type legalization, make sure that the input
      zero elements have a legal type. This type may be larger than the result's
      vector element type.
      
      This was another bug found by llvm-stress.
      
      llvm-svn: 185949
      6c29bd90
    • Fariborz Jahanian's avatar
      ObjC migrator: Add -objcmt-migrate-property to do property · d83ef848
      Fariborz Jahanian authored
      migration. Also, fixes an old bug where older migration 
      flags were not being checked for properly.
      
      llvm-svn: 185948
      d83ef848
    • Andrew Kaylor's avatar
    • Andrew Kaylor's avatar
      Use shared pointers to hold the process in ProcessMonitor · 214f3a8a
      Andrew Kaylor authored
      llvm-svn: 185946
      214f3a8a
    • Ulrich Weigand's avatar
      · 52cf8e44
      Ulrich Weigand authored
      [PowerPC] Revert r185476 and fix up TLS variant kinds
      
      In the commit message to r185476 I wrote:
      
      >The PowerPC-specific modifiers VK_PPC_TLSGD and VK_PPC_TLSLD
      >correspond exactly to the generic modifiers VK_TLSGD and VK_TLSLD.
      >This causes some confusion with the asm parser, since VK_PPC_TLSGD
      >is output as @tlsgd, which is then read back in as VK_TLSGD.
      >
      >To avoid this confusion, this patch removes the PowerPC-specific
      >modifiers and uses the generic modifiers throughout.  (The only
      >drawback is that the generic modifiers are printed in upper case
      >while the usual convention on PowerPC is to use lower-case modifiers.
      >But this is just a cosmetic issue.)
      
      This was unfortunately incorrect, there is is fact another,
      serious drawback to using the default VK_TLSLD/VK_TLSGD
      variant kinds: using these causes ELFObjectWriter::RelocNeedsGOT
      to return true, which in turn causes the ELFObjectWriter to emit
      an undefined reference to _GLOBAL_OFFSET_TABLE_.
      
      This is a problem on powerpc64, because it uses the TOC instead
      of the GOT, and the linker does not provide _GLOBAL_OFFSET_TABLE_,
      so the symbol remains undefined.  This means shared libraries
      using TLS built with the integrated assembler are currently
      broken.
      
      While the whole RelocNeedsGOT / _GLOBAL_OFFSET_TABLE_ situation
      probably ought to be properly fixed at some point, for now I'm
      simply reverting the r185476 commit.  Now this in turn exposes
      the breakage of handling @tlsgd/@tlsld in the asm parser that
      this check-in was originally intended to fix.
      
      To avoid this regression, I'm also adding a different fix for
      this problem: while common code now parses @tlsgd as VK_TLSGD,
      a special hack in the asm parser translates this code to the
      platform-specific VK_PPC_TLSGD that the back-end now expects.
      While this is not really pretty, it's self-contained and
      shouldn't hurt anything else for now.  One the underlying
      problem is fixed, this hack can be reverted again.
      
      llvm-svn: 185945
      52cf8e44
Loading