Skip to content
  1. Apr 13, 2016
  2. Apr 12, 2016
    • James Y Knight's avatar
      Update psabi link for x86-64. Add link to linux gabi supplement. · 7c7e73b5
      James Y Knight authored
      llvm-svn: 266137
      7c7e73b5
    • David Blaikie's avatar
      [MC/ELFObjectWriter] Fix indentation of class body. · a0fa2621
      David Blaikie authored
      llvm-svn: 266136
      a0fa2621
    • David L Kreitzer's avatar
      Fixed a few typos and formatting problems. NFCI. · 99775c1b
      David L Kreitzer authored
      llvm-svn: 266135
      99775c1b
    • Davide Italiano's avatar
      [DebugInfo] Add error message to test. · 245383c5
      Davide Italiano authored
      Suggested by Rafael as post-commit review (r266102).
      
      llvm-svn: 266134
      245383c5
    • Mehdi Amini's avatar
      Add a pass to name anonymous/nameless function · d5faa267
      Mehdi Amini authored
      Summary:
      For correct handling of alias to nameless
      function, we need to be able to refer them through a GUID in the summary.
      Here we name them using a hash of the non-private global names in the module.
      
      Reviewers: tejohnson
      
      Subscribers: joker.eph, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D18883
      
      From: Mehdi Amini <mehdi.amini@apple.com>
      llvm-svn: 266132
      d5faa267
    • Mehdi Amini's avatar
      Move summary creation out of llvm-as into opt · 68da426e
      Mehdi Amini authored
      Summary:
      Let keep llvm-as "dumb": it converts textual IR to bitcode. This
      commit removes the dependency from llvm-as to libLLVMAnalysis.
      We'll add back summary in llvm-as if we get to a textual
      representation for it at some point. In the meantime, opt seems
      like a better place for that.
      
      Reviewers: tejohnson
      
      Subscribers: joker.eph, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D19032
      
      From: Mehdi Amini <mehdi.amini@apple.com>
      llvm-svn: 266131
      68da426e
    • Justin Bogner's avatar
      X86: Avoid accessing SDValues after they've been RAUW'd · 32ad24d4
      Justin Bogner authored
      This fixes two use-after-frees in selectLEA64_32Addr. If matchAddress
      matches an ADD with an AND as an operand, and that AND hits one of the
      "heroic transforms" that folds masks and shifts, we end up with N
      pointing to an SDNode that was deleted. Make sure we're done accessing
      it before that.
      
      Found by ASan with the recycling allocator changes in llvm.org/PR26808.
      
      llvm-svn: 266130
      32ad24d4
    • JF Bastien's avatar
      NFC: MergeFunctions return early · f90029bb
      JF Bastien authored
      Same effect, easier to read.
      
      llvm-svn: 266128
      f90029bb
    • Nicolai Haehnle's avatar
      AMDGPU: add llvm.amdgcn.buffer.load/store intrinsics · df77c9ad
      Nicolai Haehnle authored
      Summary:
      They correspond to BUFFER_LOAD/STORE_DWORD[_X2,X3,X4] and mostly behave like
      llvm.amdgcn.buffer.load/store.format. They will be used by Mesa for SSBO and
      atomic counters at least when robust buffer access behavior is desired.
      (These instructions perform no format conversion and do buffer range checking
      per component.)
      
      As a side effect of sharing patterns with llvm.amdgcn.buffer.store.format,
      it has become trivial to add support for the f32 and v2f32 variants of that
      intrinsic, so the patch does so.
      
      Also DAG-ify (and fix) some tests that I noticed intermittent failures in
      while developing this patch.
      
      Some tests were (temporarily) adjusted for the required mayLoad/hasSideEffects
      changes to the BUFFER_STORE_DWORD* instructions. See also
      http://reviews.llvm.org/D18291.
      
      Reviewers: arsenm, tstellarAMD, mareko
      
      Subscribers: arsenm, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D18292
      
      llvm-svn: 266126
      df77c9ad
    • Teresa Johnson's avatar
      [ThinLTO] Only compute imports for current module in FunctionImport pass · c86af334
      Teresa Johnson authored
      Summary:
      The function import pass was computing all the imports for all the
      modules in the index, and only using the imports for the current module.
      Change this to instead compute only for the given module. This means
      that the exports list can't be populated, but they weren't being used
      anyway.
      
      Longer term, the linker can collect all the imports and export lists
      and serialize them out for consumption by the distributed backend
      processes which use this pass.
      
      Reviewers: joker.eph
      
      Subscribers: llvm-commits, joker.eph
      
      Differential Revision: http://reviews.llvm.org/D18945
      
      llvm-svn: 266125
      c86af334
    • JF Bastien's avatar
      NFC: MergeFunctions update more comments · 1bb32ac4
      JF Bastien authored
      They are wordy. Some words were wrong.
      
      llvm-svn: 266124
      1bb32ac4
    • James Y Knight's avatar
      Add __atomic_* lowering to AtomicExpandPass. · 19f6cce4
      James Y Knight authored
      (Recommit of r266002, with r266011, r266016, and not accidentally
      including an extra unused/uninitialized element in LibcallRoutineNames)
      
      AtomicExpandPass can now lower atomic load, atomic store, atomicrmw, and
      cmpxchg instructions to __atomic_* library calls, when the target
      doesn't support atomics of a given size.
      
      This is the first step towards moving all atomic lowering from clang
      into llvm. When all is done, the behavior of __sync_* builtins,
      __atomic_* builtins, and C11 atomics will be unified.
      
      Previously LLVM would pass everything through to the ISelLowering
      code. There, unsupported atomic instructions would turn into __sync_*
      library calls. Because of that behavior, Clang currently avoids emitting
      llvm IR atomic instructions when this would happen, and emits __atomic_*
      library functions itself, in the frontend.
      
      This change makes LLVM able to emit __atomic_* libcalls, and thus will
      eventually allow clang to depend on LLVM to do the right thing.
      
      It is advantageous to do the new lowering to atomic libcalls in
      AtomicExpandPass, before ISel time, because it's important that all
      atomic operations for a given size either lower to __atomic_*
      libcalls (which may use locks), or native instructions which won't. No
      mixing and matching.
      
      At the moment, this code is enabled only for SPARC, as a
      demonstration. The next commit will expand support to all of the other
      targets.
      
      Differential Revision: http://reviews.llvm.org/D18200
      
      llvm-svn: 266115
      19f6cce4
    • Derek Schuff's avatar
      [WebAssembly] Fix debug info in reg-stackify.ll test · b861ec87
      Derek Schuff authored
      It lacked a CU and thus became invalid with r266102
      
      llvm-svn: 266114
      b861ec87
    • JF Bastien's avatar
      Delete mergefunctions.clang.svn.patch · 4c3fa5f9
      JF Bastien authored
      The patch doesn't apply, and was removed from zorg by rL266094.
      
      llvm-svn: 266112
      4c3fa5f9
    • Tom Stellard's avatar
      AMDGPU/SI: Insert wait states required after v_readfirstlane on SI · ab1d3a9d
      Tom Stellard authored
      Summary:
      We will be able to handle this case much better once the hazard recognizer
      is finished, but this conservative implementation  fixes a hang with the piglit
      test:
      
      spec/arb_arrays_of_arrays/execution/sampler/fs-nested-struct-arrays-nonconst-nested-arra
      
      Reviewers: arsenm, nhaehnle
      
      Subscribers: arsenm, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D18988
      
      llvm-svn: 266105
      ab1d3a9d
    • Matt Arsenault's avatar
      AMDGPU: Eliminate half of i64 or if one operand is zero_extend from i32 · 3b08238f
      Matt Arsenault authored
      This helps clean up some of the mess when expanding unaligned 64-bit
      loads when changed to be promote to v2i32, and fixes situations
      where or x, 0 was emitted after splitting 64-bit ors during moveToVALU.
      
      I think this could be a generic combine but I'm not sure.
      
      llvm-svn: 266104
      3b08238f
    • Davide Italiano's avatar
      [IR/Verifier] Each DISubprogram with isDefinition: true must belong to a CU. · b390d8ee
      Davide Italiano authored
      Add a check to catch violations. ~60 tests were broken and prevented
      this change to be committed. Adrian and I (thanks Adrian!) went
      through them in the last week or so updating. The check can be
      done more efficiently but I'd still like to get this in ASAP to
      avoid more broken tests to be checked in (if any).
      
      PR:  27101
      llvm-svn: 266102
      b390d8ee
Loading