- Feb 01, 2022
-
-
Sam Clegg authored
Differential Revision: https://reviews.llvm.org/D117747
-
River Riddle authored
This matches the same API usage as attributes/ops/types. For example: ```c++ Dialect *dialect = ...; // Instead of this: if (auto *interface = dialect->getRegisteredInterface<DialectInlinerInterface>()) // You can do this: if (auto *interface = dyn_cast<DialectInlinerInterface>(dialect)) ``` Differential Revision: https://reviews.llvm.org/D117859
-
Fangrui Song authored
-
Tanya Lattner authored
-
Mircea Trofin authored
It isn't cacheable, it can be updated by other events than live interval resizing.
-
Geoffrey Martin-Noble authored
Build failures are not a particularly helpful way to enforce not using deprecated APIs and that isn't the point of the Bazel build. At the same time, this removes `-Wno-unused` this is a check that we do enforce in the Google internal build and so are ok maintaining in our maintenance of the upstream Bazel build (the comment about not wanting to do so was from a time when this was in a separate repository and I was the only one maintaining it). Differential Revision: https://reviews.llvm.org/D118671
-
Changpeng Fang authored
Summary: Add code object v5 support (deafult is still v4) Generate metadata for implicit kernel args for the new ABI Set the metadata version to be 1.2 Reviewers: t-tye, b-sumner, arsenm, and bcahoon Fixes: SWDEV-307188, SWDEV-307189 Differential Revision: https://reviews.llvm.org/D118272
-
Chris Bieneman authored
This should fix the asan issue identified on the Linux asan bot.
-
David Blaikie authored
Some functions can end up non-externally visible despite not being declared "static" or in an unnamed namespace in C++ - such as by having parameters that are of non-external types. Such functions aren't mistakenly intended to be defining some function that needs a declaration. They could be maybe more legible (except for the `operator new` example) with an explicit static, but that's a stylistic thing outside what should be addressed by a warning.
-
Jonas Devlieghere authored
Make sure that the shell tests use the same python interpreter as the rest of the build instead of picking up `python` from the PATH. It would be nice if we could use the _disallow helper, but that triggers on invocations that specify python as the scripting language.
-
Fangrui Song authored
`WriteIndexToFile` is used by external projects so I do not touch it.
-
Fangrui Song authored
D116542 adds EmbedBufferInModule which introduces a layer violation (https://llvm.org/docs/CodingStandards.html#library-layering). See 2d5f857a for detail. EmbedBufferInModule does not use BitcodeWriter functionality and should be moved LLVMTransformsUtils. While here, change the function case to the prevailing convention. It seems that EmbedBufferInModule just follows the steps of EmbedBitcodeInModule. EmbedBitcodeInModule calls WriteBitcodeToFile but has IR update operations which ideally should be refactored to another library. Reviewed By: jhuber6 Differential Revision: https://reviews.llvm.org/D118666
-
Joseph Huber authored
Summary: The changes introduced in D116542 added a dependency on TransformUtils to use the `appendToCompilerUsed` method. This created a circular dependency. This patch simply copies the needed function locally to remove the dependency.
-
Keith Smiley authored
Previously you would get this error: ``` error: unsupported load command (cmd=0x2d) ``` If the binary you were redefining the symbols of contained a LC_LINKER_OPTION load command. This command does not need to be changed when redefining symbols so we can ignore it like many others. Differential Revision: https://reviews.llvm.org/D118526
-
Fangrui Song authored
[Bazel] Add include/llvm/Transforms/Utils/ModuleUtils.h to work around layer violation after D116542 There is a layer violation and can break clang -fmodule-name=X -fmodules-strict-decluse builds: * LLVMTransformUtils has `#include "llvm/Bitcode/BitcodeWriterPass.h"` * LLVMBitWriter depends on LLVMTransformUtils after D116542 Temporarily work around the issue.
-
Michael Kruse authored
When the stepsize does not evenly divide the range's end, round-up to ensure that that last multiple of the stepsize before the reaching the upper boud is reached. For instance, the trip count of for (int i = 0; i < 7; i+=5) is two (i=0 and i=5), not (7-0)/5 == 1. Reviewed By: peixin Differential Revision: https://reviews.llvm.org/D118542 -
Peter Klausler authored
Use a bit-set to manage runtime-generated I/O unit numbers, recycle them after they're closed, and use a range of values that fits in a minimal-sized integer. Differential Revision: https://reviews.llvm.org/D118651
-
Mircea Trofin authored
Factoring it out so we can subsequently cache it. This should be a NFC, however, for the float quantities, we see small errors in the least significant digits. This is because, before, we were summing up one by one. Now, we sum up results of sums. This shouldn't matter for ML, and will require rework when we do quantization (avoiding floats altogether), but meanwhile, it did require an update to the reference file used for testing. The patch also bumps the precision of the variables involved in this, to reduce the error (note they are casted back to float at the end by the SET macro, since we only work with float and not double in TF) Differential Revision: https://reviews.llvm.org/D118659
-
Snehasish Kumar authored
The logic for getProfileKind for RawInstrProfReader and InstrProfReaderIndex is similar. To avoid duplication, move the logic from the header to InstrProfReader.cpp and introduce a static method which implements the common code. Differential Revision: https://reviews.llvm.org/D118656
-
Snehasish Kumar authored
The definition of the MemInfoBlock is shared between the memprof compiler-rt runtime and llvm/lib/ProfileData/. This change removes the memprof_meminfoblock header and moves the struct to the shared include file. To enable this sharing, the Print method is moved to the memprof_allocator (the only place it is used) and the remaining uses are updated to refer to the MemInfoBlock defined in the MemProfData.inc file. Also a couple of other minor changes which improve usability of the types in MemProfData.inc. * Update the PACKED macro to handle commas. * Add constructors and equality operators. * Don't initialize the buildid field. Differential Revision: https://reviews.llvm.org/D116780
-
Peter Klausler authored
When reallocating an I/O buffer to accommodate a large record, ensure that the amount of growth is at least as large as the minimum initial record size (64KiB). The previous policy was causing input buffer reallocation for each byte after the minimum buffer size when scanning input data for record termination newlines. Differential Revision: https://reviews.llvm.org/D118649
-
Dávid Bolvanský authored
The issue is fixed in trunk, so add testcase to avoid regression in the future.
-
Konstantin Varlamov authored
-
Sam Clegg authored
When we don't enable atomics we completely disabled threading in which case there is no point in generating thread safe code for static initialization. This should always be safe because, in WebAssembly, it is not possible to link object compiled without the atomics feature into a mutli-threaded program. See https://github.com/emscripten-core/emscripten/pull/16152 Differential Revision: https://reviews.llvm.org/D118571
-
Chris Bieneman authored
This fixes the unit tests so that it is skipped if there is no default target triple set. Unset default target triple is a supported build configuration for LLVM.
-
Mircea Trofin authored
This is because a subsequent patch will propose obtaining the VRAI from the advisor, which will enable feature caching for the ML advisor, for better compile time. Making this change first as it's both innocuous and keeps the future patch to be reviewed small.
-
Joachim Protze authored
Temporary solution for #53467, since debian test machines do not support DWARF v5.
-
Kirill Stoimenov authored
Also added some more test to cover the "else if" part. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D118645
-
Joseph Huber authored
Summary: Previously this test used a hard-coded triple value in the check lines wihch failed on other architectures. This patch changes that to accept any host triple.
-
Itay Bookstein authored
Signed-off-by:
Itay Bookstein <ibookstein@gmail.com> Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D118619
-
Mircea Trofin authored
We plan to pass the MachineFunction& to APIs that expect it non-const (for legitimate reasons). The advisor still holds the ref as a const ref, though, so we keep most of the maintainability value of that.
-
Peter Klausler authored
For "USE, INTRINSIC", search only for intrinsic modules; for "USE, NON_INTRINSIC", do not recognize intrinsic modules. Allow modules of both kinds with the same name to be used in the same source file (but not in the same scoping unit, a constraint of the standard that is now enforced). The symbol table's scope tree now has a single instance of a scope with a new kind, IntrinsicModules, whose children are the USE'd intrinsic modules (explicit or not). This separate "top-level" scope is a child of the single global scope and it allows both intrinsic and non-intrinsic modules of the same name to exist in the symbol table. Intrinsic modules' scopes' symbols now have the INTRINSIC attribute set. The search path directories need to make a distinction between regular directories and the one(s) that point(s) to intrinsic modules. I allow for multiple intrinsic module directories in the second search path, although only one is needed today. Differential Revision: https://reviews.llvm.org/D118631
-
William S. Moses authored
When upgrading a loop of load/store to a memcpy, the existing pass does not keep existing aliasing information. This patch allows existing aliasing information to be kept. Reviewed By: jeroen.dobbelaere Differential Revision: https://reviews.llvm.org/D108221
-
Nico Weber authored
-
Martin Storsjö authored
The old `__regex_word` aliased the mask for `xdigit`, causing stray test failures. The diff may look surprising, as if the previous faulty value had been set specifically for Windows - but this is due to a restructuring in 411c630b. Prior to that, there were OS specific settings for some OSes, and one fallback used for the rest (which turns out to not work for Windows). Differential Revision: https://reviews.llvm.org/D118188
-
David Greene authored
Re-add filtering options with fixes for failed tests. We were not passing the is_filtered argument in all check generator calls in update_cc_test_checks.py Enhance the various update_*_test_checks.py tools to allow filtering the tool output with regular expressions. The --filter option will emit only tool output lines matching the given regular expression while the --filter-out option will emit only tools output lines not matching the given regular expression. Filters are applied in order of appearance on the command line (or in UTC_ARGS) and the first matching filter terminates the search. This allows test authors to create more focused tests by removing irrelevant tool output and checking only the pieces of output necessary to test the desired functionality. Differential Revision: https://reviews.llvm.org/D117694
-
tyb0807 authored
This removes `HasPAUTH` from `AArch64SubTarget`, as it seems to be a redundant, unused copy of `HasPAuth`. Differential Revision: https://reviews.llvm.org/D117782
-
tyb0807 authored
New target SDNodes are added: AArch64ISD::MOPS_MEMSET, etc. Each intrinsic is translated to one of these in SelectionDAGBuilder via EmitTargetCodeForMOPS. A custom lowering routine for INTRINSIC_W_CHAIN is added to handle llvm.aarch64.mops.memset.tag. This takes a separate path from the common intrinsics but ultimately ends up in the same EmitMOPS(). This is part 4/4 of a series of patches split from https://reviews.llvm.org/D117405 to facilitate reviewing. Patch by Tomas Matheson, Lucas Prates and Son Tuan Vu. Differential Revision: https://reviews.llvm.org/D117764
-
Joseph Huber authored
This patch introduces a linker wrapper tool that allows us to preprocess files before they are sent to the linker. This adds a dummy action and job to the driver stage that builds the linker command as usual and then replaces the command line with the wrapper tool. Depends on D116543 Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D116544
-
Joseph Huber authored
This patch adds support for embedding the device object files into the host IR to create a fat binary. Each offloading file will be inserted into a section with the following naming format `.llvm.offloading.<triple>.<arch>.<filename>`. Depends on D116542 Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D116543
-