Skip to content
  1. Feb 24, 2015
    • Tobias Grosser's avatar
      Revert "Raising minimum required CMake version to 2.8.12.2." · 2ca0ae2a
      Tobias Grosser authored
      This reverts commit r230062.
      
      Debian stable (wheezy) ships still with cmake 2.8.9.
      
      The commit broke my LLVM/Polly buildbot, to my knowledge our only Linux+cmake
      buildbot.
      
      llvm-svn: 230343
      2ca0ae2a
    • Sanjay Patel's avatar
      simplify control flow; NFC · a709f3a5
      Sanjay Patel authored
      llvm-svn: 230342
      a709f3a5
    • Hans Wennborg's avatar
      Revert r230280: "Bugfix: SCEVExpander incorrectly marks increment operations as no-wrap" · 953d6fb8
      Hans Wennborg authored
      This caused PR22674, failing this assert:
      
      Instructions.h:2281: llvm::Value* llvm::PHINode::getOperand(unsigned int) const: Assertion `i_nocapture < OperandTraits<PHINode>::operands(this) && "getOperand() out of range!"' failed.
      
      llvm-svn: 230341
      953d6fb8
    • Michael Kuperstein's avatar
      [x32] Mark RBX as reserved when EBX is the base pointer. · d2f3b878
      Michael Kuperstein authored
      This should have gone into r230334.
      
      llvm-svn: 230339
      d2f3b878
    • Sanjay Patel's avatar
      fix typo in comment; NFC · 28985485
      Sanjay Patel authored
      llvm-svn: 230338
      28985485
    • Michael Kuperstein's avatar
      [x32] x32 should use ebx as the base pointer. · 8ffb4091
      Michael Kuperstein authored
      This fixes the original issue in PR22655, but not the secondary one.
      
      llvm-svn: 230334
      8ffb4091
    • Hal Finkel's avatar
      [SDAG] Handle LowerOperation returning its input consistently · cec70130
      Hal Finkel authored
      For almost all node types, if the target requested custom lowering, and
      LowerOperation returned its input, we'd treat the original node as legal. This
      did not work, however, for many loads and stores, because they follow
      slightly different code paths, and we did not account for the possibility of
      LowerOperation returning its input at those call sites.
      
      I think that we now handle this consistently everywhere. At the call sites in
      LegalizeDAG, we used to assert in this case, so there's no functional change
      for any existing code there. For the call sites in LegalizeVectorOps, this
      really only affects whether or not we set Changed = true, but I think makes the
      semantics clearer.
      
      No test case here, but it will be covered by an upcoming PowerPC commit adding
      QPX support.
      
      llvm-svn: 230332
      cec70130
    • Toma Tabacu's avatar
      [mips] Reformat some TableGen definitions. NFC. · a90f144a
      Toma Tabacu authored
      Summary: Separated some instruction and pseudo-instruction definitions from InstAlias definitions, added banner for pseudo-instructions and removed a redundant whitespace from a pseudo-instruction definition. No functional change.
      
      Reviewers: dsanders
      
      Reviewed By: dsanders
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D7552
      
      llvm-svn: 230327
      a90f144a
    • Kuba Brecka's avatar
      Fix alloca_instruments_all_paddings.cc test to work under higher -O levels (llvm part) · f5875d30
      Kuba Brecka authored
      When AddressSanitizer only a single dynamic alloca and no static allocas, due to an early exit from FunctionStackPoisoner::poisonStack we forget to unpoison the dynamic alloca.  This patch fixes that.
      
      Reviewed at http://reviews.llvm.org/D7810
      
      llvm-svn: 230316
      f5875d30
    • Craig Topper's avatar
      [X86] Remove the AbsMem32 type from the assembly parser. Only really need the... · cf51397c
      Craig Topper authored
      [X86] Remove the AbsMem32 type from the assembly parser. Only really need the 16-bit version which will automatically get prioritized over AbsMem.
      
      llvm-svn: 230313
      cf51397c
    • Reed Kotler's avatar
      Beginning of alloca implementation for Mips fast-isel · 5fb7d8b5
      Reed Kotler authored
      Summary: Begin to add various address modes; including alloca.
      
      Test Plan: Make sure there are no regressions in test-suite at O0/02 in mips32r1/r2
      
      Reviewers: dsanders
      
      Reviewed By: dsanders
      
      Subscribers: echristo, rfuhler, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D6426
      
      llvm-svn: 230300
      5fb7d8b5
    • Bob Wilson's avatar
      Fix handling of negative offsets for AddrModeT2_i8s4 in rewriteT2FrameIndex. · 8e29dec9
      Bob Wilson authored
      This is a follow up to r230233 to fix something that I noticed by
      inspection. The AddrModeT2_i8s4 addressing mode does not support
      negative offsets. I spent a good chunk of the day trying to come up with
      a testcase for this but was not successful. This addressing mode is used
      to spill and restore GPRPair registers in Thumb2 code and that does not
      happen often. We also make very limited used of negative offsets when
      lowering frame indexes. I am going ahead with the change anyway, because
      I am pretty confident that it is correct. I also added a missing assertion
      to check that the low bits of the scaled offset are zero.
      
      llvm-svn: 230297
      8e29dec9
    • Sanjoy Das's avatar
      Fix bug 22641 · b14010d2
      Sanjoy Das authored
      The bug was a result of getPreStartForExtend interpreting nsw/nuw
      flags on an add recurrence more strongly than is legal.  {S,+,X}<nsw>
      implies S+X is nsw only if the backedge of the loop is taken at least
      once.
      
      NOTE: I had accidentally committed an unrelated change with the commit
      message of this change in r230275 (r230275 was reverted in r230279).
      This is the correct change for this commit message.
      
      Differential Revision: http://reviews.llvm.org/D7808
      
      llvm-svn: 230291
      b14010d2
    • Manman Ren's avatar
      [LTO API] add lto_codegen_set_module to set the destination module. · 6487ce95
      Manman Ren authored
      When debugging LTO issues with ld64, we use -save-temps to save the merged
      optimized bitcode file, then invoke ld64 again on the single bitcode file to
      speed up debugging code generation passes and ld64 stuff after code generation.
      
      llvm linking a single bitcode file via lto_codegen_add_module will generate a
      different bitcode file from the single input. With the newly-added
      lto_codegen_set_module, we can make sure the destination module is the same as
      the input.
      
      lto_codegen_set_module will transfer the ownship of the module to code
      generator.
      
      rdar://19024554
      
      llvm-svn: 230290
      6487ce95
    • Adam Nemet's avatar
      [LoopAccesses] LAA::getInfo to use const reference for stride parameter · 8bc61df9
      Adam Nemet authored
      And other required const-correctness fixes to make this work.
      
      llvm-svn: 230289
      8bc61df9
    • David Majnemer's avatar
      X86: Only use 'lea' in Win64 epilogues if a frame pointer exists · 3aa0bd81
      David Majnemer authored
      We can only use 'add' in epilogues, 'lea' is not permitted unless we've
      established a frame pointer in the prologue.
      
      llvm-svn: 230286
      3aa0bd81
    • Sanjoy Das's avatar
      New instcombine rule: max(~a,~b) -> ~min(a, b) · 82ea3d45
      Sanjoy Das authored
      This case is interesting because ScalarEvolutionExpander lowers min(a,
      b) as ~max(~a,~b).  I think the profitability heuristics can be made
      more clever/aggressive, but this is a start.
      
      Differential Revision: http://reviews.llvm.org/D7821
      
      llvm-svn: 230285
      82ea3d45
    • Sanjoy Das's avatar
      Bugfix: SCEVExpander incorrectly marks increment operations as no-wrap · 18c243b9
      Sanjoy Das authored
      When emitting the increment operation, SCEVExpander marks the
      operation as nuw or nsw based on the flags on the preincrement SCEV.
      This is incorrect because, for instance, it is possible that {-6,+,1}
      is <nuw> while {-6,+,1}+1 = {-5,+,1} is not.
      
      This change teaches SCEV to mark the increment as nuw/nsw only if it
      can explicitly prove that the increment operation won't overflow.
      
      Apart from the attached test case, another (more realistic) manifestation
      of the bug can be seen in Transforms/IndVarSimplify/pr20680.ll.
      
      NOTE: this change was landed with an incorrect commit message in
      rL230275 and was reverted for that reason in rL230279.  This commit
      message is the correct one.
      
      Differential Revision: http://reviews.llvm.org/D7778
      
      llvm-svn: 230280
      18c243b9
    • Sanjoy Das's avatar
      Revert 230275. · c9cf0151
      Sanjoy Das authored
      230275 got committed with an incorrect commit message due to a mixup
      on my side.  Will re-land in a few moments with the correct commit
      message.
      
      llvm-svn: 230279
      c9cf0151
    • Simon Pilgrim's avatar
      Fix based on post-commit comment on D7816 & rL230177 - BUILD_VECTOR operand... · 662c1d27
      Simon Pilgrim authored
      Fix based on post-commit comment on D7816 & rL230177 - BUILD_VECTOR operand truncation was using the the BV's output scalar type instead of the input type.
      
      llvm-svn: 230278
      662c1d27
  2. Feb 23, 2015
Loading