- Mar 03, 2020
-
-
Florian Hahn authored
This patch adds a getPlan accessor to VPBlockBase, which finds the entry block of the plan containing the block and returns the plan set for this block. VPBlockBase contains a VPlan pointer, but it should only be set for the entry block of a plan. This allows moving blocks without updating the pointer for each moved block and in the future we might introduce a parent relationship between plans and blocks, similar to the one in LLVM IR. Reviewers: rengolin, hsaito, fhahn, Ayal, dorit, gilr Reviewed By: gilr Differential Revision: https://reviews.llvm.org/D74445
-
David Green authored
-
LLVM GN Syncbot authored
-
serge-sans-paille authored
llvm/Support/Base64, fix its implementation and provide a decent test suite. Previous implementation code was using + operator instead of | to combine results, which is a problem when shifting signed values. (0xFF << 16) is implicitly converted to a (signed) int, and thus results in 0xffff0000, h is negative. Combining negative numbers with a + in that context is not what we want to do. This is a recommit of 5a1958f2 with UB removved. This fixes https://github.com/llvm/llvm-project/issues/149. Differential Revision: https://reviews.llvm.org/D75057
-
David Green authored
Also adds a force-reduction-intrinsics option for testing, for forcing the generation of reduction intrinsics even when the backend is not requesting them.
-
Hans Wennborg authored
This reverts commit 94d4ca90. I reverted 68a235d0 again in 916be8fd.
-
Clement Courbet authored
-
Hans Wennborg authored
and follow-ups: a2ca1c2d "build: disable zlib by default on Windows" 2181bf40 "[CMake] Link against ZLIB::ZLIB" 1079c68a "Attempt to fix ZLIB CMake logic on Windows" This changed the output of llvm-config --system-libs, and more importantly it broke stand-alone builds. Instead of piling on more fix attempts, let's revert this to reduce the risk of more breakages.
-
Jim Lin authored
Summary: LDRdPtr expanded from LDWRdPtr shouldn't define its second operand(SrcReg). The second operand is its source register. Add -verify-machineinstrs into command line of testcases can trigger this error. Reviewers: dylanmckay Reviewed By: dylanmckay Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75437
-
Georgii Rymar authored
Sometimes we need to dump an object and build it again from a YAML description produced. The problem is that obj2yaml does not dump some of sections, like string tables and symbol tables. Because of that yaml2obj implicitly creates them and sections created are not placed at their original locations. They are added to the end of a section list. That makes a preparing test cases task harder than it can be. This patch teaches obj2yaml to dump parts of allocatable SHT_STRTAB, SHT_SYMTAB and SHT_DYNSYM sections to print placeholders for them. This also allows to preserve usefull parameters, like virtual address. Differential revision: https://reviews.llvm.org/D74955
-
Roman Lebedev authored
in @t0 we can still change type of load and get rid of casts.
-
Georgii Rymar authored
ELFDumper<ELFT>::dump() is too large and deserves splitting. Differential revision: https://reviews.llvm.org/D75172
-
Awanish Pandey authored
This patch adds support for dwarf emission/dumping part of debuginfo generation for defaulted parameters. Reviewers: probinson, aprantl, dblaikie Reviewed By: aprantl, dblaikie Differential Revision: https://reviews.llvm.org/D73462
-
Sameer Sahasrabuddhe authored
This is in prepration for further changes that affect these tests. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D75403
-
Alok Kumar Sharma authored
Summary: This is to avoid generating duplicate llvm.dbg.value instrinsic if it already exists after the Instruction. Before inserting llvm.dbg.value instruction, LLVM checks if the same instruction is already present before the instruction to avoid duplicates. Currently it misses to check if it already exists after the instruction. flang generates IR like this. %4 = load i32, i32* %i1_311, align 4, !dbg !42 call void @llvm.dbg.value(metadata i32 %4, metadata !35, metadata !DIExpression()), !dbg !33 When this IR is processed in llvm, it ends up inserting duplicates. %4 = load i32, i32* %i1_311, align 4, !dbg !42 call void @llvm.dbg.value(metadata i32 %4, metadata !35, metadata !DIExpression()), !dbg !33 call void @llvm.dbg.value(metadata i32 %4, metadata !35, metadata !DIExpression()), !dbg !33 We have now updated LdStHasDebugValue to include the cases when instruction is already followed by same dbg.value instruction we intend to insert. Now, Definition and usage of function LdStHasDebugValue are deleted. RemoveRedundantDbgInstrs is called for the cleanup of duplicate dbg.value's Testing: Added unit test for validation check-llvm check-debuginfo (the debug info integration tests) Reviewers: aprantl, probinson, dblaikie, jmorse, jini.susan.george SouraVX, awpandey, dstenb, vsk Reviewed By: aprantl, jmorse, dstenb, vsk Differential Revision: https://reviews.llvm.org/D74030
-
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.
-
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
-
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)]; ... ```
-
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
-
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
-
- Mar 02, 2020
-
-
Philip Reames authored
-
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
-
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.
-
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
-
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
-
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.
-
Jessica Paquette authored
CFI instructions can only safely be outlined when the outlined call is a tail call, or when the outlined frame is fixed up. For the sake of correctness, disable outlining from CFI instructions. Add machine-outliner-cfi.mir to test this.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Alexey Bataev authored
Added basic parsing/sema/serialization support for depobj directive.
-