Skip to content
  1. Jun 30, 2016
  2. Jun 29, 2016
    • Michael Gottesman's avatar
    • Michael Gottesman's avatar
      [ClangConfig] Unset some variables after we are done using them to configure... · ccc31a17
      Michael Gottesman authored
      [ClangConfig] Unset some variables after we are done using them to configure ClangConfig.cmake.in files.
      
      This ensures that the values do not bleed over in between computations. It may
      make sense in the future to just refactor this code into functions to provide
      "true scoping".
      
      llvm-svn: 274179
      ccc31a17
    • Michael Gottesman's avatar
      [ClangConfig] Instead of hard coding the ClangTargets location to... · 497e97ff
      Michael Gottesman authored
      [ClangConfig] Instead of hard coding the ClangTargets location to /ClangTargets.cmake, follow LLVM's example and use a pre-computed cmake variable @CLANG_CONFIG_EXPORTS_FILE@.
      
      This just makes ClangConfig more consistent with LLVMConfig.
      
      llvm-svn: 274178
      497e97ff
    • Michael Gottesman's avatar
      [ClangConfig] Follow LLVM's example and only install... · 1b87cd39
      Michael Gottesman authored
      [ClangConfig] Follow LLVM's example and only install Clang{Config,Target}.cmake when LLVM_INSTALL_TOOLCHAIN_ONLY is disabled.
      
      llvm-svn: 274177
      1b87cd39
    • Michael Gottesman's avatar
      [cmake] Instead of just copying ClangConfig.cmake, configure it using ClangConfig.cmake.in. · 905426e6
      Michael Gottesman authored
      This will allow for cmake to expand variables in ClangConfig.cmake for
      downstream users.
      
      llvm-svn: 274176
      905426e6
    • Michael Gottesman's avatar
      [LLVMConfig.cmake] LLVM_CONFIG_EXPORTED_TARGETS => LLVM_EXPORTED_TARGETS. · fb8c2e9c
      Michael Gottesman authored
      This matches more closely the rest of the variables in LLVMConfig.cmake which
      shed the _CONFIG_ part of their names.
      
      llvm-svn: 274175
      fb8c2e9c
    • Etienne Bergeron's avatar
      [compiler-rt] Fix Sanitizer-common Unittests on win64 · 94500cb5
      Etienne Bergeron authored
      Summary:
      This patch is fixing unittests that are broken on windows (64-bits).
      
      Tests under 'SANITIZER_CAN_USE_ALLOCATOR64' are disabled.
      A custom allocator for windows based on WinHeap API will replace these tests.
      
      Tested on Win32/Win64 (Ninja and MSVC).
      Tested on Linux 32-bit/64-bit clang.
      
      ```
      C:\src\llvm\build64\projects\compiler-rt>lib\sanitizer_common\tests\Release\Sanitizer-x86_64-Test.exe
      [==========] Running 101 tests from 12 test cases.
      [----------] Global test environment set-up.
      [----------] 51 tests from SanitizerCommon
      [ RUN      ] SanitizerCommon.DefaultSizeClassMap
      [       OK ] SanitizerCommon.DefaultSizeClassMap (1 ms)
      [ RUN      ] SanitizerCommon.CompactSizeClassMap
      [       OK ] SanitizerCommon.CompactSizeClassMap (1 ms)
      [ RUN      ] SanitizerCommon.InternalSizeClassMap
      [       OK ] SanitizerCommon.InternalSizeClassMap (1 ms)
      [ RUN      ] SanitizerCommon.SizeClassAllocator32Compact
      [       OK ] SanitizerCommon.SizeClassAllocator32Compact (828 ms)
      [ RUN      ] SanitizerCommon.SizeClassAllocator32CompactMetadataStress
      [       OK ] SanitizerCommon.SizeClassAllocator32CompactMetadataStress (914 ms)
      [ RUN      ] SanitizerCommon.SizeClassAllocator32MapUnmapCallback
      
      [...]
      
      [----------] 4 tests from Symbolizer
      [ RUN      ] Symbolizer.ExtractToken
      [       OK ] Symbolizer.ExtractToken (0 ms)
      [ RUN      ] Symbolizer.ExtractInt
      [       OK ] Symbolizer.ExtractInt (0 ms)
      [ RUN      ] Symbolizer.ExtractUptr
      [       OK ] Symbolizer.ExtractUptr (0 ms)
      [ RUN      ] Symbolizer.ExtractTokenUpToDelimiter
      [       OK ] Symbolizer.ExtractTokenUpToDelimiter (0 ms)
      [----------] 4 tests from Symbolizer (24 ms total)
      
      [----------] Global test environment tear-down
      [==========] 101 tests from 12 test cases ran. (5090 ms total)
      [  PASSED  ] 101 tests.
      ```
      
      Reviewers: rnk
      
      Subscribers: chrisha, wang0109, llvm-commits, kubabrecka
      
      Differential Revision: http://reviews.llvm.org/D21817
      
      llvm-svn: 274174
      94500cb5
    • Vedant Kumar's avatar
      [llvm-cov] Use relative paths to file reports in -output-dir mode · d6d192cd
      Vedant Kumar authored
      This makes it possible to e.g copy a report to another filesystem.
      
      llvm-svn: 274173
      d6d192cd
    • Etienne Bergeron's avatar
      [compiler-rt] Fix the Asan unittest on Windows · 30ece958
      Etienne Bergeron authored
      Summary:
      The build bot is broken because the runtime library doesn't have
      debug information.
      
      This is broken due to a recent change:
        http://reviews.llvm.org/D21554
      
      Reviewers: rnk
      
      Subscribers: kubabrecka, llvm-commits, chrisha
      
      Differential Revision: http://reviews.llvm.org/D21862
      
      llvm-svn: 274172
      30ece958
    • Zachary Turner's avatar
      Resubmit "Update llvm command line parser to support subcommands." · 07670b3e
      Zachary Turner authored
      This fixes an issue where occurrence counts would be unexpectedly
      reset when parsing different parts of a command line multiple
      times.
      
      **ORIGINAL COMMIT MESSAGE**
      
      This allows command line tools to use syntaxes like the following:
      
            llvm-foo.exe command1 -o1 -o2
            llvm-foo.exe command2 -p1 -p2
      
      Where command1 and command2 contain completely different sets of
      valid options.  This is backwards compatible with previous uses
      of llvm cl which did not support subcommands, as any option
      which specifies no optional subcommand (e.g. all existing
      code) goes into a special "top level" subcommand that expects
      dashed options to appear immediately after the program name.
      For example, code which is subcommand unaware would generate
      a command line such as the following, where no subcommand
      is specified:
      
            llvm-foo.exe -q1 -q2
      
      The top level subcommand can co-exist with actual subcommands,
      as it is implemented as an actual subcommand which is searched
      if no explicit subcommand is specified.  So llvm-foo.exe as
      specified above could be written so as to support all three
      aforementioned command lines simultaneously.
      
      There is one additional "special" subcommand called AllSubCommands,
      which can be used to inject an option into every subcommand.
      This is useful to support things like help, so that commands
      such as:
      
            llvm-foo.exe --help
            llvm-foo.exe command1 --help
            llvm-foo.exe command2 --help
      
      All work and display the help for the selected subcommand
      without having to explicitly go and write code to handle each
      one separately.
      
      This patch is submitted without an example of anything actually
      using subcommands, but a followup patch will convert the
      llvm-pdbdump tool to use subcommands.
      
      Reviewed By: beanz
      
      llvm-svn: 274171
      07670b3e
    • Richard Smith's avatar
      P0305R1: Parsing support for init-statements in 'if' and 'switch' statements. · c7a05a9f
      Richard Smith authored
      No semantic analysis yet.
      
      This is a pain to disambiguate correctly, because the parsing rules for the
      declaration form of a condition and of an init-statement are quite different --
      for a token sequence that looks like a declaration, we frequently need to
      disambiguate all the way to the ')' or ';'.
      
      We could do better here in some cases by stopping disambiguation once we've
      decided whether we've got an expression or not (rather than keeping going until
      we know whether it's an init-statement declaration or a condition declaration),
      by unifying our parsing code for the two types of declaration and moving the
      syntactic checks into Sema; if this has a measurable impact on parsing
      performance, I'll look into that.
      
      llvm-svn: 274169
      c7a05a9f
    • Michael Gottesman's avatar
      [ClangConfig] Copy ClangConfig.cmake to... · 03c38af1
      Michael Gottesman authored
      [ClangConfig] Copy ClangConfig.cmake to ${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR} instead of to ${CLANG_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}.
      
      This is an obvious bug since ClangConfig.cmake looks for ClangTargets.cmake in
      ${CMAKE_CURRENT_LIST_DIR}. But ClangTargets.cmake is in
      ${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}, so it will always fail with an
      in tree build.
      
      In the case where clang is built out of tree, this is still correct since
      CMAKE_BINARY_DIR and CLANG_BINARY_DIR will be the same.
      
      llvm-svn: 274168
      03c38af1
    • Richard Smith's avatar
      Convert another case over to RevertingTentativeParsingAction. · 4556ebe6
      Richard Smith authored
      llvm-svn: 274167
      4556ebe6
    • Richard Smith's avatar
      Switch to an RAII object to revert tentative parsing automatically. · 91b73f25
      Richard Smith authored
      llvm-svn: 274165
      91b73f25
    • Enrico Granata's avatar
      Add NSTaggedPointerString to the table of data formatters · 8ea99cd8
      Enrico Granata authored
      Fixes rdar://27002512
      
      llvm-svn: 274164
      8ea99cd8
    • Artem Belevich's avatar
      Revert r273313 "[NVPTX] Improve lowering of byval args of device functions." · 4d5d7be8
      Artem Belevich authored
      The change causes llvm crash in some unoptimized builds.
      
      llvm-svn: 274163
      4d5d7be8
    • Evgeniy Stepanov's avatar
      StackColoring for SafeStack. · a5da256f
      Evgeniy Stepanov authored
      This is a fix for PR27842.
      
      An IR-level implementation of stack coloring tailored to work with
      SafeStack. It is a bit weaker than the MI implementation in that it
      does not the "lifetime start at first access" logic. This can be
      improved in the future.
      
      This patch also replaces the naive implementation of stack frame
      layout with a greedy algorithm that can split existing stack slots
      and even fit small objects inside the alignment padding of other
      objects.
      
      llvm-svn: 274162
      a5da256f
    • Kevin Enderby's avatar
      Matching change for lld for the llvm change of Archive::create() from... · b9e053cf
      Kevin Enderby authored
      Matching change for lld for the llvm change of Archive::create() from ErrorOr<...> to Expected<...> in r274160.
      
      llvm-svn: 274161
      b9e053cf
    • Kevin Enderby's avatar
      Change Archive::create() from ErrorOr<...> to Expected<...> and update · c60a321c
      Kevin Enderby authored
      its clients.
      
      This commit will break the next lld builds.  I’ll be committing the matching
      change for lld next.
      
      llvm-svn: 274160
      c60a321c
    • Enrico Granata's avatar
      Validate the option index before trying to access an array element using it -... · dadf7b29
      Enrico Granata authored
      Validate the option index before trying to access an array element using it - OptionArgElement can potentially use negative indices to mean interesting, but non option, states
      
      llvm-svn: 274159
      dadf7b29
    • Michael Gottesman's avatar
      [ClangConfig] Replace paths with the same value as CLANG_INSTALL_PACKAGE_DIR... · 3f5275e8
      Michael Gottesman authored
      [ClangConfig] Replace paths with the same value as CLANG_INSTALL_PACKAGE_DIR with a deref of the variable.
      
      llvm-svn: 274158
      3f5275e8
    • Michael Gottesman's avatar
      [cmake] Move creation of ClangTargets and installation of ClangConfig.cmake... · fe9d2d81
      Michael Gottesman authored
      [cmake] Move creation of ClangTargets and installation of ClangConfig.cmake from ./CMakeLists.txt -> ./cmake/modules/CMakeLists.txt.
      
      This matches LLVM.
      
      llvm-svn: 274157
      fe9d2d81
    • Tim Shen's avatar
      [InstCombine] Simplify and correct folding fcmps with the same children · aec68b26
      Tim Shen authored
      Summary: Take advantage of FCmpInst::Predicate's bit pattern and handle (fcmp *, x, y) | (fcmp *, x, y) and (fcmp *, x, y) & (fcmp *, x, y) more consistently. Also fold more FCmpInst::FCMP_FALSE and FCmpInst::FCMP_TRUE to constants.
      
      Currently InstCombine wrongly folds (fcmp ogt, x, y) | (fcmp ord, x, y) to (fcmp ogt, x, y); this patch also fixes that.
      
      Reviewers: spatel
      
      Subscribers: llvm-commits, iteratee, echristo
      
      Differential Revision: http://reviews.llvm.org/D21775
      
      llvm-svn: 274156
      aec68b26
    • Tim Shen's avatar
      [InstCombine, NFC] Change the generated variable names by creating new instructions · 860a67eb
      Tim Shen authored
      This removes some noise for D21775's test changes.
      
      llvm-svn: 274155
      860a67eb
    • Davide Italiano's avatar
      [Triple] Reimplement isLittleEndian(). Now it works for arm too. · 901269c8
      Davide Italiano authored
      Differential Revision:   http://reviews.llvm.org/D21846
      
      llvm-svn: 274154
      901269c8
Loading