1. [TLI] Support for per-Function TLI that overrides available libfuncs (details)
  2. [llvm-cxxfilt] Correctly demangle COFF import thunk (details)
  3. [SystemZ]  Improve verification of MachineOperands. (details)
  4. Revert "[clangd] Reapply b60896fad926 Fall back to selecting (details)
  5. [lit] max_failures does not need to be stored in LitConfig (details)
Commit 878ab6df033d44430939c02075ee00800995dc3b by tejohnson
[TLI] Support for per-Function TLI that overrides available libfuncs
Follow-on to D66428 and D71193, to build the TLI per-function so that
-fno-builtin* handling can be migrated to use function attributes. See
discussion on D61634 for background. This is an enabler for fixing
handling of these options for LTO, for example.
With D71193, the -fno-builtin* flags are converted to function
attributes, so we can now set this information per-function on the TLI.
In this patch, the TLI constructor is changed to take a Function, which
can be used to override the available builtins. The TLI is augmented
with an array that can be used to specify which builtins are not
available for the corresponding function. The available function checks
are changed to consult this override before checking the underlying
module level baseline TLII. New code is added to set this override array
based on the attributes.
I also removed the code that sets availability in the TLII in clang from
the options, which is no longer needed.
I removed a per-Triple caching of TLII objects in the analysis object,
as it is based on the Module's Triple which is the same for all
functions in any case. Is there a case where we would be compiling
multiple Modules with different Triples in one compilation?
Finally, I have changed the legacy analysis wrapper to create and use
the new PM analysis class (TargetLibraryAnalysis) in getTLI. This is
consistent with the behavior of getTTI for the legacy
TargetTransformInfo analysis. This change means that getTLI now creates
a new TLI on each call (although that should be very cheap as we cache
the module level TLII, and computing the per-function attribute based
availability should also be reasonably efficient). I measured the
compile time for a large C++ file with tens of thousands of functions
and as expected there was no increase.
Reviewers: chandlerc, hfinkel, gchatelet
Subscribers: mehdi_amini, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.h
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
Commit 2597135571ecae435e10e9136d1eb0435beca8ee by Steven Wu
[llvm-cxxfilt] Correctly demangle COFF import thunk
Summary: llvm-cxxfilt wasn't correctly demangle COFF import thunk in
those two cases before:
* demangle in split mode (multiple words from commandline)
* the import thunk prefix was added no matter the later part of the
string can be demangled or not Now llvm-cxxfilt should handle both case
Reviewers: compnerd, erik.pilkington, jhenderson
Reviewed By: jhenderson
Subscribers: jkorous, dexonsmith, ributzka, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedllvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
The file was modifiedllvm/test/tools/llvm-cxxfilt/coff-import.test
Commit 49f55dda011ba80abeece9c44d667415eaf9ccb4 by paulsson
[SystemZ]  Improve verification of MachineOperands.
Now that the machine verifier will check for cases of register/immediate
MachineOperands and their correspondence to the MC instruction
descriptor, this patch adds the operand types to the descriptors where
they were previously missing. All MCOI::OPERAND_UNKNOWN operand types
have been handled to get a known type, except for G_... (global isel)
Review: Ulrich Weigand
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/
The file was addedllvm/test/CodeGen/SystemZ/mverify-optypes.mir
Commit 6af1ad20d60ef8ea23f2cfdb02d299b3b3114b06 by sam.mccall
Revert "[clangd] Reapply b60896fad926 Fall back to selecting
token-before-cursor if token-after-cursor fails."
This reverts commit a0ff8cd631add513423fc2d8afa49e9650d01fe3. Buildbot
failures I can't chase further tonight.
The file was modifiedclang-tools-extra/clangd/unittests/SelectionTests.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TweakTests.cpp
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
The file was modifiedclang-tools-extra/clangd/refactor/Tweak.h
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/Selection.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/refactor/Tweak.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TweakTesting.cpp
The file was modifiedclang-tools-extra/clangd/SemanticSelection.cpp
The file was modifiedclang-tools-extra/clangd/Selection.h
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
Commit 00ffa744f978da119a759f144c58e83365e4e170 by julian.lettner
[lit] max_failures does not need to be stored in LitConfig
The file was modifiedllvm/utils/lit/lit/
The file was modifiedllvm/utils/lit/lit/
The file was modifiedllvm/utils/lit/lit/
The file was modifiedllvm/utils/lit/lit/