- Jun 29, 2022
-
-
Jolanta Jensen authored
Using bitmask enums simplifies and clarifies the code. Differential Revision: https://reviews.llvm.org/D128182
-
Nikita Popov authored
Use IRBuilder instead, which will fold these. Just to clarify that this does not actually create any udiv expression.
-
Nikita Popov authored
-
lewuathe authored
Consecutive complex.neg are redundant so that we can canonicalize them to the original operands. Reviewed By: pifon2a Differential Revision: https://reviews.llvm.org/D128781
-
Michael Daniels authored
The DynamicLoaderPOSIXDYLD::GetStepThroughTrampolinePlan() function was doing the symbol lookup using the demangled name. This stopped working with https://reviews.llvm.org/D118814. To get things working again, just use the mangled name for the lookup instead. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D127999
-
Muhammad Omair Javaid authored
This patch renames PDB/calling-conventions.test to calling-conventions-x86.test. Also restrict it to run only for target-x86*. This patch also adds a arm specific test PDB/calling-conventions-arm.test which tests that x86 specifc calling convention decorators are ignored by Arm compiler. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D128678
-
Muhammad Omair Javaid authored
This patch writes a mapping structure for converting CodeView Arm64 register numbers to LLDB Arm64 regnums. This fixes various symbols and variable location test failures on AArch64/Windows. Reviewed By: DavidSpickett Differential Revision: https://reviews.llvm.org/D128221
-
Muhammad Omair Javaid authored
PDB/pointers.test was orignally written for 32bit x86 keeping in mind __cdecl and __stdcall calling conventions which does name mangling for example like adding "_" underscore before function name. This is only x86 specific but purpose of pointers.test is NOT to test calling convention. I am have made a few minor changes to this test which will make it pass when run on Windows/Arm platform. Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D128668
-
Nikita Popov authored
Remove some leftover bits of extractvalue handling after the removal in D125795.
-
Fangrui Song authored
Uses of these markers are contrary to all other llvm-project subprojects and carry no information for people who know the basics of a lit test. I understand that there is an argument "this makes beginners get started quickly" but I am unsure whether this is strong enough to deviate from all other projects. https://llvm.org/docs/TestingGuide.html covers the basics. Actually, some contributors were confused by the markers. Differential Revision: https://reviews.llvm.org/D128763
-
Nikita Popov authored
lowerConstant() currently accepts a number of constant expressions which have corresponding MC expressions, but which cannot be evaluated as a relocatable expression (unless the operands are constant, in which case we'll just fold the expression to a constant). The motivation here is to clarify which constant expressions are really needed for https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179, and in particular clarify that we do not need to support any division expressions, which are particularly problematic. Differential Revision: https://reviews.llvm.org/D127972
-
Amir Ayupov authored
Control the MCOperandInfo expansion with `-instr-info-expand-mi-operand-info`. For X86, this would make it possible to see memory operand type e.g.: ``` /* MOV8rm */ GR8, i8mem, /* MOV8rm_NOREX */ GR8_NOREX, i8mem_NOREX, ``` The intended use is a follow-up diff D126116 (`getMemOperandSize`). Reviewed By: skan Differential Revision: https://reviews.llvm.org/D127932 -
Andrzej Warzynski authored
In, https://reviews.llvm.org/D120305, CLANG_DEFAULT_PIE_ON_LINUX was set to `On` by default. However, neither `-fpie` nor `-fpic` are currently supported in LLVM Flang. Hence, in this patch the behaviour controlled with CLANG_DEFAULT_PIE_ON_LINUX is refined not to apply to Flang. Another way to look at this is that CLANG_DEFAULT_PIE_ON_LINUX is currently affecting both Clang and Flang. IIUC, the intention for this CMake variable has always been to only affect Clang. This patch makes sure that that's the case. Without this change, you might see errors like this on X86_64: ``` /usr/bin/ld: main.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC ``` I've not experienced any issues on AArch64. That's probably because on AArch64 some object files happen to be position independent without needing -fpie or -fpic. Differential Revision: https://reviews.llvm.org/D128333
-
Pavel Samolysov authored
AARGetter is an abstraction over a source of the `AAResults` introduced to support the legacy pass manager as well as the modern one. Since the Argument Promotion pass doesn't support the legacy pass manager anymore, the abstraction is not required and `AAResults` may be used directly. The instance of the `FunctionAnalysisManager` is passed through the functions to get all the required analyses just wherever they are required and do not use the awkward getter callbacks. The `ReplaceCallSite` parameter was required for the legacy pass manager only and isn't used anymore, so the parameter has been eliminated. Differential Revision: https://reviews.llvm.org/D128727
-
Pavel Samolysov authored
The `isDenselyPacked` static member of the `ArgumentPromotionPass` class is not used in the class itself anymore. The single known user of the function is in the `AttributorAttributes.cpp` file, so the function has been moved into the file. Differential Revision: https://reviews.llvm.org/D128725
-
Adrian Kuegel authored
This reverts commit a4070a5e. It introduced another warning instead.
-
Huang Zhen-Hong authored
Fixes #55810 Differential Revision: https://reviews.llvm.org/D127873
-
Jose M Monsalve Diaz authored
This patch implements omp_get_device_num() in the host and the device. It uses the already existing getDeviceNum in the device config for the device. And in the host it uses the omp_get_num_devices(). Two simple tests added Differential Revision: https://reviews.llvm.org/D128347
-
luxufan authored
This patch drops the prefix `PT_RISCV_` when dumping `PT_RISCV_ATTRIBUTES`. GNU readelf dumps it as `RISCV_ATTRIBUT`. Because GNU readelf uses something like `%-14.14s` so only the first 14 bytes are printed. Differential Revision: https://reviews.llvm.org/D128493
-
Adrian Kuegel authored
-
Serguei Katkov authored
The first test shows that combineRangeChecks may choose to keep only two poison conditions. And we cannot do simple arithmetic or logical and in guard. The second test shows that keeping two poison conditions in the widened guard may allow execution of side-effect instruction even if just freeze these conditions. The third test shows that even in simple test we can hoist a poison and even logical and does not help here. Reviewed By: mkazantsev Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D128779
-
Mark de Wever authored
This changes the implementation of the formatter. Instead of inheriting from a specialized parser all formatters will use the same generic parser. This reduces the binary size. The new parser contains some additional fields only used in the chrono formatting. Since this doesn't change the size of the parser the fields are in the generic parser. The parser is designed to fit in 128-bit, making it cheap to pass by value. The new format function is a const member function. This isn't required by the Standard yet, but it will be after LWG-3636 is accepted. Additionally P2286 adds a formattable concept which requires the member function to be const qualified in C++23. This paper is likely to be accepted in the 2022 July plenary. This is based on D125606. That commit did the groundwork and did similar changes for the string formatters. Depends on D128139. Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D128671
-
lorenzo chelini authored
Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D128662
-
esmeyi authored
Currently, the code-model specified in IR can't be captured by [llc]. This patch fixes that. Reviewed By: shchenz, MaskRay Differential Revision: https://reviews.llvm.org/D128623
-
Mark de Wever authored
This changes the implementation of the formatter. Instead of inheriting from a specialized parser all formatters will use the same generic parser. This reduces the binary size. The new parser contains some additional fields only used in the chrono formatting. Since this doesn't change the size of the parser the fields are in the generic parser. The parser is designed to fit in 128-bit, making it cheap to pass by value. The new format function is a const member function. This isn't required by the Standard yet, but it will be after LWG-3636 is accepted. Additionally P2286 adds a formattable concept which requires the member function to be const qualified in C++23. This paper is likely to be accepted in the 2022 July plenary. This is based on D125606. That commit did the groundwork and did similar changes for the string formatters. Depends on D125606 Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D128139
-
Michał Górny authored
Split the test that's gotten very long in two, in hope that it will resolve the arm/aarch64 buildbot failures. Even if it does not, it could help pinpointing where the problem lies. Sponsored by: The FreeBSD Foundation
-
Chuanqi Xu authored
This patch introduces a new kind of ModuleOwnershipKind as ReachableWhenImported. This intended the status for reachable described at: https://eel.is/c++draft/module.reach#3. Note that this patch is not intended to support all semantics about reachable semantics. For example, this patch didn't implement discarded declarations in GMF. (https://eel.is/c++draft/module.global.frag#3). This fixes: https://bugs.llvm.org/show_bug.cgi?id=52281 and https://godbolt.org/z/81f3ocjfW. Reviewed By: rsmith, iains Differential Revision: https://reviews.llvm.org/D113545
-
Chuanqi Xu authored
This reverts commit a223ba0a. The previous commit don't contain additional information, which is bad.
-
Chuanqi Xu authored
-
Peixin-Qiao authored
1. Remove the redundant collapse clause in MLIR OpenMP worksharing-loop operation. 2. Fix several typos. 3. Refactor the chunk size type conversion since CreateSExtOrTrunc has both type check and type conversion. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D128338
-
Chen Zheng authored
This is the same with commercial XLC on AIX. Reviewed By: Esme Differential Revision: https://reviews.llvm.org/D114419
-
Chen Zheng authored
We are going to change alignment for DWARF sections. This patch is to fix functionality issue if the alignment is not the same with DefaultSectionAlign defined in XCOFFObjectWriter.cpp. Currently no test for this patch as for now alignment for DWARF sections and other sections are always the same. This patch will be tested when patch changing DWARF section is merged in. Reviewed By: Esme Differential Revision: https://reviews.llvm.org/D116092
-
Peixin-Qiao authored
Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D128598
-
Petr Hosek authored
We already remove dots from collected paths and path mappings. This makes it difficult to match paths inside the profile which contain dots. For example, we would never match /path/to/../file.c because the collected path is always be normalized to /path/file.c. This change enables dot removal for paths inside the profile to address the issue. Differential Revision: https://reviews.llvm.org/D123164
-
Peixin-Qiao authored
As Fortran 2018 8.6.4(1), the BIND statement specifies the BIND attribute for a list of variables and common blocks. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D127120
-
Chris Bieneman authored
My last attempt caused a test case failure. This resovles the issue.
-
Luo, Yuanke authored
When we fill the shape to tile configure memory, the shape is gotten from AMX pseudo instruction. However the register for the shape may be split or spilled by greedy RA. That cause we fill the shape to config memory after ldtilecfg is executed, so that the shape configuration would be wrong. This patch is to split the tile register allocation from greedy register allocation, so that after tile registers are allocated the shape registers are still virtual register. The shape register only may be redefined or multi-defined by phi elimination pass, two address pass. That doesn't affect tile register configuration. Differential Revision: https://reviews.llvm.org/D128584
-
Rafael Auler authored
This reverts commit 425dda76. This commit is currently causing BOLT to crash in one of our binaries and needs a bit more checking to make sure it is safe to land.
-
Guozhi Wei authored
Replace the new generated virtual register number with a macro to avoid name mismatch due to different configuration of compiler.
-
Chris Bieneman authored
This removes the DirectX backend's usage of the MaybeAlign API removed in 1baf1fc2.
-