- Jun 29, 2021
-
-
Jacques Pienaar authored
This enables creating a replacement rule where range of positional replacements need not be spelled out, or are not known (e.g., enable having a rewrite that forward all operands to a call generically). Differential Revision: https://reviews.llvm.org/D104955
-
Eugene Zhulenev authored
Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D105057
-
Nikita Popov authored
Pass element type rather than pointer type to some functions, so we know which type to use for the global variables.
-
Scott Linder authored
Relands patch reverted by 61242c0a The original patch mistakenly included unrelated tests. Adds a utility to combine multiple Callables into a single Callable. This is useful to make constructing a visitor for `std::visit`-like functions more natural; functions like this will be added in future patches. Intended to supercede https://reviews.llvm.org/D99560 by perfectly-forwarding the combined Callables. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D100670
-
Duncan P. N. Exon Smith authored
Fix the use-list-order for br instructions by setting the operands in order of their index to match the use-list-order prediction. The case where this matters is when there is a condition but the if-true and if-false branches are identical. Bug was found when reviewing failures pointed at by https://reviews.llvm.org/D104950. Fix is similar to 3cf415c6. Differential Revision: https://reviews.llvm.org/D104959
-
Scott Linder authored
This reverts commit 14a8aa61. Mistakenly landed this before a patch it should depend on was accepted.
-
Melanie Blower authored
Revert "[clang][PATCH][nfc] Refactor TargetInfo::adjust to pass DiagnosticsEngine to allow diagnostics on target-unsupported options" This reverts commit 2dbe1c67. More buildbot failures
-
Nikita Popov authored
Adjust the assertion to allow opaque pointers.
-
Scott Linder authored
Adds a utility to combine multiple Callables into a single Callable. This is useful to make constructing a visitor for `std::visit`-like functions more natural; functions like this will be added in future patches. Intended to supercede https://reviews.llvm.org/D99560 by perfectly-forwarding the combined Callables. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D100670
-
peter klausler authored
Non-advancing I/O was failing; ExternalFileUnit was losing track of what writes had been committed to the file. Fixed. Also, support the common extension of $ and \ in a FORMAT as being equivalent to ADVANCE=NO. Differential Revision: https://reviews.llvm.org/D105046
-
Kirill Bobyrev authored
This patch allows the use of --line-filter in clang-tidy.py from run-clang-tidy.py Author: [bansan (Vincent LE GARREC)](https://reviews.llvm.org/p/bansan/) Reviewed By: kbobyrev Differential Revision: https://reviews.llvm.org/D104981
-
Melanie Blower authored
[clang][PATCH][nfc] Refactor TargetInfo::adjust to pass DiagnosticsEngine to allow diagnostics on target-unsupported options Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D104729
-
Kadir Cetinkaya authored
Some tweaks might edit file types not supported by clang-format. This patch gives them a way to signal that they do not require formatting. Differential Revision: https://reviews.llvm.org/D105039
-
Sameer Sahasrabuddhe authored
-
Jez Ng authored
-
Jez Ng authored
Make sure we don't wrongly fold two sections that refer to symbols with the same value if they are not both absolute / non-absolute. Reviewed By: #lld-macho, gkm Differential Revision: https://reviews.llvm.org/D104876
-
Jez Ng authored
Literal sections can be deduplicated before running ICF. That makes it easy to compare them during ICF: we can tell if two literals are constant-equal by comparing their offsets in their OutputSection. LLD-ELF takes a similar approach. Reviewed By: #lld-macho, gkm Differential Revision: https://reviews.llvm.org/D104671
-
peter klausler authored
With derived type description tables now available to the runtime library, it is possible to implement the concept of "child" I/O statements in the runtime and use them to convert instances of derived type I/O data transfers into calls to user-defined subroutines when they have been specified for a type. (See Fortran 2018, subclauses 12.6.4.8 & 13.7.6). - Support formatted, list-directed, and NAMELIST transfers to internal parent units; support these, and unformatted transfers, for external parent units. - Support nested child defined derived type I/O. - Parse DT'foo'(v-list) FORMAT data edit descriptors and passes their strings &/or v-list values as arguments to the defined formatted I/O routines. - Fix problems with this feature encountered in semantics and FORMAT valiation during development and end-to-end testing. - Convert typeInfo::SpecialBinding from a struct to a class after adding a member function. Differential Rev...
-
Louis Dionne authored
-
Peter Steinfeld authored
There are situations where the arguments of intrinsics must be conformable, which is defined in section 3.36. This means they must have "the same shape, or one being an array and the other being scalar". But the check we were actually making was that their ranks were the same. This change fixes that and adds a test for the UNPACK intrinsic, where the FIELD argument "shall be conformable with MASK". Differential Revision: https://reviews.llvm.org/D104936
-
Nancy Wang authored
This patch is to fix 2 libcxx test cases, test cases assumed 'a' > 'A' which is not case in z/OS platform on ebcdic mode, modified test cases to compare between upper letters or lower letters, or digits so ordering will be true for all platform. Differential Revision: https://reviews.llvm.org/D104748
-
Akira Hatanaka authored
the call's return type is void Instead of trying hard to prevent global optimization passes such as deadargelim from changing the return type to void, just ignore the bundle if the return type is void. clang currently emits calls to @llvm.objc.clang.arc.noop.use, which consumes the function call result, immediately after the function call to prevent changes to the return type, but optimization passes can delete the call to @llvm.objc.clang.arc.noop.use if the function call doesn't return, which enables deadargelim to change the return type. rdar://76671438 Differential Revision: https://reviews.llvm.org/D103062
-
Florian Mayer authored
Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D104463
-
Raphael Isemann authored
When we run `xcrun` we don't have any user input in our command so relying on the user's default shell doesn't make a lot of sense. If the user has set the system shell to a something that isn't supported yet (dash, ash) then we would run into the problem that we don't know how to escape our command string. This patch just avoids using any shell at all as xcrun is always at the same path. Reviewed By: aprantl, JDevlieghere, kastiglione Differential Revision: https://reviews.llvm.org/D104653
-
William S. Moses authored
This reverts commit 5d6240b7. The commit was mistakenly landed without a PR approval, this will be reverted now and resubmitted.
-
Corentin Jabot authored
-
Jonas Devlieghere authored
Remove the lldb/lldb subdirectory which I must have accidentally created when applying a patch with the wrong prefix number. Thank you Nico Weber for pointing this out!
-
Rob Suderman authored
Input/output types can be integers, which represent a quantized convolution. Update verifier to expect this behavior. Reviewed By: sjarus Differential Revision: https://reviews.llvm.org/D104949
-
Krzysztof Parzyszek authored
This fixes https://llvm.org/PR50853
-
William S. Moses authored
The executeregionop is used to allow multiple blocks within SCF constructs. If the container allows multiple blocks, inline the region Differential Revision: https://reviews.llvm.org/D104960
-
Arthur O'Dwyer authored
With the STL containers, I didn't enable move operations in C++03 mode because that would change the overload resolution for things that today are copy operations. With iostreams, though, the copy operations aren't present at all, and so I see no problem with enabling move operations even in (Clang's greatly extended) C++03 mode. Clang's C++03 mode does not support delegating constructors. Differential Revision: https://reviews.llvm.org/D104310
-
Stephan Herhut authored
This reverts commit 7d6e589f. Windows build was unbroken.
-
Anirudh Prasad authored
- In the caller of the overridden `parseStatement` function (i.e. the `AsmParser::Run()`) in the case of an error **and** if we're not at the start of the statement, we "eat" up until the end of the current statement, so we don't have to process it again. - However, in the HLASMAsmParser class what's happening is that, if an error occurs at the very start of the statement (for example, you invoke the HLASMAsmParser to parse a gnu directive), we will error out, but we never really progress in terms of the next token in the statement to parse. We simply keep looping processing the same error over and over again (partly because we're at the start of the statement) - To remedy this, when the `parseAsHLASMLabel` function fails, before returning, we "eat" until the end of the statement function, so we don't process it anymore. Reviewed By: uweigand Differential Revision: https://reviews.llvm.org/D104869
-
Sjoerd Meijer authored
This reverts commit 51e434fc because of a build bot failure in test-suite::GCC-C-execute-pr60960.test that I need to investigate.
-
Sjoerd Meijer authored
-
Melanie Blower authored
This reverts commit 4f1238e4. Buildbot fails on predecessor patch
-
Melanie Blower authored
Revert "[clang][PATCH][nfc] Refactor TargetInfo::adjust to pass DiagnosticsEngine to allow diagnostics on target-unsupported options" This reverts commit 2c02b0c3. buildbot fails
-
Arnold Schwaighofer authored
There is a constraint that coro.suspend instructions need to be in their own blocks. The coro split pass initially creates IR that obeys this constraint (which is later checked). Sinking rematerializable instructions into these blocks breaks that constraint. Instead rematerialize in the predecessor block to the suspend's single predecessor block. Differential Revision: https://reviews.llvm.org/D104051
-
LLVM GN Syncbot authored
-
Melanie Blower authored
This patch adds a new clang builtin, __arithmetic_fence. The purpose of the builtin is to provide the user fine control, at the expression level, over floating point optimization when -ffast-math (-ffp-model=fast) is enabled. The builtin prevents the optimizer from rearranging floating point expression evaluation. The new option fprotect-parens has the same effect on parenthesized expressions, forcing the optimizer to respect the parentheses. Reviewed By: aaron.ballman, kpn Differential Revision: https://reviews.llvm.org/D100118
-