Skip to content
  1. Apr 30, 2018
    • Matt Arsenault's avatar
      AMDGPU: Add Vega12 and Vega20 · d2da3c20
      Matt Arsenault authored
      Changes by
        Matt Arsenault
        Konstantin Zhuravlyov
      
      llvm-svn: 331216
      d2da3c20
    • Hans Wennborg's avatar
      clang-cl: Expose -fmerge-all-constants · 45c7205b
      Hans Wennborg authored
      Now that constant merging is off by default, we'd like a way to enable
      it on Windows.
      
      llvm-svn: 331214
      45c7205b
    • Alexey Bataev's avatar
      [OPENMP] Do not emit warning about non-declared target function params. · d0df36a7
      Alexey Bataev authored
      We should not emit warning that the parameters are not marked as declare
      target, these declaration are local and cannot be marked as declare
      target.
      
      llvm-svn: 331211
      d0df36a7
    • Sanjay Patel's avatar
      [Driver, CodeGen] rename options to disable an FP cast optimization · c81450e2
      Sanjay Patel authored
      As suggested in the post-commit thread for rL331056, we should match these 
      clang options with the established vocabulary of the corresponding sanitizer
      option. Also, the use of 'strict' is well-known for these kinds of knobs, 
      and we can improve the descriptive text in the docs.
      
      So this intends to match the logic of D46135 but only change the words.
      Matching LLVM commit to match this spelling of the attribute to follow shortly.
      
      Differential Revision: https://reviews.llvm.org/D46236
      
      llvm-svn: 331209
      c81450e2
    • Alexey Bataev's avatar
      [OPENMP] Do not crash on codegen for CXX member functions. · dadf2d12
      Alexey Bataev authored
      Non-static member functions should not be emitted as a standalone
      functions, this leads to compiler crash.
      
      llvm-svn: 331206
      dadf2d12
    • Alexey Bataev's avatar
      [OPENMP] Do not crash on incorrect input data. · 64e62dcf
      Alexey Bataev authored
      Emit error messages instead of compiler crashing when the target region
      does not exist in the device code + fix crash when the location comes
      from macros.
      
      llvm-svn: 331195
      64e62dcf
    • Mikhail Maltsev's avatar
      [Targets] Implement getConstraintRegister for ARM and AArch64 · 89f7b46b
      Mikhail Maltsev authored
      Summary:
      The getConstraintRegister method is used by semantic checking of
      inline assembly statements in order to diagnose conflicts between
      clobber list and input/output lists. Currently ARM and AArch64 don't
      override getConstraintRegister, so conflicts between registers
      assigned to variables in asm labels and clobber lists are not
      diagnosed. Such conflicts can cause assertion failures in the back end
      and even miscompilations.
      
      This patch implements getConstraintRegister for ARM and AArch64
      targets. Since these targets don't have single-register constraints,
      the implementation is trivial and just returns the register specified
      in an asm label (if any).
      
      Reviewers: eli.friedman, javed.absar, thopre
      
      Reviewed By: thopre
      
      Subscribers: rengolin, eraman, rogfer01, myatsina, kristof.beyls, cfe-commits, chrib
      
      Differential Revision: https://reviews.llvm.org/D45965
      
      llvm-svn: 331164
      89f7b46b
    • Richard Smith's avatar
      PR37189 Fix incorrect end source location and spelling for a split '>>' token. · b5f8171a
      Richard Smith authored
      When a '>>' token is split into two '>' tokens (in C++11 onwards), or (as an
      extension) when we do the same for other tokens starting with a '>', we can't
      just use a location pointing to the first '>' as the location of the split
      token, because that would result in our miscomputing the length and spelling
      for the token. As a consequence, for example, a refactoring replacing 'A<X>'
      with something else would sometimes replace one character too many, and
      similarly diagnostics highlighting a template-id source range would highlight
      one character too many.
      
      Fix this by creating an expansion range covering the first character of the
      '>>' token, whose spelling is '>'. For this to work, we generalize the
      expansion range of a macro FileID to be either a token range (the common case)
      or a character range (used in this new case).
      
      llvm-svn: 331155
      b5f8171a
  2. Apr 29, 2018
  3. Apr 28, 2018
  4. Apr 27, 2018
  5. Apr 26, 2018
  6. Apr 25, 2018
    • Artem Dergachev's avatar
      [analyzer] Enable analysis of WebKit "unified sources". · 516837f2
      Artem Dergachev authored
      Normally the analyzer begins path-sensitive analysis from functions within
      the main file, even though the path is allowed to go through any functions
      within the translation unit.
      
      When a recent version of WebKit is compiled, the "unified sources" technique
      is used, that assumes #including multiple code files into a single main file.
      Such file would have no functions defined in it, so the analyzer wouldn't be
      able to find any entry points for path-sensitive analysis.
      
      This patch pattern-matches unified file names that are similar to those
      used by WebKit and allows the analyzer to find entry points in the included
      code files. A more aggressive/generic approach is being planned as well.
      
      Differential Revision: https://reviews.llvm.org/D45839
      
      llvm-svn: 330876
      516837f2
    • Dan Albert's avatar
      [Driver] Reland "Android triples are not aliases for other triples." · ed8b8fdc
      Dan Albert authored
      Fixed directory separators in tests to be compatible with both
      Windows and !Windows.
      
      This reverts commit aa423850afa4c16a53c4c492fe254dcad3d5a53e.
      
      llvm-svn: 330873
      ed8b8fdc
    • Martin Storsjö's avatar
      aadc1c8b
    • Martin Storsjö's avatar
      [Driver] Fix implicit config files from prefixed symlinks · 1fab23da
      Martin Storsjö authored
      If -no-canonical-prefixes isn't used, the clang executable name used
      is the one of the actual executable, not the name of the symlink that
      the user invoked.
      
      In these cases, the target prefix was overridden based on the clang
      executable name. (On the other hand the implicit -target option
      that such a symlink adds, is added as an actual command line parameter
      in tools/driver/driver.cop, before resolving the symlink and finding
      the actual clang executable.
      
      Use the original ClangNameParts (set from argv[0] in
      tools/driver/driver.cpp) if it seems to be initialized propery.
      
      All existing tests of this feature used -no-canonical-prefixes
      (possibly because it also makes the driver look in the directory
      of the symlink instead of the directory of the executable); add
      another one that uses --config-user-dir= to specify the directory
      instead. (For actual users of such symlinks, outisde of the test
      suite, the directory is probably the same for both.)
      
      This makes this feature work more like what the documentation
      describes.
      
      Differential Revision: https://reviews.llvm.org/D45964
      
      llvm-svn: 330871
      1fab23da
Loading