- May 24, 2022
-
-
Sotiris Apostolakis authored
This patch adds the loop-level heuristics for determining whether branches are more profitable than conditional moves. These heuristics apply to only inner-most loops. Depends on D120231 Reviewed By: davidxl Differential Revision: https://reviews.llvm.org/D120232
-
Sotiris Apostolakis authored
This patch adds the base heuristics for determining whether branches are more profitable than conditional moves. Base heuristics apply to all code apart from inner-most loops. Depends on D122259 Reviewed By: davidxl Differential Revision: https://reviews.llvm.org/D120231
-
Vy Nguyen authored
- fixed inconsistent indents and spaces - prevent extraneous formatting changes in other patches Differential Revision: https://reviews.llvm.org/D126262
-
Peter Klausler authored
The binding names of inner procedures with BIND(C) are not exposed to the loader and should be ignored for potential conflict errors. Differential Revision: https://reviews.llvm.org/D126141
-
Peter Klausler authored
Intrinsic module names are not in the user's namespace, so they are free to declare global names that conflict with intrinsic modules. Differential Revision: https://reviews.llvm.org/D126140
-
Xeonacid authored
Make old JIT ExecutionEngine tests unsupported for RISCV, like many other architectures included. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D126188
-
Peter Klausler authored
The character length value in the derived type component information table entry is already in units of characters, not bytes, so don't divide by the per-character byte size. Differential Revision: https://reviews.llvm.org/D126139
-
Sam Clegg authored
It turns out we were already allocating static address space for TLS data along with the non-TLS static data, but this space was going unused/ignored. With this change, we include the TLS segment in `__wasm_init_memory` (which does the work of loading the passive segments into memory when a module is first loaded). We also set the `__tls_base` global to point to the start of this segment. This means that the runtime can use this static copy of the TLS data for the first/primary thread if it chooses, rather than doing a runtime allocation prior to calling `__wasm_init_tls`. Practically speaking, this will allow emscripten to avoid dynamic allocation of TLS region on the main thread. Differential Revision: https://reviews.llvm.org/D126107
-
Hendrik Greving authored
Fixes a bug preventing moving the loop's metadata to an outer loop's header, which happens if the loop's exit is also the header of an outer loop. Adjusts test for above. Fixes #55416. Differential Revision: https://reviews.llvm.org/D125574
-
Hendrik Greving authored
Adds a test to expose #55416. Differential Revision: https://reviews.llvm.org/D125696
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Vitaly Buka authored
-
Jamie Schmeiser authored
A new hidden option -print-on-crash that prints the IR as it was upon entering the last pass when there is a crash. The IR is saved in its print form before each pass is started and a signal handler is registered. If the compilation crashes, the signal handler will print the saved IR to dbgs(). This option can be modified using -print-module-scope to get the IR for the complete module. Note that this option only works with the new pass manager. Reviewed By: yrouban Differential Revision: https://reviews.llvm.org/D86657
-
Tom Stellard authored
As discussed in https://discourse.llvm.org/t/creating-a-new-repository-for-release-branch-pull-requests/61339 Reviewed By: asl Differential Revision: https://reviews.llvm.org/D125851
-
Alex Brachet authored
utils looks different from the other directory names in the docs, see https://libc.llvm.org/source_layout.html#the-utils-directory Differential revision: https://reviews.llvm.org/D126211
-
NAKAMURA Takumi authored
Fixup for https://reviews.llvm.org/D73044 String literal has an implicit terminator '\0'. This commit adjusts char array to long literal. This causes difference of artifacts between -long-string-literals=true and false. Differential Revision: https://reviews.llvm.org/D126136
-
Jeffrey Tan authored
Previous patch (https://reviews.llvm.org/D126013) added a new "optimized" attribute to DAP stack frame this caused some tests, like lldb-vscode/coreFile/TestVSCode_coreFile.py to fail because the tests explicitly check for all attributes. To fix the test failure I decided to remove this attribute. Differential Revision: https://reviews.llvm.org/D126225
-
NAKAMURA Takumi authored
Differential Revision: https://reviews.llvm.org/D126135
-
Mitch Phillips authored
Currently, llvm-symbolizer doesn't like to parse .debug_info in order to show the line info for global variables. addr2line does this. In the future, I'm looking to migrate AddressSanitizer off of internal metadata over to using debuginfo, and this is predicated on being able to get the line info for global variables. This patch adds the requisite support for getting the line info from the .debug_info section for symbolizing global variables. This only happens when you ask for a global variable to be symbolized as data. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D123538
-
Sotiris Apostolakis authored
This patch implements the actual transformation of selects to branches. It includes only the base transformation without any sinking. Depends on D120230 Reviewed By: davidxl Differential Revision: https://reviews.llvm.org/D122259
-
Qunyan Mangus authored
RAGreedy has two fields of RegisterClassInfo, one called RCI and another RegClassInfo from its base class. RCI is initialized without freezeReservedRegs first, while RegClassInfo does. Therefore, if reserved registers information is changed between last time freezeReservedRegs is called and RAGreedy, it's not picked up by RCI. Instead of having both fields in RAGreedy, remove RCI and use RegClassInfo instead. Also removed is the TRI field which is present in its base class. Reviewed By: MatzeB Differential Revision: https://reviews.llvm.org/D125926
-
Paul Robinson authored
The new test is a copy of the corresponding PS4 test, with the triple etc updated, because there's currently no good way to make one lit test "iterate" with multiple targets.
-
Stella Stamenova authored
The tests actually require the target triple to match the host, rather than just having the host in the list of available targets. This change removes `llvm_has_native_target` and instead uses the `native` feature from the lit configuration. Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D126011
-
Florian Hahn authored
The new tests contain examples where shuffles are free, because indexed fma instructions can be used.
-
Paul Walker authored
-
Alexey Bataev authored
Builds UserIgnore list only once as a SmallDenseSet without rebuilding it between the runs, iterate over gathers instead list of reduction ops, do some checks in the buildTree_rec only if the corresponding containers are not empty.
-
Julian Lettner authored
Differential Revision: https://reviews.llvm.org/D126229
-
LLVM GN Syncbot authored
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: sstefan1, libcxx-commits Differential Revision: https://reviews.llvm.org/D126167
-
Nikolas Klauser authored
We use `auto` in C++03, so we shouldn't say that we aren't. Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D126165
-
Nikolas Klauser authored
All compilers that libc++ supports support `push_macro` and `pop_macro`. So let's remove it. Reviewed By: ldionne, #libc Spies: libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D126073
-
Nikolas Klauser authored
The ranges concepts were already available in libc++13, so we shouldn't guard them with `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`. Fixes https://github.com/llvm/llvm-project/issues/54765 Reviewed By: #libc, ldionne Spies: ldionne, libcxx-commits Differential Revision: https://reviews.llvm.org/D124011
-
Nikolas Klauser authored
`<type_traits>` is quite a large header, so I'll granularize it in a few steps. Reviewed By: ldionne, #libc Spies: libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D124755
-
Jorge Gorbe Moya authored
As far as I can tell, the only thing those friend classes access is the `ValueSP` typedef. Given that this is a map-ish class, with "Map" in its name, it doesn't seem like a stretch to make `KeyType`, `ValueType` and `ValueSP` public. More so when the public methods of the class have `KeyType` and `ValueSP` arguments and clearly `ValueSP` needs to be accessed from the outside. `friend` complicates local reasoning about who can access private members, which is valuable in a class like this that has every method locking a mutex to prevent concurrent access. Differential Revision: https://reviews.llvm.org/D126103
-
natashaknk authored
TOSAs depthwise_conv2d operation includes a reshape to include the implicit x1 dimension. Reviewed By: rsuderman Differential Revision: https://reviews.llvm.org/D126212
-
Julian Lettner authored
-
Sanjay Patel authored
This was included in D126190 originally, but it's independent and a useful change for readability.
-