Skip to content
Snippets Groups Projects
  1. Oct 08, 2016
  2. Oct 07, 2016
  3. Oct 06, 2016
  4. Oct 04, 2016
  5. Oct 02, 2016
  6. Oct 01, 2016
  7. Sep 30, 2016
    • Samuel Antao's avatar
      [CUDA][OpenMP] Add a generic offload action builder · 05f97701
      Samuel Antao authored
      Summary:
      This patch proposes a new class to generate and record action dependences related with offloading. The builder provides three main functionalities:
      - Add device dependences to host actions.
      - Add host dependence to device actions.
      - Register device top-level actions.
      
      The constructor of the builder detect the programming models that should be supported, and generates a specialized builder for each. If a new programming model is to be added in the future, only a new specialized builder has to be implemented. 
      
      When the specialized builder is generated, it produces programming-model-specific diagnostics.
      
      A CUDA specialized builder is proposed in the patch that mostly consists of the partition of the current  `buildCudaAction` by the three different functionalities.
      
      Reviewers: tra, echristo, ABataev, jlebar, hfinkel
      
      Subscribers: Hahnfeld, whchung, guansong, jlebar, mehdi_amini, andreybokhanko, tcramer, mkuron, cfe-commits, arpith-jacob, carlo.bertolli, caomhin
      
      Differential Revision: https://reviews.llvm.org/D18172
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282865 91177308-0d34-0410-b5e6-96231b3b80d8
      05f97701
  8. Sep 29, 2016
  9. Sep 28, 2016
  10. Sep 26, 2016
  11. Sep 24, 2016
  12. Sep 23, 2016
    • Teresa Johnson's avatar
      [LTO] Add -flto-jobs=N to control backend parallelism · a428e7b3
      Teresa Johnson authored
      Summary:
      Currently, a linker option must be used to control the backend
      parallelism of ThinLTO. The linker option varies depending on the
      linker (e.g. gold vs ld64). Add a new clang option -flto-jobs=N
      to control this.
      
      I've added in the wiring to pass this to the gold plugin. I also
      added in the logic to pass this down in the form I understand that
      ld64 uses on MacOS, for the darwin target.
      
      Reviewers: mehdi_amini, dexonsmith
      
      Subscribers: mehdi_amini, cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D24826
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282291 91177308-0d34-0410-b5e6-96231b3b80d8
      a428e7b3
    • Etienne Bergeron's avatar
      [asan] Fix incorrect SEH symbol mangling on win64. · 0243a878
      Etienne Bergeron authored
      Summary:
      The ASAN unittests are failing (check-asan-dynamic) due to an incorrect symbol name:
      ```
      LINK : error LNK2001: unresolved external symbol ___asan_seh_interceptor
      ```
      
      On win64, the linker is not adding an extra underscore. This was correctly fixed in the same file for other uses.
      
      After that patch, most of the unittests are passing, but some related to SEH needs to be fixed.
      ```
      Failing Tests (4):
          AddressSanitizer-x86_64-windows-dynamic :: TestCases/Windows/dll_intercept_memchr.cc
          AddressSanitizer-x86_64-windows-dynamic :: TestCases/Windows/dll_intercept_memcpy_indirect.cc
          AddressSanitizer-x86_64-windows-dynamic :: TestCases/Windows/dll_seh.cc
          AddressSanitizer-x86_64-windows-dynamic :: TestCases/Windows/seh.cc
      
        Expected Passes    : 339
        Passes With Retry  : 3
        Expected Failures  : 16
        Unsupported Tests  : 152
        Unexpected Failures: 4
      ```
      
      Reviewers: rnk, kcc, majnemer
      
      Subscribers: majnemer, chrisha, cfe-commits
      
      Differential Revision: https://reviews.llvm.org/D24841
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282251 91177308-0d34-0410-b5e6-96231b3b80d8
      0243a878
  13. Sep 20, 2016
  14. Sep 16, 2016
  15. Sep 15, 2016
    • Simon Dardis's avatar
      [mips][ias] Enable IAS by default for N64 on Debian mips64el. · d8b1094f
      Simon Dardis authored
      Unfortunately we can't enable it for all N64 because it is not yet possible to
      distinguish N32 from N64 from the triple on other environments.
      
      N64 has been confirmed to produce identical (within reason) objects to GAS
      during stage 2 of compiler recursion on N64-abi Fedora. Unfortunately,
      Fedora's triples do not distinguish N32 from N64 so I can't enable it by
      default there. I'm currently repeating this testing for Debian mips64el but
      it's very unlikely to produce a different result.
      
      Patch by: Daniel Sanders
      
      Reviewers: sdardis
      
      Differential Review: https://reviews.llvm.org/D22679
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281610 91177308-0d34-0410-b5e6-96231b3b80d8
      d8b1094f
  16. Sep 14, 2016
  17. Sep 13, 2016
    • Adam Nemet's avatar
      Reapply r281276 with passing -emit-llvm in one of the tests · 8a7af2f3
      Adam Nemet authored
      Original commit message:
      
      Add -fdiagnostics-show-hotness
      
      Summary:
      I've recently added the ability for optimization remarks to include the
      hotness of the corresponding code region.  This uses PGO and allows
      filtering of the optimization remarks by relevance.  The idea was first
      discussed here:
      http://thread.gmane.org/gmane.comp.compilers.llvm.devel/98334
      
      The general goal is to produce a YAML file with the remarks.  Then, an
      external tool could dynamically filter these by hotness and perhaps by
      other things.
      
      That said it makes sense to also expose this at the more basic level
      where we just include the hotness info with each optimization remark.
      For example, in D22694, the clang flag was pretty useful to measure the
      overhead of the additional analyses required to include hotness.
      (Without the flag we don't even run the analyses.)
      
      For the record, Hal has already expressed support for the idea of this
      patch on IRC.
      
      Differential Revision: https://reviews.llvm.org/D23284
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281293 91177308-0d34-0410-b5e6-96231b3b80d8
      8a7af2f3
    • Adam Nemet's avatar
      Revert "Add -fdiagnostics-show-hotness" · 8503d694
      Adam Nemet authored
      This reverts commit r281276.
      
      Many bots are failing.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281279 91177308-0d34-0410-b5e6-96231b3b80d8
      8503d694
    • Adam Nemet's avatar
      Add -fdiagnostics-show-hotness · fd2a481c
      Adam Nemet authored
      Summary:
      I've recently added the ability for optimization remarks to include the
      hotness of the corresponding code region.  This uses PGO and allows
      filtering of the optimization remarks by relevance.  The idea was first
      discussed here:
      http://thread.gmane.org/gmane.comp.compilers.llvm.devel/98334
      
      The general goal is to produce a YAML file with the remarks.  Then, an
      external tool could dynamically filter these by hotness and perhaps by
      other things.
      
      That said it makes sense to also expose this at the more basic level
      where we just include the hotness info with each optimization remark.
      For example, in D22694, the clang flag was pretty useful to measure the
      overhead of the additional analyses required to include hotness.
      (Without the flag we don't even run the analyses.)
      
      For the record, Hal has already expressed support for the idea of this
      patch on IRC.
      
      Differential Revision: https://reviews.llvm.org/D23284
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281276 91177308-0d34-0410-b5e6-96231b3b80d8
      fd2a481c
  18. Sep 09, 2016
  19. Sep 07, 2016
  20. Sep 01, 2016
    • Nick Lewycky's avatar
      Add -fprofile-dir= to clang. · 1051c8ca
      Nick Lewycky authored
      -fprofile-dir=path allows the user to specify where .gcda files should be
      emitted when the program is run. In particular, this is the first flag that
      causes the .gcno and .o files to have different paths, LLVM is extended to
      support this. -fprofile-dir= does not change the file name in the .gcno (and
      thus where lcov looks for the source) but it does change the name in the .gcda
      (and thus where the runtime library writes the .gcda file). It's different from
      a GCOV_PREFIX because a user can observe that the GCOV_PREFIX_STRIP will strip
      paths off of -fprofile-dir= but not off of a supplied GCOV_PREFIX.
      
      To implement this we split -coverage-file into -coverage-data-file and
      -coverage-notes-file to specify the two different names. The !llvm.gcov
      metadata node grows from a 2-element form {string coverage-file, node dbg.cu}
      to 3-elements, {string coverage-notes-file, string coverage-data-file, node
      dbg.cu}. In the 3-element form, the file name is already "mangled" with
      .gcno/.gcda suffixes, while the 2-element form left that to the middle end
      pass.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@280306 91177308-0d34-0410-b5e6-96231b3b80d8
      1051c8ca
  21. Aug 31, 2016
  22. Aug 30, 2016
    • Richard Smith's avatar
      Unrevert r280035 now that the clang-cl bug it exposed has been fixed by · 3ec1cdd4
      Richard Smith authored
      r280133. Original commit message:
      
      C++ Modules TS: driver support for building modules.
      
      This works as follows: we add --precompile to the existing gamut of options for
      specifying how far to go when compiling an input (-E, -c, -S, etc.). This flag
      specifies that an input is taken to the precompilation step and no further, and
      this can be specified when building a .pcm from a module interface or when
      building a .pch from a header file.
      
      The .cppm extension (and some related extensions) are implicitly recognized as
      C++ module interface files. If --precompile is /not/ specified, the file is
      compiled (via a .pcm) to a .o file containing the code for the module (and then
      potentially also assembled and linked, if -S, -c, etc. are not specified). We
      do not yet suppress the emission of object code for other users of the module
      interface, so for now this will only work if everything in the .cppm file has
      vague linkage.
      
      As with the existing support for module-map modules, prebuilt modules can be
      provided as compiler inputs either via the -fmodule-file= command-line argument
      or via files named ModuleName.pcm in one of the directories specified via
      -fprebuilt-module-path=.
      
      This also exposes the -fmodules-ts cc1 flag in the driver. This is still
      experimental, and in particular, the concrete syntax is subject to change as
      the Modules TS evolves in the C++ committee. Unlike -fmodules, this flag does
      not enable support for implicitly loading module maps nor building modules via
      the module cache, but those features can be turned on separately and used in
      conjunction with the Modules TS support.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@280134 91177308-0d34-0410-b5e6-96231b3b80d8
      3ec1cdd4
Loading