Skip to content
  1. Aug 02, 2019
  2. Aug 01, 2019
    • Harlan Haskins's avatar
      Fix Windows branch of FileManagerTest changes · e86fffcd
      Harlan Haskins authored
      llvm-svn: 367622
      e86fffcd
    • Harlan Haskins's avatar
      Fix use-after-move in ClangBasicTests · 5341f79a
      Harlan Haskins authored
      llvm-svn: 367620
      5341f79a
    • Wouter van Oortmerssen's avatar
      [WebAssembly] Fixed relocation errors having no location. · 7fee93ed
      Wouter van Oortmerssen authored
      Summary:
      Fixes: https://bugs.llvm.org/show_bug.cgi?id=42441
      
      Used to print:
      
      <unknown>:0: error: Cannot represent a difference across sections
      
      (the location was null).
      
      Now prints:
      
      err.s:20:3: error: Cannot represent a difference across sections
        i32.const foo-bar
        ^
      
      Note: I looked at adding a test for this, but I don't think it is
      worth it. We're not testing error formatting in the Wasm backend :)
      
      Reviewers: sbc100, jgravelle-google
      
      Subscribers: dschuff, aheejin, sunfish, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D65602
      
      llvm-svn: 367619
      7fee93ed
    • Harlan Haskins's avatar
      [clang] Change FileManager to use llvm::ErrorOr instead of null on failure · 84586c14
      Harlan Haskins authored
      Summary:
      Currently, clang's FileManager uses NULL as an indicator that a particular file
      did not exist, but would not propagate errors like permission issues. Instead,
      teach FileManager to use llvm::ErrorOr internally and return rich errors for
      failures.
      
      Reviewers: arphaman, bruno, martong, shafik
      
      Subscribers: nemanjai, kbarton, MaskRay, jkorous, dexonsmith, kadircet, jsji, cfe-commits, lldb-commits
      
      Tags: #clang, #lldb
      
      Differential Revision: https://reviews.llvm.org/D65534
      
      llvm-svn: 367618
      84586c14
    • Harlan Haskins's avatar
      [clang-tools-extra] Adopt FileManager's error-returning APIs · a02f8576
      Harlan Haskins authored
      The FileManager has been updated to return llvm::ErrorOr from getFile
      and getDirectory, this commit updates all the callers of those APIs from
      clang.
      
      llvm-svn: 367617
      a02f8576
    • Harlan Haskins's avatar
      [clang] Adopt new FileManager error-returning APIs · 8d323d15
      Harlan Haskins authored
      
      
      Update the callers of FileManager::getFile and FileManager::getDirectory to handle the new llvm::ErrorOr-returning methods.
      
      Signed-off-by: default avatarHarlan Haskins <harlan@apple.com>
      llvm-svn: 367616
      8d323d15
    • Harlan Haskins's avatar
      [clang] Adopt llvm::ErrorOr in FileManager methods · 461f0722
      Harlan Haskins authored
      
      
      Previously, the FileManager would use NULL returns to signify whether a file existed, but that doesn’t cover permissions issues or anything else that might occur while trying to stat or read a file. Instead, convert getFile and getDirectory into returning llvm::ErrorOr
      
      Signed-off-by: default avatarHarlan Haskins <harlan@apple.com>
      llvm-svn: 367615
      461f0722
    • Daniel Sanders's avatar
      Move register namespacing definitions from TargetRegisterInfo to Register · 66c8bccc
      Daniel Sanders authored
      Summary:
      The namespacing in Register is currently slightly wrong as there is a
      (rarely used) stack slot namespace too. The namespacing doesn't use
      anything from the Target so we can move the definition from
      TargetRegisterInfo to Register to keep it in one place
      
      Note: To keep the patch reasonably sized for review I've left stub
      functions in the original TargetRegisterInfo. We should update all the uses
      instead
      
      Reviewers: arsenm, bogner, aditya_nandakumar, volkan
      
      Subscribers: wdng, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D65553
      
      llvm-svn: 367614
      66c8bccc
    • Gheorghe-Teodor Bercea's avatar
      [OpenMP] Fix declare target link implementation · 625f59d1
      Gheorghe-Teodor Bercea authored
      Summary:
      This patch fixes the case where variables in different compilation units or the same compilation unit are under the declare target link clause AND have the same name.
      This also fixes the name clash error that occurs when unified memory is activated.
      The changes in this patch include:
      - Pointers to internal variables are given unique names.
      - Externally visible variables are given the same name as before.
      - All pointer variables (external or internal) are weakly linked.
      
      Reviewers: ABataev, jdoerfert, caomhin
      
      Reviewed By: ABataev
      
      Subscribers: lebedev.ri, guansong, cfe-commits
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D64592
      
      llvm-svn: 367613
      625f59d1
    • Sanjay Patel's avatar
      [AArch64][x86] adjust tests with shift-add-shift; NFC · 8560ea55
      Sanjay Patel authored
      Prevent folding away the math completely.
      
      llvm-svn: 367612
      8560ea55
    • Csaba Dabis's avatar
      [analyzer] StackFrameContext: Add NodeBuilderContext::blockCount() to its profile · 7740c6d6
      Csaba Dabis authored
      Summary:
      It allows discriminating between stack frames of the same call that is
      called multiple times in a loop.
      
      Thanks to Artem Dergachev for the great idea!
      
      Reviewed By: NoQ
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D65587
      
      llvm-svn: 367608
      7740c6d6
    • Sanjay Patel's avatar
      [AArch64][x86] add tests for shift-add-shift; NFC (PR42644) · cb3140b7
      Sanjay Patel authored
      llvm-svn: 367607
      cb3140b7
    • Eric Fiselier's avatar
      Teach malloc_allocator how to count bytes · 8f2124b4
      Eric Fiselier authored
      llvm-svn: 367606
      8f2124b4
    • Eric Fiselier's avatar
      Change default bucket count in hash_set/hash_map. · 3eb5aec6
      Eric Fiselier authored
      Previously these types rehashed to a table of 193 elements
      upon construction. But this is non-ideal, first because default
      constructors should not allocate unless necessary, and second
      because 193 is big and can waste a bunch of memory.
      
      This number had previously been chosen to match GCC's implementation.
      
      llvm-svn: 367605
      3eb5aec6
    • Matt Arsenault's avatar
      GlobalISel: Lower scalarizing unmerge of a vector to shifts · d9d30a40
      Matt Arsenault authored
      AMDGPU sometimes has legal s16 and <2 x s16> operations, but all
      registers are really 32-bit. An unmerge destination really should ben
      widened to a 32-bit register. If widening a scalarizing vector with a
      target size that matches the vector size, bitcast to integer and
      extract the relevant bits with shifts.
      
      I'm not sure if this is the right place for this. This could arguably
      be part of widenScalar for the result. I also have a growing feeling
      that we're missing a bitcast legalize action.
      
      llvm-svn: 367604
      d9d30a40
    • Sjoerd Meijer's avatar
      Follow up of rL367592, fix the build · e0dfce07
      Sjoerd Meijer authored
      Some buildbots complained about:
      error: default label in switch which covers all enumeration values
      
      llvm-svn: 367603
      e0dfce07
    • Yuanfang Chen's avatar
      Test linux only for absolute paths in the -fuse-ld option · f6d42dcc
      Yuanfang Chen authored
      Some target do not use this option and may emit a error message for
      using it.
      
      llvm-svn: 367602
      f6d42dcc
    • Craig Topper's avatar
      [X86] In decomposeMulByConstant, legalize the VT before querying whether the multiply is legal · a9ed5436
      Craig Topper authored
      If a type is larger than a legal type and needs to be split, we would previously allow the multiply to be decomposed even if the split multiply is legal. Since the shift + add/sub code would also need to be split, its not any better to decompose it.
      
      This patch figures out what type the mul will eventually be legalized to and then uses that type for the query. I tried just returning false illegal types and letting them get handled after type legalization, but then we can't recognize and i64 constant splat on 32-bit targets since will be destroyed by type legalization. We could special case vectors of i64 to avoid that...
      
      Differential Revision: https://reviews.llvm.org/D65533
      
      llvm-svn: 367601
      a9ed5436
    • Craig Topper's avatar
      [X86] Add some test cases for 512-bit truncate to 128-bits with... · 005cc423
      Craig Topper authored
      [X86] Add some test cases for 512-bit truncate to 128-bits with min-legal-vector-width=0 and prefer-vector-width=256.
      
      We currently split the 512 type, truncate each half to 128 bits,
      concatenate them, and then truncate again. Probably better to
      truncate each half to 64-bits and then concat the results
      using vpunpcklqdq.
      
      llvm-svn: 367600
      005cc423
    • Martin Storsjö's avatar
      [COFF] Fix wholearchive with thin archives · 90b4388f
      Martin Storsjö authored
      The Archive object created when loading an archive specified with
      wholearchive got cleaned up immediately, when the owning std::unique_ptr
      went out of scope, even if persisted StringRefs pointed to memory that
      belonged to the archive, which no longer was mapped in memory.
      
      This hasn't been an issue with regular (as opposed to thin) archives,
      as references to the member objects has kept the mapping for the whole
      archive file alive - but with thin archives, all such references point
      to other files.
      
      Add the std::unique_ptr to the arena allocator, to retain it as long
      as necessary.
      
      This fixes (the last issue raised in) PR42388.
      
      Differential Revision: https://reviews.llvm.org/D65565
      
      llvm-svn: 367599
      90b4388f
    • Matt Arsenault's avatar
      AMDGPU: Remove v0 workaround for DS_GWS_* instructions · bb582ebd
      Matt Arsenault authored
      Any register should work for the src field since r366067, since the
      used value is not pulled from the expected encoding field.
      
      llvm-svn: 367598
      bb582ebd
    • Matt Arsenault's avatar
      CodeGen: Allow virtual registers in bundles · e56a2ad8
      Matt Arsenault authored
      The note in the documentation suggests this restriction is a compile
      time optimization for architectures that make heavy use of
      bundling. Allowing virtual registers in a bundle is useful for some
      (non-R600) AMDGPU use cases and are infrequent enough to matter.
      
      A more common AMDGPU use case has already been using virtual registers
      in bundles since r333691, although never calling finalizeBundle on
      them and manually creating the use/def list on the BUNDLE
      instruction. This is also relatively infrequent, and only happens for
      consecutive sequences of some load/store types.
      
      llvm-svn: 367597
      e56a2ad8
    • Alina Sbirlea's avatar
      [SimplifyCFG] Mark missed Changed to true. · 3af2a695
      Alina Sbirlea authored
      Summary:
      DominatorTree is invalid after SimplifyCFG because of a missed `Changed = true` when simplifying a branch condition and removing an edge.
      Resolves PR42272.
      
      Reviewers: zhizhouy, manojgupta
      
      Subscribers: jlebar, sanjoy.google, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D65490
      
      llvm-svn: 367596
      3af2a695
Loading