- Oct 31, 2020
-
-
Duncan P. N. Exon Smith authored
This reverts commit 940d0a31, effectively reapplying 84e82579, after working around the compile errors on the bots that I wasn't seeing locally. I removed the `constexpr` from `OptionalStorage<FileEntryRef>` that I had cargo-culted from the generic version, since `FileEntryRef` isn't relevant in `constexpr` contexts anyway. The original commit message follows: Make a few changes to the `FileEntryRef` API in preparation for propagating it enough to remove `FileEntry::getName()`. - Allow `FileEntryRef` to degrade implicitly to `const FileEntry*`. This allows functions currently returning `const FileEntry *` to be updated to return `FileEntryRef` without requiring all callers to be updated in the same patch. This helps avoid both (a) massive patches where many fields and locals are updated simultaneously and (b) noisy incremental patches where the first patch adds `getFileEntry()` at call sites and the second patch removes it. (Once `FileEntryRef` is everywhere, we should remove this API.) - Change `operator==` to compare the underlying `FileEntry*`, ignoring any difference in the spelling of the filename. There were 0 users of the existing function because it's not useful. In case comparing the exact named reference becomes important, add/test `isSameRef`. - Add `==` comparisons between `FileEntryRef` and `const FileEntry *` (compares the `FileEntry*`). - Customize `OptionalStorage<FileEntryRef>` to be pointer-sized. Add a private constructor that initializes with `nullptr` and specialize `OptionalStorage` to use it. This unblocks updating fields in size-sensitive data structures that currently use `const FileEntry *`. - Add `OptionalFileEntryRefDegradesToFileEntryPtr`, a wrapper around `Optional<FileEntryRef>` that degrades to `const FileEntry*`. This facilitates future incremental patches, like the same operator on `FileEntryRef`. (Once `FileEntryRef` is everywhere, we should remove this class.) - Remove the unncessary `const` from the by-value return of `FileEntryRef::getName`. - Delete the unused function `FileEntry::isOpenForTests`. Note that there are still `FileEntry` APIs that aren't wrapped and I plan to deal with these separately / incrementally, as they are needed. Differential Revision: https://reviews.llvm.org/D89834
-
ergawy authored
This commit adds a new library that merges/combines a number of spv modules into a combined one. The library has a single entry point: combine(...). To combine a number of MLIR spv modules, we move all the module-level ops from all the input modules into one big combined module. To that end, the combination process can proceed in 2 phases: (1) resolving conflicts between pairs of ops from different modules (2) deduplicate equivalent ops/sub-ops in the merged module. (TODO) This patch implements only the first phase. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D90477
-
Scott Linder authored
* Factor out common elements of the input YAML document and use sed to macro replace the run line specific elements. * Add checks for the common elements which depend on the ELF class. * Use non-numeric suffix for temporary files to avoid merge conflicts. * Sort tests by GFX# ascending. * Group ELF and YAML tests by GFX#. Reviewed By: t-tye Differential Revision: https://reviews.llvm.org/D90245
-
Louis Dionne authored
-
Dmitry Vyukov authored
Add Go race detector support for macOS/ARM64. The Go counterpart is https://golang.org/cl/266373 . Author: cherry (Cherry Zhang) Reviewed-in: https://reviews.llvm.org/D90435
-
LLVM GN Syncbot authored
-
Duncan P. N. Exon Smith authored
This reverts commit 5530fb58. This reverts commit 010238a2. This reverts commit 84e82579. Having trouble getting the bots compiling. Will try again later.
-
Duncan P. N. Exon Smith authored
Looks like some bots don't like the defaulted default constructor, try being explicit.
-
Duncan P. N. Exon Smith authored
I'm not seeing an error locally, but many bots are having a problem with the call to `hasOptionalValue`. Try to fix it.
-
LLVM GN Syncbot authored
-
Nico Weber authored
Made necessary by c479e0c9, which requires std::timespec to exist, which it only does in c++17 and later.
-
Craig Topper authored
Just return the new node, which is the standard practice. I also noticed what appeared to be an unnecessary attempt at creating an ANY_EXTEND where the type should already be correct. I replace with an assert to verify the type. Differential Revision: https://reviews.llvm.org/D90444
-
Zequan Wu authored
Differential Revision: https://reviews.llvm.org/D90325
-
Ronald Wampler authored
[Support] PR42623: Avoid setting the delete-on-close bit if a TempFile doesn't reside on a local drive On Windows, after commit 881ba104, tools using TempFile would error with "bad file descriptor" when writing the file on a network drive. It appears that setting the delete-on-close bit via SetFileInformationByHandle/FileDispositionInfo prevented it from accessing the file on network drives, and although using FILE_DISPOSITION_INFO seems to work, it causes other troubles. Differential Revision: https://reviews.llvm.org/D81803
-
Duncan P. N. Exon Smith authored
Make a few changes to the `FileEntryRef` API in preparation for propagating it enough to remove `FileEntry::getName()`. - Allow `FileEntryRef` to degrade implicitly to `const FileEntry*`. This allows functions currently returning `const FileEntry *` to be updated to return `FileEntryRef` without requiring all callers to be updated in the same patch. This helps avoid both (a) massive patches where many fields and locals are updated simultaneously and (b) noisy incremental patches where the first patch adds `getFileEntry()` at call sites and the second patch removes it. (Once `FileEntryRef` is everywhere, we should remove this API.) - Change `operator==` to compare the underlying `FileEntry*`, ignoring any difference in the spelling of the filename. There were 0 users of the existing function because it's not useful. In case comparing the exact named reference becomes important, add/test `isSameRef`. - Add `==` comparisons between `FileEntryRef` and `const FileEntry *` (compares the `FileEntry*`). - Customize `OptionalStorage<FileEntryRef>` to be pointer-sized. Add a private constructor that initializes with `nullptr` and specialize `OptionalStorage` to use it. This unblocks updating fields in size-sensitive data structures that currently use `const FileEntry *`. - Add `OptionalFileEntryRefDegradesToFileEntryPtr`, a wrapper around `Optional<FileEntryRef>` that degrades to `const FileEntry*`. This facilitates future incremental patches, like the same operator on `FileEntryRef`. (Once `FileEntryRef` is everywhere, we should remove this class.) - Remove the unncessary `const` from the by-value return of `FileEntryRef::getName`. - Delete the unused function `FileEntry::isOpenForTests`. Note that there are still `FileEntry` APIs that aren't wrapped and I plan to deal with these separately / incrementally, as they are needed. Differential Revision: https://reviews.llvm.org/D89834
-
Richard Smith authored
construction, and to assume that assignment operators return *this.
-
Sam Clegg authored
Differential Revision: https://reviews.llvm.org/D90443
-
Arthur Eubanks authored
Make DebugLogging a member variable so that users of PassBuilder don't need to pass it around so much. Move call to TargetMachine::registerPassBuilderCallbacks() within PassBuilder so users don't need to remember to call it. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D90437
-
Arthur Eubanks authored
CallInst::updateProfWeight() creates branch_weights with i64 instead of i32. To be more consistent everywhere and remove lots of casts from uint64_t to uint32_t, use i64 for branch_weights. Reviewed By: davidxl Differential Revision: https://reviews.llvm.org/D88609
-
Andrzej Warzynski authored
As discussed in [1], ClangFlags::DriverOption is currently only used to mark options that should not be forwarded to other tools via `-Xarch` options. This patch renames this flag accordingly and updates the corresponding driver diagnostic. A comment in ToolChain::TranslateXarchArgs is also updated to reflect the change. The original comment referred to isDriverOption(), which is no longer available. [1] http://lists.llvm.org/pipermail/cfe-dev/2020-October/066953.html Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D89799
-
Louis Dionne authored
GCC tries to be nice and tell us that we probably want to also implement sized deallocation functions when we override the normal ones. However, we know what we're doing in the test suite and don't want to override them.
-
Pedro Tammela authored
This patch updates the Reg2Mem loops to use more modern iterators. Differential Revision: https://reviews.llvm.org/D90122
-
Pedro Tammela authored
This patch modifies two for loops to use the range based syntax. Since they are equivalent, this patch is tagged NFC. Differential Revision: https://reviews.llvm.org/D90069
-
Louis Dionne authored
- Several -Wshadow warnings - Several places where we did not initialize our base class explicitly - Unused variable warnings - Some tautological comparisons - Some places where we'd pass null arguments to functions expecting non-null (in unevaluated contexts) - Add a few pragmas to turn off spurious warnings - Fix warnings about declarations that don't declare anything - Properly disable deprecation warnings in ext/ tests (the pragmas we were using didn't work on GCC) - Disable include_as_c.sh.cpp because GCC complains about C++ flags when compiling as C. I couldn't find a way to fix this one properly, so I'm disabling the test. This isn't great, but at least we'll be able to enable warnings in the whole test suite with GCC.
-
Daniel Kiss authored
This patch just reorganises the code to make possible to use alloca instead of malloc. This makes possible to use `.cfi_remember_state`/`.cfi_restore_state` on platforms without heap allocation. Also it will be safe to backtrace/unwind faults related to the allocator behind malloc. `_LIBUNWIND_REMEMBER_HEAP_ALLOC ` option reenables the heap usage for `.cfi_remember_state`/`.cfi_restore_state`. Define _LIBUNWIND_REMEMBER_STACK_ALLOC to force stack allocation. Reviewed By: #libunwind, mstorsjo Differential Revision: https://reviews.llvm.org/D85005
-
Sanjay Patel authored
I'm assuming the standard size integer instructions for this end up as something like: mulq %rsi seto %al And the 'mul' generally has reciprocal throughput of 1 on typical implementations (higher latency, but that's not handled here). The default costs may end up much higher than that, and that's what we see in the test diffs. Vector types are left as a 'TODO'. Differential Revision: https://reviews.llvm.org/D90431
-
Amy Huang authored
Differential Revision: https://reviews.llvm.org/D90199
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Jonas Devlieghere authored
Skip the instruction stream section in the crashlog section. Differential revision: https://reviews.llvm.org/D90414
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
- Oct 30, 2020
-
-
Pavel Labath authored
-
Jan Kratochvil authored
Current user_id_t format is: 63{isDebugTypes} 62..32{dwo || 7fffffff} 31..0 {die_offset} while current DIERef format is (I have made up the bit positions but the field widths do match): 63{m_section==isDebugTypes} 62{m_dwo_num_valid} 61..32{m_dwo_num} 31..0 {m_die_offset} Proposing to change user_id_t to: 63{isDebugTypes} 62{dwo_is_valid} 61..32{dwo; 0 if !valid} 31..0 {die_offset} There is no benefit of having 31-bits wide dwo_num in user_id_t when it gets converted to 30-bits width in DIERef. This patch is for future DWZ patchset which extends the dwo_is_valid bit into a 2-bit field (normal, DWO, DWZ, DWZcommon) so that both user_id_t and DIERef can be changed then the same way. It would be best to somehow unify user_id_t and DIERef but I do not plan to do that. user_id_t should probably remain a number for the Python API compatibility while there still needs to be some class with all the methods to access it. SymbolFileDWARF::GetDwpSymbolFile() and SymbolFileDWARF::GetDIE use 0x3fffffff for DWP but that does not clash: formerly: 31bits32..62:0x7fffffff = normal unit / not any DWO 31bits32..62:0x3fffffff = DWP 31bits32..62:others = DWO unit number after this patch: bit62=0 30bits32..61:any = normal unit / not any DWO bit62=1 30bits32..61:0x3fffffff = DWP bit62=1 30bits32..61:others = DWO unit number Differential Revision: https://reviews.llvm.org/D90413 -
Simon Moll authored
Restructure lit tests to follow downstream Reviewed By: kaz7 Differential Revision: https://reviews.llvm.org/D90468
-
Keith Smiley authored
This is to enable `--allow-unused-duplicates=false`. These prefixes appear to be outdated and intentionally unused. Reviewed By: vsk Differential Revision: https://reviews.llvm.org/D90423
-