- Aug 19, 2023
-
-
chenli authored
The testcases mainly cover three situations: - the arguments which should be immediates are non immediates. - the immediate is out of upper limit of the argument type. - the immediate is out of lower limit of the argument type. Depends on D155830 Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D157571
-
chenli authored
Depends on D155830 Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D155835
-
chenli authored
Depends on D155829 Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D155834
-
wanglei authored
This patch is similar to D155829. Depends on D155829 Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D155830
-
wanglei authored
For handling intrinsics, our approach is not simply to match them one-to-one with instructions. Instead, we lower some intrinsics to common nodes and then perform matching. The advantage of this approach is that it allows us to fully utilize the passes available at the common layer for optimizing purposes. We perform error checks on the immediate operand of all intrinsics, rather than waiting until the end to throw exceptions. Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D155829
-
Justin Bogner authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Mark de Wever authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Jim Lin authored
Targets may lose some optimization opportunities for certain vector operation if we reduce BUILD_VECTOR to BITCAST early. And if VT is not legal, reduce BUILD_VECTOR to BITCAST before LegailizeTypes can get benefit. Because type-legalizer often scalarizes illegal type of vectors. Reviewed By: sebastian-ne Differential Revision: https://reviews.llvm.org/D156645
-
Johannes Doerfert authored
If we know the thread count statically and it is a constant, we can set the "amdgpu-flat-work-group-size" kernel attribute. Fixes https://github.com/llvm/llvm-project/issues/64816 in parts.
-
Johannes Doerfert authored
-
Jim Lin authored
All of them have prefix 'X' in DecoderNamespace.
-
YunQiang Su authored
HI/LO registers have been removed in MIPSr6. Save and restore them only for pre-R6. We keep the memory space for the registers so that we can use the same register indexes for r6 and pre-r6. Fixes: #60682 Reviewed By: compnerd Differential Revision: https://reviews.llvm.org/D156283
-
Jim Lin authored
Reviewed By: myhsu Differential Revision: https://reviews.llvm.org/D116993
-
Nathan Ridge authored
Fixes https://github.com/clangd/clangd/issues/1734 Differential Revision: https://reviews.llvm.org/D158249
-
Nathan Ridge authored
The previous behaviour is to try to parse such files, and in some cases assert or hang in components that don't expect these forms of input, like TokenBuffer. Fixes https://github.com/llvm/llvm-project/issues/62090 Differential Revision: https://reviews.llvm.org/D149236
-
Craig Topper authored
This patch focuses on power of 2 bytes up to 2x XLen with and without alignment. Other cases will be handled in future patches. Reviewed By: nitinjohnraj Differential Revision: https://reviews.llvm.org/D157828
-
Nathan Ridge authored
Plus bonus typo fix Differential Revision: https://reviews.llvm.org/D158248
-
Han Shen authored
This CL includes two changes: 1. moved clang backend-warnings test cases from Driver/ to CodeGen/. 2. removed multiple `cd "$(dirname "%t")"` and replaced with `-o %t`. Reviewed By: maskray (Fangrui Song) Differential Revision: https://reviews.llvm.org/D157565
-
ziqingluo-90 authored
Refactor the getFixIts function for better readability. Reviewed by: NoQ (Artem Dergachev), t-rasmud (Rashmi Mudduluru) Differential revision: https://reviews.llvm.org/D156762
-
Erick Velez authored
Add records, serialization for global function templates and their specializations Depends on D157350 Reviewed By: dang Differential Revision: https://reviews.llvm.org/D157579
-
Craig Topper authored
RISC-V doesn't have flag registers, we need to implement these with add/sub and compares. Remove the untested legalization for the signed versions. We can add it back when we write tests. Reviewed By: nitinjohnraj Differential Revision: https://reviews.llvm.org/D157772
-
Congcong Cai authored
cast PredefinedExpr such as `__func__` to const char* should be accpetted. Reviewed By: PiotrZSL Differential Revision: https://reviews.llvm.org/D158244
-
Augusto Noronha authored
Thread sanitizer reports a data race in Process.cpp in the usage of m_process_input_reader. Fix this data race by introducing a mutex guarding the access to this variable. Differential Revision: https://reviews.llvm.org/D157648
-
Augusto Noronha authored
ThreadSanitizer reports the following issue: ``` Write of size 8 at 0x00010a70abb0 by thread T3 (mutexes: write M0): #0 lldb_private::ThreadList::Update(lldb_private::ThreadList&) ThreadList.cpp:741 (liblldb.18.0.0git.dylib:arm64+0x5dedf4) (BuildId: 9bced2aafa373580ae9d750d9cf79a8f32000000200000000100000000000e00) #1 lldb_private::Process::UpdateThreadListIfNeeded() Process.cpp:1212 (liblldb.18.0.0git.dylib:arm64+0x53bbec) (BuildId: 9bced2aafa373580ae9d750d9cf79a8f32000000200000000100000000000e00) Previous read of size 8 at 0x00010a70abb0 by main thread (mutexes: write M1): #0 lldb_private::ThreadList::GetMutex() const ThreadList.cpp:785 (liblldb.18.0.0git.dylib:arm64+0x5df138) (BuildId: 9bced2aafa373580ae9d750d9cf79a8f32000000200000000100000000000e00) #1 lldb_private::ThreadList::DidResume() ThreadList.cpp:656 (liblldb.18.0.0git.dylib:arm64+0x5de5c0) (BuildId: 9bced2aafa373580ae9d750d9cf79a8f32000000200000000100000000000e00) #2 lldb_private::Process::PrivateResume() Process.cpp:3130 (liblldb.18.0.0git.dylib:arm64+0x53cd7c) (BuildId: 9bced2aafa373580ae9d750d9cf79a8f32000000200000000100000000000e00) ``` Fix this by only using the mutex in ThreadList and removing the one in process entirely. Differential Revision: https://reviews.llvm.org/D158034 -
Johannes Doerfert authored
AAIndirectCallInfo will collect information and specialize indirect call sites. It is similar to our IndirectCallPromotion but runs as part of the Attributor (so with assumed callee information). It also expands more calls and let's the rest of the pipeline figure out what is UB, for now. We use existing call promotion logic to improve the result, otherwise we rely on the (implicit) function pointer cast. This effectively "fixes" #60327 as it will undo the type punning early enough for the inliner to work with the (now specialized, thus direct) call. Fixes: https://github.com/llvm/llvm-project/issues/60327
-
Jason Molenda authored
To work around an address sanitizer issue on macOS where environment_check prints a spurious stderr msg when executing, environment_check(41292,0x113e7a600) malloc: nano zone abandoned due to inability to preallocate reserved vm space. And TestClient::Continue() which intends to continue to exit instead sees the stderr output streamed, and doesn't handle that unexpected output. Easiest to disable stdin/stdout for this one test case to avoid this corner case issue with this TestClient.cpp way of expecting a stop reply packet after continuing. Differential Revision: https://reviews.llvm.org/D158237
-
Eugene Zhulenev authored
Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D158212
-
Fangrui Song authored
-
Fangrui Song authored
Obsoleted by target=
-
Fangrui Song authored
Similar to e6e43629
-
Paul Kirth authored
This changes the definition if isSectionBitcode to only be valid for the .llvm.lto section, since this API is only called from LTO, and the .llvmbc section was not intended to be used for LTO. This allows the gold plugin to keep its existing behavior without introducing any significant changes. Reviewed By: MaskRay, nikic Differential Revision: https://reviews.llvm.org/D152973
-
Paul Kirth authored
This patch adds support to lld for --fat-lto-objects. We add a new --fat-lto-objects option to LLD, and slightly change how it chooses input files in the driver when the option is set. Fat LTO objects contain both LTO compatible IR, as well as generated object code. This allows users to defer the choice of whether to use LTO or not to link-time. This is a feature available in GCC for some time, and makes the existing -ffat-lto-objects option functional in the same way as GCC's. If the --fat-lto-objects option is passed to LLD and the input files are fat object files, then the linker will chose the LTO compatible bitcode sections embedded within the fat object and link them together using LTO. Otherwise, standard object file linking is done using the assembly section in the object files. The previous version of this patch had a missing `REQUIRES: x86` line in `fatlto.invalid.s`. Additionally, it was reported that this patch caused a test failure in `export-dynamic-symbols.s`, however, 29112a99 disabled the `export-dynamic-symbols.s` test on Windows due to a quotation difference between platforms, unrelated to this patch. Original RFC: https://discourse.llvm.org/t/rfc-ffat-lto-objects-support/63977 Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D146778
-
Jonas Devlieghere authored
Shorten "DWARF Extensions supported by LLDB" to just "DWARF Extension".
-