Skip to content
  1. Dec 12, 2017
  2. Dec 11, 2017
    • Richard Trieu's avatar
      Revert r318704 - [Sparc] efficient pattern for UINT_TO_FP conversion · efef032f
      Richard Trieu authored
      See bug https://bugs.llvm.org/show_bug.cgi?id=35631
      r318704 is giving a fatal error on some code with unsigned to floating point
      conversions.
      
      llvm-svn: 320429
      efef032f
    • Matt Arsenault's avatar
      LSR: Check more intrinsic pointer operands · 3e268cc0
      Matt Arsenault authored
      llvm-svn: 320424
      3e268cc0
    • Hans Wennborg's avatar
      Revert r320407 "[InstCombine] Fix PR35618: Instcombine hangs on single minmax load bitcast." · 27d1c00c
      Hans Wennborg authored
      The tests fail (opt asserts) on Windows.
      
      > Summary:
      > If we have pattern `store (load(bitcast(select (cmp(V1, V2), &V1,
      > &V2)))), bitcast)`, but the load is used in other instructions, it leads
      > to looping in InstCombiner. Patch adds additional check that all users
      > of the load instructions are stores and then replaces all uses of load
      > instruction by the new one with new type.
      >
      > Reviewers: RKSimon, spatel, majnemer
      >
      > Subscribers: llvm-commits
      >
      > Differential Revision: https://reviews.llvm.org/D41072
      
      llvm-svn: 320421
      27d1c00c
    • Evandro Menezes's avatar
      [CodeGen] Improve the consistency of instruction fusion* · 54be62df
      Evandro Menezes authored
      When either instruction in a fused pair has no other dependency, besides on
      the other instruction, make sure that other instructions do not get
      scheduled between them.  Additionally, avoid fusing an instruction more than
      once along the same dependency chain.
      
      Differential revision: https://reviews.llvm.org/D36704
      
      llvm-svn: 320420
      54be62df
    • Adrian Prantl's avatar
      ASAN: Provide reliable debug info for local variables at -O0. · 3c6c14d1
      Adrian Prantl authored
      The function stack poisioner conditionally stores local variables
      either in an alloca or in malloc'ated memory, which has the
      unfortunate side-effect, that the actual address of the variable is
      only materialized when the variable is accessed, which means that
      those variables are mostly invisible to the debugger even when
      compiling without optimizations.
      
      This patch stores the address of the local stack base into an alloca,
      which can be referred to by the debug info and is available throughout
      the function. This adds one extra pointer-sized alloca to each stack
      frame (but mem2reg can optimize it away again when optimizations are
      enabled, yielding roughly the same debug info quality as before in
      optimized code).
      
      rdar://problem/30433661
      
      Differential Revision: https://reviews.llvm.org/D41034
      
      llvm-svn: 320415
      3c6c14d1
    • Tony Jiang's avatar
      [PowerPC] Partially enable the ISEL expansion pass. · 3b49dc54
      Tony Jiang authored
      The pass to expand ISEL instructions into if-then-else sequences in patch D23630
      is currently disabled. This patch partially enable it by always removing the
      unnecessary ISELs (all registers used by the ISELs are the same one) and folding
      the ISELs which have the same input registers into unconditional copies.
      
      Differential Revision: https://reviews.llvm.org/D40497
      
      llvm-svn: 320414
      3b49dc54
    • Justin Bogner's avatar
      [cmake] Pass TARGETS_TO_BUILD through to host tools build · b608076e
      Justin Bogner authored
      In r319620, the host build was changed to use Native for
      TARGETS_TO_BUILD because passing semicolons through add_custom_command
      is surprisingly difficult. However, Native really doesn't make any
      sense here, and it only works because we don't technically do any
      codegen in the host tools so pretty well anything will "work".
      
      The problem here is that passing something other than the correct
      value is very fragile - as evidence note how the llvm-config in the
      host tools acts differently than the target one now, and misreports
      the targets to build. Similarly, if there is any logic conditional on
      the targets in tablegen (now or in the future), it will do the wrong
      thing.
      
      To fix this, we need to escape the semicolons in the targets string
      and pass it through to the child cmake invocation.
      
      llvm-svn: 320413
      b608076e
    • George Burgess IV's avatar
      Ensure moved-from container is cleared on move · 8c5886b4
      George Burgess IV authored
      In all cases except for this optimistic attempt to reuse memory, the
      moved-from TinyPtrVector was left `empty()` at the end of this
      assignment. Though using a container after it's been moved from can be a
      bit sketchy, it's probably best to just be consistent here.
      
      llvm-svn: 320408
      8c5886b4
    • Alexey Bataev's avatar
      [InstCombine] Fix PR35618: Instcombine hangs on single minmax load bitcast. · ec128ace
      Alexey Bataev authored
      Summary:
      If we have pattern `store (load(bitcast(select (cmp(V1, V2), &V1,
      &V2)))), bitcast)`, but the load is used in other instructions, it leads
      to looping in InstCombiner. Patch adds additional check that all users
      of the load instructions are stores and then replaces all uses of load
      instruction by the new one with new type.
      
      Reviewers: RKSimon, spatel, majnemer
      
      Subscribers: llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D41072
      
      llvm-svn: 320407
      ec128ace
    • Krzysztof Parzyszek's avatar
      [Hexagon] Add support for Hexagon V65 · a8ab1b75
      Krzysztof Parzyszek authored
      llvm-svn: 320404
      a8ab1b75
    • Simon Pilgrim's avatar
      [X86] Add LODS schedule tests · e83876e3
      Simon Pilgrim authored
      llvm-svn: 320403
      e83876e3
Loading