- May 31, 2023
-
-
LiaoChunyu authored
Use sint_to_fp instead of select. Reduce the number of branch instructions and avoid generating TargetConstantPool for double. (select cc, 1.0, 0.0) -> (sint_to_fp (zext cc)) https://alive2.llvm.org/ce/z/aoEcd9 https://godbolt.org/z/n543Y9v3e (select cc, 0.0, 1.0) -> (sint_to_fp (zext (xor cc, 1))) https://alive2.llvm.org/ce/z/zngvSB Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D151719
-
Vlad Serebrennikov authored
Also add missing marking to the test of related issue 621. https://cplusplus.github.io/CWG/issues/621.html https://cplusplus.github.io/CWG/issues/873.html Reviewed By: #clang-language-wg, shafik Differential Revision: https://reviews.llvm.org/D151704
-
Timm Bäder authored
-
Timm Bäder authored
-
Timm Bäder authored
Use llvm::raw_ostream::indent().
-
Tobias Gysi authored
The revision adds the alias analysis and access group interfaces to the call operation. Reviewed By: Dinistro Differential Revision: https://reviews.llvm.org/D151693
-
Jianjian GUAN authored
This patch adds the Zvfhmin extension for clang. Reviewed By: craig.topper, michaelmaitland Differential Revision: https://reviews.llvm.org/D150253
-
Bing1 Yu authored
class VLIWSchedBoundary manages resources such as dynamically allocated memory, it's generally a good practice to either implement a custom copy constructor or disable the default one. Reviewed By: JamesNagurne Differential Revision: https://reviews.llvm.org/D151699
-
Enna1 authored
This patch makes the variables names for callback functions more consistent. Changes no functionality. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D151605
-
Mark de Wever authored
This should fix the Clang CI.
-
Craig Topper authored
[RISCV] Merge emitDirectiveOptionArchPlus and emitDirectiveOptionArchMinus into a single interface. NFC Probably going to do some other refactors after this, but this one was easy and clearly reduces duplicate code. Reviewed By: StephenFan Differential Revision: https://reviews.llvm.org/D151771
-
Vitaly Buka authored
-
Michael Liao authored
-
Timm Bäder authored
Show line numbers to the left of diagnostic code snippets and increase the numbers of lines shown from 1 to 16. Differential Revision: https://reviews.llvm.org/D147875
-
Jan Svoboda authored
I forgot to request a regression test in review of D151429, so adding one myself.
-
Shubham Sandeep Rastogi authored
Revert "Fix -u option in dsymutil, to not emit an extra DW_LNE_set_address if the original line table was empty" This reverts commit 9bd3ff8b. Reverting because of test failures: TEST 'LLVM :: tools/dsymutil/ARM/fat-dylib-update.test' FAILED Command Output (stderr): -- + : 'RUN: at line 2' + /b/ml-opt-rel-x86-64-b1/build/bin/dsymutil -oso-prepend-path /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/tools/dsymutil/ARM/.. /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/tools/dsymutil/ARM/../Inputs/fat-test.arm.dylib -o /b/ml-opt-rel-x86-64-b1/build/test/tools/dsymutil/ARM/Output/fat-dylib-update.test.tmp.dSYM warning: /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/tools/dsymutil/ARM/../Inputs/fat-test.arm.o: timestamp mismatch between object file (2023-05-24 23:42:39.442778779) and debug map (2015-08-05 21:31:26.000000000) warning: /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/tools/dsymutil/ARM/../Inputs/fat-test.arm.o: timestamp mismatch between object file (2023-05-24 23:42:39.442778779) and debug map (2015-08-05 21:31:26.000000000) error: lipo: No such file or directory
-
csmoe authored
github issue: https://github.com/llvm/llvm-project/issues/62912 Reviewed By: jansvoboda11 Differential Revision: https://reviews.llvm.org/D151429
-
Jan Svoboda authored
This patch changes the argument type to `HeaderSearch::LookupFile()` from `const DirectoryEntry *` to `DirectoryEntryRef` in order to remove some calls to the deprecated `DirectoryEntry::getName()`. Depends on D127660. Reviewed By: bnbarham, benlangmuir Differential Revision: https://reviews.llvm.org/D127663
-
Shubham Sandeep Rastogi authored
Fix -u option in dsymutil, to not emit an extra DW_LNE_set_address if the original line table was empty With dsymutil's -u option, only the accelerator tables should be updated, but with https://reviews.llvm.org/D150554 the -u option will still re-generate the line table. If the line table was empty, that is, it was a dummy line table, with no entries in it, dsymutil will always generate a line table with a DW_LNE_end_sequence, a funky side effect of this is that when the line table is re-generated, it will always emit a DW_LNE_set_address first, which will change the line table total size. This patch addresses this by making sure that if all the line table has in it is a DW_LNE_end_sequence, it is the same as a dummy entry. Differential Revision: https://reviews.llvm.org/D151579
-
Craig Topper authored
-
Jan Svoboda authored
Most users of `Module::Header` already assume its `Entry` is populated. Enforce this assumption in the type system and handle the only case where this is not the case by wrapping the whole struct in `std::optional`. Do the same for `Module::DirectoryName`. Depends on D151584. Reviewed By: benlangmuir Differential Revision: https://reviews.llvm.org/D151586
-
Yaxun (Sam) Liu authored
Currently when clang fails to deduce auto return type of a function, it does not emit any notes about why it fails. This causes difficulty for users to fix such errors. Actually, clang already generates the information for emitting notes about the failed deduction. There is a TODO for actually emitting them. This patch tries to implement the TODO. Basically it passes the failed template specialization candidate set from the point of specialization failure back to the point where the deduction starts. It is not comprehensive but would be a start for further improvement. Reviewed by: Richard Smith, Matheus Izvekov Differential Revision: https://reviews.llvm.org/D150212 Fixes: SWDEV-354278
-
Bing1 Yu authored
class CodeViewContext manages resources such as dynamically allocated memory, it's generally a good practice to either implement a custom copy constructor or disable the default one. Reviewed By: skan Differential Revision: https://reviews.llvm.org/D151695
-
Bing1 Yu authored
class SchedBoundary manages resources such as dynamically allocated memory, it's generally a good practice to either implement a custom copy constructor or disable the default one. Reviewed By: pengfei Differential Revision: https://reviews.llvm.org/D151686
-
Davide Italiano authored
-
Vitaly Buka authored
-
Shilei Tian authored
-
Vitaly Buka authored
Breaks Windows. This reverts commit 8ac08472.
-
Davide Italiano authored
-
Manna, Soumi authored
DeduceTemplateArgumentsByTypeMatch() returns null value which is dereferenced without checking since getAsIncompleteArrayType() returns nullptr and we are dereferencing null pointer value for S.Context->getAsIncompleteArrayType(P) when calling getElementType(). This patch adds an assert. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D151529
-
Jianjian GUAN authored
Make unmasked vp_ftrunc, vp_fceil, vp_floor and vp_fround select to unmasked instruction. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D151676
-
Manna, Soumi authored
This patch uses castAs instead of getAs which will assert if the type doesn't match in clang::Type::getRVVEltType(clang::ASTContext const &) Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D151721
-
yijia1212 authored
-
Vitaly Buka authored
-
Amir Ayupov authored
`DataAggregator::recordTrace` serves two purposes: - Attaching LBR fallthrough ("trace") information to CFG (`getBranchInfo`), which eventually gets emitted as YAML profile. - Populating vector of offsets that gets added to `FuncBranchData`, which eventually gets emitted as fdata profile. `recordTrace` is invoked from `getFallthroughsInTrace` which checks its return status and passes on the collected vector of offsets to `doTrace`. However, if a malformed trace is passed to `recordTrace` it might partially attach the profile to CFG and exit with false, not propagating the vector of offsets to `doTrace`. This leads to a difference between fdata and yaml profile collected from the same binary and the same perf file. (Skylake LBR errata might produce such malformed traces where the last entry is duplicated, resulting in invalid fallthrough path between the last two entries). There are two ways to handle this mismatch: c... -
Pengxuan Zheng authored
With D148542, we ran into the following libc++ build error when using musl libc. ``` .../musl/include/bits/alltypes.h:354:16: error: definition of type '__mbstate_t' conflicts with typedef of the same name typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; ^ .../sysroot/usr/include/bits/types/__mbstate_t.h:21:3: note: '__mbstate_t' declared here } __mbstate_t; ^ 1 error generated. ``` This is because the mbstate_t definition in musl libc conflicts with the one from "bits/types/mbstate_t.h", and this patch attempts to fix this build issue when musl libc is used. Reviewed By: iana Differential Revision: https://reviews.llvm.org/D151740 -
wren romano authored
This patch makes the following changes to `SparseTensorDimSliceAttr` methods: * Mark `isDynamic` constexpr. * Add new helpers `getStatic` and `getStaticString` to avoid repetition. * Moved the definitions for `getStatic{Offset,Stride,Size}` and `isCompletelyDynamic` out of the class declaration; because there's no benefit to inlining them. * Changed `parse` to use `kDynamic` rather than literals. * Changed `verify` to use the `isDynamic` helper. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D150919 -
Jonas Devlieghere authored
-
Jim Ingham authored
This was just a thinko. The API StackFrame::GetVariableList takes a bool for "get_file_globals" which if true will also find file statics and file globals. But we only were passing that as true if the ValueType was eValueTypeVariableGlobal, which meant that we never find file statics. It's okay if we cast too wide a net when we do GetVariableList as later on we check against the ValueType to filter globals from statics. There was a test that had a whole bunch of globals and tested FindValue on all of them, but had no statics. So I just made one of the globals a file static, which verifies the fix. Differential Revision: https://reviews.llvm.org/D151392
-
Jennifer Yu authored
Currently compiler assert when passing variable "memspace" in omp_init_allocator. omp_allocator_handle_t alloc=omp_init_allocator(memspace,1,traits) The problem is memspace is not mapping to the target region. During the call to emitAllocatorInit, calls to EmitVarDecl for "alloc", then emit initialization of "alloc" that cause to assert. If I understant correct, it is not necessary to emit variable initialization, since "allocator" is private to target region. To fix this call CGF.EmitAutoVarAlloca(allocator) instead CGF.EmitVarDecl(allocator). Differential Revision: https://reviews.llvm.org/D151743
-