- Mar 03, 2020
-
-
Nicolas Vasilache authored
Summary: This revision fixes a -Wzero-length-array compile error that caused e4595969 which reverted 78f9e5d0. This revision adds padding for 1-D Vector in the common case of x86 execution with a stadard data layout. This supports properly interfacing codegen with arrays of e.g. `vector<9xf32>`. Such vectors are already assumed padded to the next power of 2 by LLVM codegen with the default x86 data layout: ``` define void @test_vector_add_1d_2_3(<3 x float>* nocapture readnone %0, <3 x float>* nocapture readonly %1, i64 %2, i64 %3, i64 %4, <3 x float>* nocapture readnone %5, <3 x float>* nocapture readonly %6, i64 %7, i64 %8, i64 %9, <3 x float>* nocapture readnone %10, <3 x float>* nocapture %11, i64 %12, i64 %13, i64 %14) local_unnamed_addr { %16 = getelementptr <3 x float>, <3 x float>* %6, i64 1 %17 = load <3 x float>, <3 x float>* %16, align 16 %18 = getelementptr <3 x float>, <3 x float>* %1, i64 1 %19 = load <3 x float>, <3 x float>* %18, align 16 %20 = fadd <3 x float> %17, %19 %21 = getelementptr <3 x float>, <3 x float>* %11, i64 1 ``` The pointer addressing a `vector<3xf32>` is assumed aligned `@16`. Similarly, the pointer addressing a `vector<65xf32>` is assumed aligned `@512`. This revision allows using objects such as `vector<3xf32>` properly with the standard x86 data layout used in the JitRunner. Integration testing is done out of tree, at the moment such testing fails without this change. Differential Revision: https://reviews.llvm.org/D75459
-
David Blaikie authored
-
Juneyoung Lee authored
Summary: This patch allows LICM to hoist/sink freeze instructions out of a loop. Reviewers: reames, fhahn, efriedma Reviewed By: reames Subscribers: jfb, lebedev.ri, hiraditya, asbirlea, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75400
-
Shengchen Kan authored
Summary: This reverts commit 2ac19feb. This commit causes some test cases to run fail when branch is aligned.
-
Nico Weber authored
-
Fred Riss authored
It's unlikely that `errno` is the value the user wants to see in this error message.
-
Fangrui Song authored
Otherwise ld.lld -save-temps will crash when writing to ResolutionFile. llvm-lto2 -save-temps does not crash because it exits immediately. Reviewed By: evgeny777 Differential Revision: https://reviews.llvm.org/D75426
-
Fred Riss authored
Summary: This gets rid of some nesting and of the raw char* variable that caused the memory management bug we hit recently. This commit also removes the fallback code which should trigger when the StopInfo provides no stop description. All currently implemented StopInfos have a `GetDescription()` method that shouldn't return an empty description. Reviewers: JDevlieghere, labath, mib Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D74157
-
Jim Lin authored
-
Cyndy Ishida authored
the weak defined symbol flag was missing from the call site for adding symbols which didn't cause issues because it invoked the default parameter.
-
Vedant Kumar authored
Make it a compile-time error to pass an int/unsigned/etc to fromRawInteger. Hopefully this prevents errors of the form: ``` for (unsigned ID : getVarLocs()) { auto VL = LocMap[LocIndex::fromRawInteger(ID)]; ... ``` -
Erik Pilkington authored
When an implicitly generated decl was the first entry in the group, we attempted to lookup comments with an empty FileID, leading to crashes. Avoid this by trying to use the other declarations in the group, and then bailing out if none are valid. rdar://59919733 Differential revision: https://reviews.llvm.org/D75483
-
Huihui Zhang authored
Summary: It is not safe for ARMConstantIslands to undoLRSpillRestore. PrologEpilogInserter is the one to ensure stack alignment, taking into consideration LR is spilled or not. For noreturn function with StackAlignment 8 (function contains call/alloc), undoLRSpillRestore cause stack be mis-aligned. Fixing stack alignment in ARMConstantIslands doesn't give us much benefit, as undo LR spill/restore only occur in large function with near branches only, also doesn't have callee-saved LR spill. Reviewers: t.p.northover, rengolin, efriedma, apazos, samparker, ostannard Reviewed By: ostannard Subscribers: dmgreen, ostannard, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75288
-
Petr Hosek authored
This is a follow up to D74108. This option is not supported by older versions of libtool so remove it. We keep the -s option to build the index.
-
Jonas Devlieghere authored
Use emplace_back to allow for in-place construction of the BroadcastEventSpec instead of copying it.
-
Greg Clayton authored
YAML files were not being run during lit testing as there was no lit.local.cfg file. Once this was fixed, some buildbots would fail due to a StringRef that pointed to a std::string inside of a temporary llvm::Triple object. These issues are fixed here by making a local triple object that stays around long enough so the StringRef points to valid data. Also fixed an issue where strings for files in the file table could be added in opposite order due to parameters to function calls not having a strong ordering, which caused tests to fail. Added new arch specfic directories so when targets are not enabled, we continue to function just fine. Differential Revision: https://reviews.llvm.org/D75390
-
Raphael Isemann authored
Summary: Currently `SymbolFileDWARF::TypeSet` is a typedef to a `std::set<Type *>`. In `SymbolFileDWARF::GetTypes` we iterate over a TypeSet variable when finding types so that logic is non-deterministic as it depends on the actual pointer address values. This patch changes the `TypeSet` to a `llvm::UniqueVector` which always iterates in the order in which we inserted the types into the list. Reviewers: JDevlieghere, aprantl Reviewed By: JDevlieghere Subscribers: mgrang, abidh, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D75481
-
Philip Reames authored
-
Davide Italiano authored
While here, explain that this is not really used. Probably NFC.
-
Eric Christopher authored
as it broke the Werror build: .../sources/llvm-project/mlir/include/mlir/ExecutionEngine/CRunnerUtils.h:85:16: error: zero size arrays are an extension [-Werror,-Wzero-length-array] char padding[detail::nextPowerOf2<sizeof(T[Dim])>() - sizeof(T[Dim])]; ^~~~~~~~~~~~~~~ This reverts commit 78f9e5d0. -
Philip Reames authored
X86 has several instructions which are documented as enabling interrupts exactly one instruction *after* the one which changes the SS segment register. Inserting a nop between these two instructions allows an interrupt to arrive before the execution of the following instruction which changes semantic behaviour. The list of instructions is documented in "Table 24-3. Format of Interruptibility State" in Volume 3c of the Intel manual. They basically all come down to different ways to write to the SS register. Differential Revision: https://reviews.llvm.org/D75359
-
Sumanth Gundapaneni authored
One of the checks has been removed as it seem invalid. The LoopStep size is always almost a 32-bit. Differential Revision: https://reviews.llvm.org/D75079
-
Jordan Rupprecht authored
-
Jonas Devlieghere authored
-
Craig Topper authored
[TargetLowering] Fix what look like copy/paste mistakes in compare with infinity handling SimplifySetCC. I expect that the isCondCodeLegal checks should match that CC of the node that we're going to create. Rewriting to a switch to minimize repeated mentions of the same constants.
-
Teresa Johnson authored
This reverts commit 80d0a137, and the follow on fix in 873c0d07. It is causing test failures after a multi-stage clang bootstrap. See discussion on D73242 and D75201.
-
Joerg Sonnenberger authored
Depending on the OS used, a module-enabled build can fail due to the special handling <cassert> gets as textual header.
-
Luboš Luňák authored
This reverts commit 398b4ed8. As requested in https://bugs.llvm.org/show_bug.cgi?id=43465#c37 .
-
Jacques Pienaar authored
For ODS generated operations enable querying whether there is a derived attribute with a given name.
-
Greg Clayton authored
This reverts commit 57688350. Need to conditionalize for ARM targets, this is failing on machines that don't have ARM targets.
-
Greg Clayton authored
YAML files were not being run during lit testing as there was no lit.local.cfg file. Once this was fixed, some buildbots would fail due to a StringRef that pointed to a std::string inside of a temporary llvm::Triple object. These issues are fixed here by making a local triple object that stays around long enough so the StringRef points to valid data. Also fixed an issue where strings for files in the file table could be added in opposite order due to parameters to function calls not having a strong ordering, which caused tests to fail. Differential Revision: https://reviews.llvm.org/D75390
-
Hiroshi Yamauchi authored
Summary: This follows up D67377 that added the isHot side. Reviewers: davidxl Subscribers: eraman, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75283
-
Alexandre Ganea authored
A two-stage ThinLTO build previously failed the clang/test/Driver/hurd.c test because of a static_cast in "tools::gnutools::Linker::ConstructJob()" which wrongly converted an instance of "clang::driver::toolchains::Hurd" into that of "clang::driver::toolchains::Linux". ThinLTO would later devirtualize the "ToolChain.getDynamicLinker(Args)" call and use "Linux::getDynamicLinker()" instead, causing the test to generate a wrong "-dynamic-linker" linker flag (/lib/ld-linux.so.2 instead of /lib/ld.so) Fixes PR45061. Differential Revision: https://reviews.llvm.org/D75373
-
Alexey Bataev authored
Summary: fixed the warning from gcc since prios 0-100 are reserved for the internal use. Reviewers: grokos Subscribers: kkwli0, caomhin, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D75458
-
Stanislav Mekhanoshin authored
This is needed for D74873, AMDGPU going to have 16 bit subregs and the largest tuple is 32 VGPRs, which results in 64 lanes. Differential Revision: https://reviews.llvm.org/D75378
-
Sid Manning authored
This reverts commit 63776766. Need to fix the testcase.
-
Vedant Kumar authored
It looks like the suppression file isn't being copied over to the device.
-
Vedant Kumar authored
After the format change from D69471, there can be more than one section in an object that contains coverage function records. Look up each of these sections and concatenate all the records together. This re-enables the instrprof-merging.cpp test, which previously was failing on OSes which use comdats. Thanks to Jeremy Morse, who very kindly provided object files from the bot I broke to help me debug.
-
Alexey Bataev authored
Added basic support (parsing/sema/serialization) for 'destroy' clause in depobj directives.
-
Sid Manning authored
Pickup the default crt and libs when the target is musl. Differential Revision: https://reviews.llvm.org/D75139
-