-
Notifications
You must be signed in to change notification settings - Fork 13.6k
SemanticHighlighting encodeBase64 corrupts data #149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
alexzielenski opened this issue
Feb 23, 2020
· 2 comments
· May be fixed by MarcelRaschke/llvm-project#8, baby636/llvm-project#20 or baby636/llvm-project#21
Closed
SemanticHighlighting encodeBase64 corrupts data #149
alexzielenski opened this issue
Feb 23, 2020
· 2 comments
· May be fixed by MarcelRaschke/llvm-project#8, baby636/llvm-project#20 or baby636/llvm-project#21
Comments
There's already a base64 implementation in |
Bigcheese
pushed a commit
to Bigcheese/llvm-project
that referenced
this issue
Feb 27, 2020
Cherry pick 48227136
serge-sans-paille
pushed a commit
that referenced
this issue
Mar 3, 2020
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 5a1958f with UB removved. This fixes #149. Differential Revision: https://reviews.llvm.org/D75057
ghost
pushed a commit
to RPCS3/llvm-mirror
that referenced
this issue
Mar 3, 2020
commit 418923c341431b66ffacfefe54d3e7e09a200f3b Author: Clement Courbet <[email protected]> Date: Tue Mar 3 11:06:37 2020 +0100 [ExpandMemCmp][NFC] Fix typo in comment. commit 8f2b0ac07b8b33aace840a69a0f799e3af92db1e Author: Hans Wennborg <[email protected]> Date: Tue Mar 3 09:45:14 2020 +0100 Revert abb00753 "build: reduce CMake handling for zlib" (PR44780) 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. commit 8b679a00b651beb4308358dbf62506961eb2e51e Author: Jim Lin <[email protected]> Date: Tue Mar 3 16:52:20 2020 +0800 [AVR] Fix incorrect register state for LDRdPtr 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 commit e171e285edb06383657f9bb558ed7ff4ec3d1155 Author: Georgii Rymar <[email protected]> Date: Fri Feb 21 14:10:23 2020 +0300 [obj2yaml] - Dump allocatable SHT_STRTAB, SHT_SYMTAB and SHT_DYNSYM sections. 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 commit 628089dc06cc508103431facd92083eb9575ea7e Author: Roman Lebedev <[email protected]> Date: Tue Mar 3 11:27:11 2020 +0300 [NFC][InstCombine] Add test with non-CSE'd casts of load in @t0 we can still change type of load and get rid of casts. commit 1c0ecafade5a5b99714d94b017569a3d33f0fe2d Author: Georgii Rymar <[email protected]> Date: Wed Feb 26 16:59:43 2020 +0300 [obj2yaml] - Split sections dumping to a new ELFDumper<ELFT>::dumpSections() method. ELFDumper<ELFT>::dump() is too large and deserves splitting. Differential revision: https://reviews.llvm.org/D75172 commit a442647ff8407dd9089370724b85e263eea2d5c0 Author: Awanish Pandey <[email protected]> Date: Tue Mar 3 13:07:26 2020 +0530 [DebugInfo][DWARF5]: Added support for debuginfo generation for defaulted parameters 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 commit 68fffe70b7864d48cddd58cac2c5575ea00a3227 Author: Sameer Sahasrabuddhe <[email protected]> Date: Fri Feb 28 22:47:35 2020 +0530 [AMDGPU] add generated checks for some LIT tests This is in prepration for further changes that affect these tests. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D75403 commit da259653666a7e3b86fd646b7fadd53c56017aaf Author: Alok Kumar Sharma <[email protected]> Date: Tue Mar 3 09:50:13 2020 +0530 [DebugInfo] Avoid generating duplicate llvm.dbg.value 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 commit 996af71606d7300c8bcbd761df94022e80099e55 Author: David Blaikie <[email protected]> Date: Mon Mar 2 19:30:03 2020 -0800 DebugInfo: Separate different debug_macinfo contributions & print the offset of a contribution commit e0356375f8daeb1d6b7c7f15ab1ecda770b1e3ef Author: Juneyoung Lee <[email protected]> Date: Sat Feb 29 22:00:44 2020 +0900 [LICM] Allow freeze to hoist/sink out of a loop 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 commit 5b844a4c88631f55d40a771092a981898406792f Author: Shengchen Kan <[email protected]> Date: Tue Mar 3 11:10:54 2020 +0800 Temporarily Revert [X86] Not track size of the boudaryalign fragment during the layout Summary: This reverts commit 2ac19feb1571960b8e1479a451b45ab56da7034e. This commit causes some test cases to run fail when branch is aligned. commit 4cdc54cceb61cb4e96ba66ee5d767fc65a11ce45 Author: Fangrui Song <[email protected]> Date: Sun Mar 1 12:06:51 2020 -0800 [LTO] onfig::addSaveTemps: clear ResolutionFile upon an error 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 commit 5b890d8e7af8a6f6f8d05b8496833452f7821678 Author: Jim Lin <[email protected]> Date: Mon Mar 2 18:46:22 2020 +0800 [AVR] Add missing ROLLOOP and RORLOOP into getTargetNodeName commit 2a4be332ff44cde91f746d43016a9b85584f4620 Author: Cyndy Ishida <[email protected]> Date: Mon Mar 2 16:58:14 2020 -0800 [llvm][MachO] fix adding weak def syms 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. commit 6839c5908a9b6f6543fb965efe641856f84be66d Author: Vedant Kumar <[email protected]> Date: Mon Mar 2 16:56:17 2020 -0800 [LiveDebugValues] Prevent some misuse of LocIndex::fromRawInteger, NFC 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)]; ... ``` commit 2d8dc5b1336a1870e61acded1c8ac1793e247079 Author: Huihui Zhang <[email protected]> Date: Mon Mar 2 16:11:50 2020 -0800 [ARM][ConstantIslands] Fix stack mis-alignment caused by undoLRSpillRestore. 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 commit 1490382df1ad7e8bcd6238cd1d9bbb848dfb6df1 Author: Greg Clayton <[email protected]> Date: Mon Mar 2 15:37:27 2020 -0800 Fix GSYM tests to run the yaml files and fix test failures on some machines. 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 commit 264007f8bdb304937e94e14883a8bf6277d8708b Author: Philip Reames <[email protected]> Date: Mon Mar 2 14:57:11 2020 -0800 Use range-for in MCAssembler [NFC] commit 0904a3ae51182b46214c8cfa7b9ff6cdc90fcc53 Author: Philip Reames <[email protected]> Date: Mon Mar 2 13:21:53 2020 -0800 [BranchAlign] Fix bug w/nop padding for SS manipulation 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 commit 77cbec7e52218f515dd9f23496ca36cba17946c4 Author: Sumanth Gundapaneni <[email protected]> Date: Mon Mar 2 16:32:19 2020 -0600 Update LSR's logic that identifies a post-increment SCEV value. 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 commit d3dc81a22a8d10c77bd1cf2ce97b89a3ea33777f Author: Jordan Rupprecht <[email protected]> Date: Mon Mar 2 14:23:17 2020 -0800 Add default case to fix -Wswitch errors commit 5400a75fe6d2e09c01d3877b4257168c243fbbec Author: Craig Topper <[email protected]> Date: Mon Mar 2 14:12:16 2020 -0800 [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. commit 7a274552f244c01b590df6c9be4da2412ea65236 Author: Teresa Johnson <[email protected]> Date: Mon Mar 2 13:09:56 2020 -0800 Revert "Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP"" This reverts commit 80d0a137a5aba6998fadb764f1e11cb901aae233, and the follow on fix in 873c0d0786dcf22f4af39f65df824917f70f2170. It is causing test failures after a multi-stage clang bootstrap. See discussion on D73242 and D75201. commit 633e2c035f02e1f7ef453f939f132c637af424b9 Author: Joerg Sonnenberger <[email protected]> Date: Mon Mar 2 18:24:11 2020 +0100 Explicitly include <cassert> when using assert Depending on the OS used, a module-enabled build can fail due to the special handling <cassert> gets as textual header. commit 29c6f3632483abaed7e09026ab56c3e119949f95 Author: Greg Clayton <[email protected]> Date: Mon Mar 2 13:07:58 2020 -0800 Revert "Fix GSYM tests to run the yaml files and fix test failures on some machines." This reverts commit 57688350adea307e7bccb83b68a5b7333de31fd7. Need to conditionalize for ARM targets, this is failing on machines that don't have ARM targets. commit f5b15baf837343881fb4e8207a044f66b5c9a8ab Author: Greg Clayton <[email protected]> Date: Mon Mar 2 12:40:46 2020 -0800 Fix GSYM tests to run the yaml files and fix test failures on some machines. 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 commit 6e164c4b1dff826d38241d95f435d628182cb626 Author: Hiroshi Yamauchi <[email protected]> Date: Thu Feb 27 10:49:04 2020 -0800 [PSI] Add the isCold query support with a given percentile value. 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 commit a8e180d21c2900e25580fd6066cc5b0f8df535d6 Author: Stanislav Mekhanoshin <[email protected]> Date: Fri Feb 28 12:28:45 2020 -0800 Extend LaneBitmask to 64 bit 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 commit 57ed845d5639ed4cf33134191e82a9e91ba4d0f7 Author: Vedant Kumar <[email protected]> Date: Mon Mar 2 11:37:19 2020 -0800 [Coverage] Collect all function records in an object (D69471 followup) 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. commit 86d5f808131703000018936b3a52860813a0ac4b Author: Jessica Paquette <[email protected]> Date: Mon Mar 2 10:49:18 2020 -0800 [AArch64][MachineOutliner] Don't outline CFI instructions 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. commit 52e84caadf75e4acd8cd6d8b84a12d3ab2a61a00 Author: Simon Pilgrim <[email protected]> Date: Mon Mar 2 18:22:58 2020 +0000 Fix shadow variable warning. NFC. commit 1f86fb7e4a67cd0d0b78286d4d1ca34b712e08e5 Author: Simon Pilgrim <[email protected]> Date: Mon Mar 2 18:10:15 2020 +0000 Fix 'unsigned variable can never be negative' cppcheck warning. NFCI. commit a833f3a33b2ade5ebe6c74b02d34832f442197cb Author: Alexey Bataev <[email protected]> Date: Fri Feb 28 09:52:15 2020 -0500 [OPENMP50]Add basic support for depobj construct. Added basic parsing/sema/serialization support for depobj directive. commit ae0ba63fe423d64a659d00f54dd8ba9b136d3b4b Author: Adrian Prantl <[email protected]> Date: Mon Mar 2 09:39:27 2020 -0800 More principled implementation of DISubprogram::describes() Previously we would also accept DISubprograms that matched in name only, but this doesn't appear to be necessary any more. I did a Full and Thin LTO build of Clang and it completed without a warning. Differential Revision: https://reviews.llvm.org/D75213 commit 9863c4062d5bad6be405ec708b4207cc23b94fab Author: Brian Cain <[email protected]> Date: Mon Feb 24 11:58:50 2020 -0600 Fix unused-variable warning commit 365f9e08a5b3c2d0ea4ed75f2e73cb4fdbd5adc9 Author: LLVM GN Syncbot <[email protected]> Date: Mon Mar 2 17:35:47 2020 +0000 [gn build] Port 49684f9db5c commit 9e27eade83abfd8c73e41c410342a05484113b12 Author: Mitch Phillips <[email protected]> Date: Mon Mar 2 09:29:29 2020 -0800 Revert "Syndicate, test and fix base64 implementation" This reverts commit 5a1958f2673f8c771e406a7e309e160b432c9a79. This change broke the UBSan build bots. See https://reviews.llvm.org/D75057 for more information. commit 2a55bb0f7cecb5544f8521c4adba048f396a40a4 Author: Mitch Phillips <[email protected]> Date: Mon Mar 2 09:28:59 2020 -0800 Revert "Fix Base64Test - for StringRef size" This reverts commit b52355f8a196b5040dc2e42870bf8c459306cfaa. The change this patch depends on (5a1958f2673f8c771e406a7e309e160b432c9a79) broke the UBSan buildbots. See https://reviews.llvm.org/D75057 for more information. commit c20158c03628f467756d19f91aa77ef1017692a2 Author: Teresa Johnson <[email protected]> Date: Wed Feb 26 10:54:56 2020 -0800 [ThinLTO/LowerTypeTests] Handle unpromoted local type ids Summary: Fixes an issue that cropped up after the changes in D73242 to delay the lowering of type tests. LTT couldn't handle any type tests with non-string type id (which happens for local vtables, which we try to promote during the compile step but cannot always when there are no exported symbols). We can simply treat the same as having an Unknown resolution, which delays their lowering, still allowing such type tests to be used in subsequent optimization (e.g. planned usage during ICP). The final lowering which simply removes these handles them fine. Beefed up an existing ThinLTO test for such unpromoted type ids so that the internal vtable isn't removed before lower type tests, which hides the problem. Reviewers: evgeny777, pcc Subscribers: inglorion, hiraditya, steven_wu, dexonsmith, aganea, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75201 commit 1f36784b5dfea7c38a12af0e5b62f75f073a1210 Author: Volkan Keles <[email protected]> Date: Mon Mar 2 09:15:40 2020 -0800 GlobalISel: Move Localizer::shouldLocalize(..) to TargetLowering Add a new target hook for shouldLocalize so that targets can customize the logic. https://reviews.llvm.org/D75207 commit 14134eb9391e1647ba26eb1983f3336df9e973db Author: Arkady Shlykov <[email protected]> Date: Fri Jan 17 05:35:19 2020 -0800 [Loop Peeling] Add possibility to enable peeling on loop nests. Summary: Current peeling implementation bails out in case of loop nests. The patch introduces a field in TargetTransformInfo structure that certain targets can use to relax the constraints if it's profitable (disabled by default). Also additional option is added to enable peeling manually for experimenting and testing purposes. Reviewers: fhahn, lebedev.ri, xbolva00 Reviewed By: xbolva00 Subscribers: RKSimon, xbolva00, hiraditya, zzheng, llvm-commits Differential Revision: https://reviews.llvm.org/D70304 commit e737fa612aac600e9c9244750d46d2b03815e06a Author: Krzysztof Parzyszek <[email protected]> Date: Mon Mar 2 09:49:53 2020 -0600 [Hexagon] Use BUILD_PAIR to expand i128 instead of doing arithmetic commit b3943e67777517f31e979588e75d1daf8b091940 Author: Nicolai Hähnle <[email protected]> Date: Wed Feb 26 19:47:14 2020 +0100 Build fix: Turn off _GLIBCXX_DEBUG based on a compile check Summary: Enabling _GLIBCXX_DEBUG (implied by LLVM_ENABLE_EXPENSIVE_CHECKS) causes std::min_element (and presumably others) to no longer be constexpr, which in turn causes the build to fail. This seems like a bug in the GCC STL. This change works around it. Change-Id: I5fc471caa9c4de3ef4e87aeeac8df1b960e8e72c Reviewers: tstellar, hans, serge-sans-paille Differential Revision: https://reviews.llvm.org/D75199 commit ad41630f2207bc47b05a2f0986a5e71948cd798d Author: Simon Pilgrim <[email protected]> Date: Mon Mar 2 14:59:06 2020 +0000 [X86] Cleanup ShuffleDecode implementations. NFCI. - Remove unnecessary includes from the headers - Fix cppcheck definition/declaration arg mismatch warnings - Tidyup old comments (MVT usage was removed a long time ago) - Use SmallVector::append for repeated mask entries commit 6e60c4c13482c38f650441400fb766cc674bfed9 Author: David Green <[email protected]> Date: Mon Mar 2 14:26:32 2020 +0000 [LoopVectorizer] Change types of lists from pointers to references. NFC getReductionVars, getInductionVars and getFirstOrderRecurrences were all being returned from LoopVectorizationLegality as pointers to lists. This just changes them to be references, cleaning up the interface slightly. Differential Revision: https://reviews.llvm.org/D75448 commit 7044c8086f6b96b6fdeeb2267bb079e75a556e38 Author: Luke Geeson <[email protected]> Date: Fri Feb 14 13:33:32 2020 +0000 [ARM] Add Cortex-M55 Support for clang and llvm This patch upstreams support for the ARM Armv8.1m cpu Cortex-M55. In detail adding support for: - mcpu option in clang - Arm Target Features in clang - llvm Arm TargetParser definitions details of the CPU can be found here: https://developer.arm.com/ip-products/processors/cortex-m/cortex-m55 Reviewers: chill Reviewed By: chill Subscribers: dmgreen, kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D74966 commit 15b8a513300f7b11a73a831eddd5f8afaec98978 Author: Simon Pilgrim <[email protected]> Date: Mon Mar 2 11:19:48 2020 +0000 Fix shadow variable warning. NFC. commit e90a3056eb7e52577226336b0d67607b509b3842 Author: Simon Pilgrim <[email protected]> Date: Mon Mar 2 11:18:41 2020 +0000 [CostModel][X86] Add vXi1 extract/insert cost tests commit fa8d730ab3273f4c1730bc422b941d93cdb8268a Author: Awanish Pandey <[email protected]> Date: Mon Mar 2 10:52:12 2020 +0530 Reland "[DebugInfo][clang][DWARF5]: Added support for debuginfo generation for defaulted parameters in C++ templates." This was reverted in 802b22b5c8c30bebc1695a217478be02653c6b53 due to missing .bc file and a chromium bot failure. https://bugs.chromium.org/p/chromium/issues/detail?id=1057559#c1 This revision address both of them. Summary: This patch adds support for debuginfo generation for defaulted parameters in clang and also extends corresponding DebugMetadata/IR to support this feature. Reviewers: probinson, aprantl, dblaikie Reviewed By: aprantl, dblaikie Differential Revision: https://reviews.llvm.org/D73462 commit 84b1eb3abc46c100d3ced979f6838a39766adb91 Author: Simon Pilgrim <[email protected]> Date: Mon Mar 2 10:56:29 2020 +0000 Fix operator precedence warning. NFCI. commit 54d477baad48fa6eecf5ea223f55ef7385343ea1 Author: Andrzej Warzynski <[email protected]> Date: Wed Feb 19 12:25:30 2020 +0000 [AArch64][SVE] Add intrinsics for non-temporal gather-loads/scatter-stores Summary: This patch adds the following LLVM IR intrinsics for SVE: 1. non-temporal gather loads * @llvm.aarch64.sve.ldnt1.gather * @llvm.aarch64.sve.ldnt1.gather.uxtw * @llvm.aarch64.sve.ldnt1.gather.scalar.offset 2. non-temporal scatter stores * @llvm.aarch64.sve.stnt1.scatter * @llvm.aarch64.sve.ldnt1.gather.uxtw * @llvm.aarch64.sve.ldnt1.gather.scalar.offset These intrinsic are mapped to the corresponding SVE instructions (example for half-words, zero-extending): * ldnt1h { z0.s }, p0/z, [z0.s, x0] * stnt1h { z0.s }, p0/z, [z0.s, x0] Note that for non-temporal gathers/scatters, the SVE spec defines only one instruction type: "vector + scalar". For this reason, we swap the arguments when processing intrinsics that implement the "scalar + vector" addressing mode: * @llvm.aarch64.sve.ldnt1.gather * @llvm.aarch64.sve.ldnt1.gather.uxtw * @llvm.aarch64.sve.stnt1.scatter * @llvm.aarch64.sve.ldnt1.gather.uxtw In other words, all intrinsics for gather-loads and scatter-stores implemented in this patch are mapped to the same load and store instruction, respectively. The sve2_mem_gldnt_vs multiclass (and it's counterpart for scatter stores) from SVEInstrFormats.td was split into: * sve2_mem_gldnt_vec_vs_32_ptrs (32bit wide base addresses) * sve2_mem_gldnt_vec_vs_62_ptrs (64bit wide base addresses) This is consistent with what we did for @llvm.aarch64.sve.ld1.scalar.offset and highlights the actual split in the spec and the implementation. Reviewed by: sdesmalen Differential Revision: https://reviews.llvm.org/D74858 commit acb5034d24f382c0f18943c1680656d5e11f2cd0 Author: Simon Tatham <[email protected]> Date: Mon Mar 2 09:06:09 2020 +0000 [ARM,MVE] Add ACLE intrinsics for VCVT[ANPM] family. Summary: These instructions convert a vector of floats to a vector of integers of the same size, with assorted non-default rounding modes. Implemented in IR as target-specific intrinsics, because as far as I can see there are no matches for that functionality in the standard IR intrinsics list. Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard Reviewed By: dmgreen Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D75255 commit 86da1af72af95c4817e2faf02e19a91dc4b8c926 Author: Simon Tatham <[email protected]> Date: Mon Mar 2 09:06:00 2020 +0000 [ARM,MVE] Add ACLE intrinsics for VCVT.F32.F16 family. Summary: These instructions make a vector of `<4 x float>` by widening every other lane of a vector of `<8 x half>`. I wondered about representing these using standard IR, along the lines of a shufflevector to extract elements of the input into a `<4 x half>` followed by an `fpext` to turn that into `<4 x float>`. But it looks as if that would take a lot of work in isel lowering to make it match any pattern I could sensibly write in Tablegen, and also I haven't been able to think of any other case where that pattern might be generated in IR, so there wouldn't be any extra code generation win from doing it that way. Therefore, I've just used another target-specific intrinsic. We can always change it to the other way later if anyone thinks of a good reason. (In order to put the intrinsic definition near similar things in `IntrinsicsARM.td`, I've also lifted the definition of the `MVEMXPredicated` multiclass higher up the file, without changing it.) Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard Reviewed By: miyuki Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D75254 commit 37f1154506d8f518940194c7030a5fb5ac415c05 Author: Simon Tatham <[email protected]> Date: Mon Mar 2 09:05:48 2020 +0000 [ARM,MVE] Correct MC operands in VCVT.F32.F16. (NFC) Summary: The two MVE instructions that convert between v4f32 and v8f16 were implemented as instances of the same class, with the same MC operand list. But that's not really appropriate, because the narrowing conversion only partially overwrites its output register (it only has 4 f16 values to write into a vector of 8), so even when unpredicated, it needs a $Qd_src input, a constraint tying that to the $Qd output, and a vpred_n. The widening conversion is better represented like any other instruction that completely replaces its output when unpredicated: it should have no $Qd_src operand, and instead, a vpred_r containing a $inactive parameter. That's a better match to other similar instructions, such as its integer analogue, the VMOVL instruction that makes a v4i32 by sign- or zero-extending every other lane of a v8i16. This commit brings the widening VCVT.F32.F16 into line with the other instructions that behave like it. That means you can write isel patterns that use it unpredicated, without having to add a pointless undefined $QdSrc operand. No existing code generation uses that instruction yet, so there should be no functional change from this fix. Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard Reviewed By: dmgreen Subscribers: kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75253 commit 605803fc344691ed4e848077dec5d20e71ed5baf Author: Simon Tatham <[email protected]> Date: Mon Mar 2 09:05:35 2020 +0000 [ARM,MVE] Add ACLE intrinsics for VQMOV[U]N family. Summary: These instructions work like VMOVN (narrowing a vector of wide values to half size, and overwriting every other lane of an output register with the result), except that the narrowing conversion is saturating. They come in three signedness flavours: signed to signed, unsigned to unsigned, and signed to unsigned. All are represented in IR by a target-specific intrinsic that takes two separate 'unsigned' flags. Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard Reviewed By: dmgreen Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D75252 commit b424382a42e3a41588b9d3f7915bc4dda36c0bb0 Author: Pavel Labath <[email protected]> Date: Tue Feb 25 15:40:49 2020 +0100 [DWARF] Use DWARFDataExtractor::getInitialLength to parse debug_names Summary: In this patch I've done a slightly bigger rewrite to also remove the hardcoded header lengths. Reviewers: jhenderson, dblaikie, ikudrin Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75119 commit 16b078b185e5286c3eefc1e4ace9a9aa587e2773 Author: Pavel Labath <[email protected]> Date: Tue Feb 25 15:17:57 2020 +0100 [DWARF] Use getInitialLength in range list parsing Summary: This could be considered obvious, but I am putting it up to illustrate the usefulness/impact of the getInitialLength change. Reviewers: dblaikie, jhenderson, ikudrin Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75117 commit b7a812f072705f3387853c0eafcd6a1203b29c75 Author: Pavel Labath <[email protected]> Date: Fri Feb 14 15:41:38 2020 +0100 [DWARFDebugLine] Use new DWARFDataExtractor::getInitialLength Summary: The error messages change somewhat, but I believe the overall informational value remains unchanged. Reviewers: jhenderson, dblaikie, ikudrin Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75116 commit cbaf8eb24e1235ae239db7950b050b0a39cb381e Author: serge-sans-paille <[email protected]> Date: Mon Mar 2 11:06:07 2020 +0100 Fix Base64Test - for StringRef size Original failures: http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/15975/steps/test-stage1-compiler/logs/stdio commit 4327ec59c859a7a724bf1d28b40a79ec8459e047 Author: Anna Welker <[email protected]> Date: Mon Mar 2 09:14:37 2020 +0000 [ARM][MVE] Restrict allowed types of gather/scatter offsets The MVE gather instructions smaller than 32bits zext extend the values in the offset register, as opposed to sign extending them. We need to make sure that the code that we select from is suitably extended, which this patch attempts to fix by tightening up the offset checks. Differential Revision: https://reviews.llvm.org/D75361 commit 8f356f681e128d55266bf0a634c747aa1fc68867 Author: Kang Zhang <[email protected]> Date: Mon Mar 2 09:50:01 2020 +0000 [NFC][PowerPC] Move some alias definition from PPCInstrInfo.td to PPCInstr64Bit.td Summary: Some 64-bit instructions alias definition is in PPCInstrInfo.td, it should be moved to PPCInstr64Bit.td. commit 135a140d053bdfa7144b714ecd98f6c63bd5855f Author: LLVM GN Syncbot <[email protected]> Date: Mon Mar 2 09:02:51 2020 +0000 [gn build] Port 5a1958f2673 commit 9d5f964841ca35a6a6eb6954e19e0e5b8048fb9e Author: serge-sans-paille <[email protected]> Date: Mon Feb 24 17:21:32 2020 +0100 Syndicate, test and fix base64 implementation Move Base64 implementation from clangd/SemanticHighlighting to llvm/Support/Base64, fix its implementation and provide a decent test suite. Previous implementation code was using + operator instead of | to combine some results, which is a problem when shifting signed values. (0xFF << 16) is implicitly converted to a (signed) int, and thus results in 0xffff0000, which is negative. Combining negative numbers with a + in that context is not what we want to do. This fixes https://github.com/llvm/llvm-project/issues/149. Differential Revision: https://reviews.llvm.org/D75057 commit e0fb9eaf015a532483ce84b81c7c483d03a45695 Author: Hans Wennborg <[email protected]> Date: Mon Mar 2 09:26:00 2020 +0100 Revert "[DebugInfo][clang][DWARF5]: Added support for debuginfo generation for defaulted parameters" The Bitcode/DITemplateParameter-5.0.ll test is failing: FAIL: LLVM :: Bitcode/DITemplateParameter-5.0.ll (5894 of 36324) ******************** TEST 'LLVM :: Bitcode/DITemplateParameter-5.0.ll' FAILED ******************** Script: -- : 'RUN: at line 1'; /usr/local/google/home/thakis/src/llvm-project/out/gn/bin/llvm-dis -o - /usr/local/google/home/thakis/src/llvm-project/llvm/test/Bitcode/DITemplateParameter-5.0.ll.bc | /usr/local/google/home/thakis/src/llvm-project/out/gn/bin/FileCheck /usr/local/google/home/thakis/src/llvm-project/llvm/test/Bitcode/DITemplateParameter-5.0.ll -- Exit Code: 2 Command Output (stderr): -- It looks like the Bitcode/DITemplateParameter-5.0.ll.bc file was never checked in. This reverts commit c2b437d53d40b6dc5603c97f527398f477d9c5f1. commit 0c03c0d36d2bbda763fe608405143f065f646666 Author: Awanish Pandey <[email protected]> Date: Mon Mar 2 10:52:12 2020 +0530 [DebugInfo][clang][DWARF5]: Added support for debuginfo generation for defaulted parameters in C++ templates. Summary: This patch adds support for debuginfo generation for defaulted parameters in clang and also extends corresponding DebugMetadata/IR to support this feature. Reviewers: probinson, aprantl, dblaikie Reviewed By: aprantl, dblaikie Differential Revision: https://reviews.llvm.org/D73462 commit 346697cf467652a28e28ec67678d8970a2950e36 Author: Fangrui Song <[email protected]> Date: Sun Mar 1 22:36:55 2020 -0800 [PowerPC][test] Improve .got2 and .toc tests There is no .got2 test for powerpc32. There is no comdat variable test for powerpc{32,64}. commit 27ac9a27116a990b34d6a30da45bc3bb2288d211 Author: Serguei Katkov <[email protected]> Date: Fri Feb 28 17:34:33 2020 +0700 [InlineSpiller] Relax re-materialization restriction for statepoint We should be careful to allow count of re-materialization of operands to be less then number of physical registers. STATEPOINT instruction has a variable number of operands and potentially very big. So re-materialization for all operands is disabled at the moment if restrict-statepoint-remat is true. The patch relaxes the re-materialization restriction for STATEPOINT instruction allowing it for fixed operands. Specifically it is about call target. Reviewers: reames Reviewed By: reames Subscribers: llvm-commits, qcolombet, hiraditya Differential Revision: https://reviews.llvm.org/D75335 commit 3d6c422d4ad9c16e28ab0227ac271ba4ae4e7515 Author: Jim Lin <[email protected]> Date: Mon Mar 2 10:04:21 2020 +0800 [Sparc] Fix incorrect operand for matching CMPri pattern Summary: It should be normal constant instead of target constant. Pattern CMPri can be matched if the constant can be fitted into immediate field. Otherwise, pattern CMPrr will be matched. This fixed bug https://bugs.llvm.org/show_bug.cgi?id=44091. Reviewers: dcederman, jyknight Reviewed By: jyknight Subscribers: jonpa, hiraditya, fedor.sergeev, jrtc27, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75227 commit 43dd0cfe6e9a59b6b70470cd9d81170061536c98 Author: Craig Topper <[email protected]> Date: Sun Mar 1 16:42:04 2020 -0800 [DAGCombiner][X86] Disable narrowExtractedVectorLoad if the element type size isn't byte sized The address calculation for the offset assumes that you can calculate the offset by multiplying the index by the store size of the element. But that only works if the element's store size is exactly its real size since we store vectors tightly packed in memory. There are improvements we could make to this like special casing extracting element 0. I think we could also handle cases where the extracted VT is byte sized and the index is aligned with the extract element count. Differential Revision: https://reviews.llvm.org/D75377 commit 0a44228bffaf83d692e1d68268c4721a1be6c285 Author: Shengchen Kan <[email protected]> Date: Sun Mar 1 15:43:53 2020 +0800 [X86] Not track size of the boudaryalign fragment during the layout Summary: Currently the boundaryalign fragment caches its size during the process of layout and then it is relaxed and update the size in each iteration. This behaviour is unnecessary and ugly. Reviewers: annita.zhang, reames, MaskRay, craig.topper, LuoYuanke, jyknight Reviewed By: MaskRay Subscribers: hiraditya, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75404 commit e5f11d246e73a9a58db32a2ee6da5420a14799be Author: Craig Topper <[email protected]> Date: Thu Feb 27 20:53:17 2020 -0800 [X86][TwoAddressInstructionPass] Teach tryInstructionCommute to continue checking for commutable FMA operands in more cases. Previously we would only check for another commutable operand if the first commute was an aggressive commute. But if we have two kill operands and neither is tied to the def at the start, we should consider both operands as the one to use as the new def. This improves the loop in the fma-commute-loop.ll test. This test is derived from a post from discourse here https://llvm.discourse.group/t/unnecessary-vmovapd-instructions-generated-can-you-hint-in-favor-of-vfmadd231pd/582 Differential Revision: https://reviews.llvm.org/D75016 commit af775d56a612e0f4e2e4694b3926a1cf1c48bd8f Author: Craig Topper <[email protected]> Date: Sun Mar 1 10:41:20 2020 -0800 [DAGCombiner] Don't emit select_cc from visitSINT_TO_FP/visitUINT_TO_FP. Use plain select instead. Select_cc isn't used by all targets. X86 doesn't have optimizations for it. Since we already know the input to the sint_to_fp/uint_to_fp is a setcc we can just emit a plain select using that setcc as the condition. Other DAG combines can turn that into a select_cc on targets that support it. Differential Revision: https://reviews.llvm.org/D75415 commit e46ccc96a08f4a50f2ab3488b5f1bf5d87a0f832 Author: Lang Hames <[email protected]> Date: Sun Mar 1 09:34:31 2020 -0800 [JITLink] Update DEBUG_TYPE string for llvm-jitlink. Apparently LLVM_DEBUG doesn't like dashes in strings. commit d11bc38c04e7c48f41d3ed142b49fa515f7cf357 Author: Stefanos Baziotis <[email protected]> Date: Sun Mar 1 19:35:58 2020 +0200 Fix [ADT][NFC] SCCIterator: Change hasLoop() to hasCycle() commit 9b680a0a2cb7decff01839595fb24bf2fe366b14 Author: Stefanos Baziotis <[email protected]> Date: Sun Mar 1 19:17:21 2020 +0200 [ADT][NFC] SCCIterator: Change hasLoop() to hasCycle() commit bbb26b638de91b1ac344ac63f91d7405f92229f6 Author: Reid Kleckner <[email protected]> Date: Sun Mar 1 08:45:22 2020 -0800 Attempt to fix ZLIB CMake logic on Windows CMake doesn't seem to like it when you regex search for "^". commit 20236045b1e2e1dcd60a7a7e789573b05559e893 Author: Reid Kleckner <[email protected]> Date: Sun Mar 1 07:47:55 2020 -0800 [WinEH] Fix inttoptr+phi optimization in presence of catchswitch getFirstInsertionPt's return value must be checked for validity before casting it to Instruction*. Don't attempt to insert casts after a phi in a catchswitch block. Fixes PR45033, introduced in D37832. Reviewed By: davidxl, hfinkel Differential Revision: https://reviews.llvm.org/D75381 commit ecdd92802f38ec5f611cb410120b98c40b97d4b8 Author: Sanjay Patel <[email protected]> Date: Sun Mar 1 09:09:22 2020 -0500 [DAGCombiner] recognize shuffle (shuffle X, Mask0), Mask --> splat X We get the simple cases of this via demanded elements and other folds, but that doesn't work if the values have >1 use, so add a dedicated match for the pattern. We already have this transform in IR, but it doesn't help the motivating x86 tests (based on PR42024) because the shuffles don't exist until after legalization and other combines have happened. The AArch64 test shows a minimal IR example of the problem. Differential Revision: https://reviews.llvm.org/D75348 commit f81f85226ab5841b40a2812b9ad811c0b27b8495 Author: Jun Ma <[email protected]> Date: Sun Mar 1 20:55:06 2020 +0800 [Coroutines][New pass manager] Move CoroElide pass to right position Differential Revision: https://reviews.llvm.org/D75345 commit 6998c94faedcc2e493e11d9376e888cb2a900243 Author: Jun Ma <[email protected]> Date: Sun Mar 1 21:37:41 2020 +0800 Revert "[Coroutines][new pass manager] Move CoroElide pass to right position" This reverts commit 4c0a133a412cd85381469e20f88ee7bf5d2ded8e. commit 123d381c1761d3adba724f3a82c2ebf6491bf67c Author: Jun Ma <[email protected]> Date: Sun Mar 1 20:55:06 2020 +0800 [Coroutines][new pass manager] Move CoroElide pass to right position Differential Revision: https://reviews.llvm.org/D75345 commit b8eb0ad623cac338dfcb1b28d1a38f182d5f241e Author: Craig Topper <[email protected]> Date: Sun Mar 1 00:01:38 2020 -0800 [X86] Don't add DELETED_NODES to DAG combine worklist after calling SimplifyDemandedBits/SimplifyDemandedVectorElts. These AddToWorklist calls were added in 84cd968f75bbd6e0fbabecc29d2c1090263adec7. It's possible the SimplifyDemandedBits/SimplifyDemandedVectorElts triggered CSE that deleted N. Detect that and avoid adding N to the worklist. Fixes PR45067. commit ed889a74017b563699966b9fc116b0533dff9085 Author: Fangrui Song <[email protected]> Date: Sat Feb 29 12:08:08 2020 -0800 [PowerPC] Move .got2/.toc logic from PPCLinuxAsmPrinter::doFinalization() to emitEndOfAsmFile() Delete redundant .p2align 2 and improve tests. commit d770247e9fc1731325dd2a624c27615cfd5e09bc Author: Juneyoung Lee <[email protected]> Date: Sun Mar 1 07:22:03 2020 +0900 [ValueTracking] Let getGuaranteedNonFullPoisonOp consider assume, remove mentioning about br Summary: This patch helps getGuaranteedNonFullPoisonOp handle llvm.assume call. Also, a comment about the semantics of branch is removed to prevent confusion. As llvm.assume does, branching on poison directly raises UB (as LangRef says), and this allows transformations such as introduction of llvm.assume on branch condition at each successor, or freely replacing values after conditional branch (such as at loop exit). Handling br is not addressed in this patch. It makes SCEV more accurate, causing existing LoopVectorize/IndVar/etc tests to fail. Reviewers: spatel, lebedev.ri, nlopes Reviewed By: nlopes Subscribers: hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75397 commit 41d800ff06c71a349765128c65eec4b5d01e28f4 Author: Juneyoung Lee <[email protected]> Date: Sat Feb 29 13:10:31 2020 +0900 [ValueTracking] A value is never undef or poison if it must raise UB Summary: This patch helps isGuaranteedNotToBeUndefOrPoison return true if the value makes the program always undefined. According to value tracking functions' comments, it is not still in consensus whether a poison value can be bitwise or not, so conservatively only the case with i1 is considered. Reviewers: spatel, lebedev.ri, reames, nlopes, regehr Reviewed By: nlopes Subscribers: uenoku, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75396 commit d709c278b6df6336debba5b6ffaf628c40ebb7e7 Author: Juneyoung Lee <[email protected]> Date: Sat Feb 29 14:58:07 2020 +0900 [GVN] Fold equivalent freeze instructions Summary: This patch defines two freeze instructions to have the same value number if they are equivalent. This is allowed because GVN replaces all uses of a duplicated instruction with another. If it partially rewrites use, it is not allowed. e.g) ``` a = freeze(x) b = freeze(x) use(a) use(a) use(b) => use(a) use(b) // This is not allowed! use(b) ``` Reviewers: fhahn, reames, spatel, efriedma Reviewed By: fhahn Subscribers: lebedev.ri, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75398 commit fcfdcbcfd4201ec6f2a0f96b75dc4d7474d934b4 Author: Craig Topper <[email protected]> Date: Fri Feb 28 22:45:05 2020 -0800 [X86] Tighten up the SDTypeProfile for X86ISD::CVTNE2PS2BF16. NFCI commit 80428fb35ff10da174aad17d1b10af5149262c37 Author: Reid Kleckner <[email protected]> Date: Sat Feb 29 10:23:54 2020 -0800 Avoid including FileSystem.h from MemoryBuffer.h Lots of headers pass around MemoryBuffer objects, but very few open them. Let those that do include FileSystem.h. Saves ~250 includes of Chrono.h & FileSystem.h: $ diff -u thedeps-before.txt thedeps-after.txt | grep '^[-+] ' | sort | uniq -c | sort -nr 254 - ../llvm/include/llvm/Support/FileSystem.h 253 - ../llvm/include/llvm/Support/Chrono.h 237 - ../llvm/include/llvm/Support/NativeFormatting.h 237 - ../llvm/include/llvm/Support/FormatProviders.h 192 - ../llvm/include/llvm/ADT/StringSwitch.h 190 - ../llvm/include/llvm/Support/FormatVariadicDetails.h ... This requires duplicating the file_t typedef, which is unfortunate. I sunk the choice of mapping mode down into the cpp file using variable template specializations instead of class members in headers. commit 3cec35fc47facc31941f901352b95f1d7ce06e65 Author: Simon Pilgrim <[email protected]> Date: Sat Feb 29 19:24:21 2020 +0000 Fix Wdocumentation warning - use tparam for template parameters. NFC. commit e5707f0783ec6117bd585b0569b4ff36db20fd1d Author: Simon Pilgrim <[email protected]> Date: Sat Feb 29 19:22:40 2020 +0000 [MachineInst] Remove dead code. NFCI. The MachineFunction MF value is not used any more and is always null. commit fc4498117cb313caefdf5dd0c32388cd37d59997 Author: Simon Pilgrim <[email protected]> Date: Sat Feb 29 19:11:00 2020 +0000 Make argument const to silence cppcheck warning. NFCI. commit 1d64104097c78f36a32eea07f463d2923c949f28 Author: Petr Hosek <[email protected]> Date: Thu Feb 6 15:24:07 2020 -0800 [CMake] Link against ZLIB::ZLIB This is the imported target that find_package(ZLIB) defines. Differential Revision: https://reviews.llvm.org/D74176 commit 352df9bc18e17decaf681cee9529f02d1f21b16e Author: Petr Hosek <[email protected]> Date: Wed Feb 5 19:07:43 2020 -0800 [CMake] Use PUBLIC link mode for static libraries Using INTERFACE prevents the use of imported libraries as we've done in 00b3d49 because these aren't linked against the target, they're only made part of the interface. This doesn't affect the output since static libraries aren't being linked into, but it enables the use of imported libraries. Differential Revision: https://reviews.llvm.org/D74106 commit 6019f1db6d54ec48b3a4b2003cf996f449ccee58 Author: Simon Pilgrim <[email protected]> Date: Sat Feb 29 18:56:53 2020 +0000 [X86][F16C] Remove cvtph2ps intrinsics and use generic half2float conversion (PR37554) This removes everything but int_x86_avx512_mask_vcvtph2ps_512 which provides the SAE variant, but even this can use the fpext generic if the rounding control is the default. Differential Revision: https://reviews.llvm.org/D75162 commit e70edfb8de24b0775eaecf534e2699f302c9e81f Author: Fangrui Song <[email protected]> Date: Sat Feb 29 08:25:22 2020 -0800 [MC] Add MCStreamer::emitInt{8,16,32,64} Similar to AsmPrinter::emitInt{8,16,32,64}. commit 06b5c8075d0a7f9e81fb4fa00e174a0f349f3352 Author: Sanjay Patel <[email protected]> Date: Fri Feb 28 17:49:22 2020 -0500 [PassManager] add tests for vector pass enabling; NFC commit 0becb69ddb364911908afe26bbc5398b2296c377 Author: Stefan Gränitz <[email protected]> Date: Sat Feb 29 11:52:19 2020 +0000 [ExecutionEngine] Add JITSymbolFlags::fromSummary(GlobalValueSummary*) Summary: A function that creates JITSymbolFlags from a GlobalValueSummary. Similar functions exist: fromGlobalValue(), fromObjectSymbol() Reviewers: lhames Reviewed By: lhames Subscribers: hiraditya, steven_wu, dexonsmith, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75082 commit 2a39090bf4b01bc687c4d57147494dee32dc7c5d Author: Georgii Rymar <[email protected]> Date: Fri Feb 14 12:47:52 2020 +0300 [llvm-readobj] - Report warnings instead of errors for broken relocations. This is a follow-up for https://reviews.llvm.org/D74545. It adds test cases for each incorrect case returned in `getRelocationTarget`. Differential revision: https://reviews.llvm.org/D74595 commit f478403d71bf9fc679883fe358513fadbc7ba3c8 Author: Benjamin Kramer <[email protected]> Date: Sat Feb 29 09:50:23 2020 +0100 ArrayRef'ize restoreCalleeSavedRegisters. NFCI. restoreCalleeSavedRegisters can mutate the contents of the CalleeSavedInfos, so use a MutableArrayRef. commit 56f370d7173541799ecd5af4fbbaf5db88cfa067 Author: Shengchen Kan <[email protected]> Date: Fri Feb 28 22:27:53 2020 +0800 [X86] Move the function getOrCreateBoundaryAlignFragment MCObjectStreamer is more suitable to create fragments than X86AsmBackend, for example, the function getOrCreateDataFragment is defined in MCObjectStreamer. Differential Revision: https://reviews.llvm.org/D75351 commit 616dd1c201ccac82bfdda95c677606444c61f79a Author: Shengchen Kan <[email protected]> Date: Fri Feb 28 21:09:30 2020 +0800 [X86] Disable the NOP padding for branches when bundle is enabled When bundle is enabled, data fragment itself has a space to emit NOP to bundle-align instructions. The behaviour makes it impossible for us to determine whether the macro fusion really happen when emitting instructions. In addition, boundary-align fragment is also used to emit NOPs to align instructions, currently using them together sometimes makes code crazy. Differential Revision: https://reviews.llvm.org/D75346 commit b06ad8975756cbe4f31a2bc5fe3cfb485262f4dc Author: Greg Clayton <[email protected]> Date: Fri Feb 28 21:19:05 2020 -0800 Revert "Fix GSYM tests to run the yaml files and fix test failures on some machines." This reverts commit d334ce0b5acb945d6202d0ab6a17bdca530f50c1. commit 33063636f20cd234c408d6f01ccd547313eef56e Author: Michael Liao <[email protected]> Date: Fri Feb 28 00:01:08 2020 -0500 [cmake] Fix LLVM_USE_SPLIT_DWARF Summary: - Add `-gsplit-dwarf` as an option instead of a definition. - Only add that option on compilers supporting dwarf splitting, such as clang and gcc. Reviewers: echristo, pcc Subscribers: mgorny, aprantl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75328 commit 616b414333a2d4217c7a4ad57af13498caf5deab Author: Vedant Kumar <[email protected]> Date: Fri Feb 28 18:27:04 2020 -0800 Add cast to appease clang-armv7-linux-build-cache (D69471 followup) http://lab.llvm.org:8011/builders/clang-armv7-linux-build-cache/builds/27075 error: non-constant-expression cannot be narrowed from type 'uint64_t' (aka 'unsigned long long') to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] return {MappingBuf, getDataSize<FuncRecordTy, Endian>(Record)}; commit 1ce7fd21107198f8e3f8c72379f987a5016441da Author: Vedant Kumar <[email protected]> Date: Mon Oct 21 11:48:38 2019 -0700 Reland: [Coverage] Revise format to reduce binary size Try again with an up-to-date version of D69471 (99317124 was a stale revision). --- Revise the coverage mapping format to reduce binary size by: 1. Naming function records and marking them `linkonce_odr`, and 2. Compressing filenames. This shrinks the size of llc's coverage segment by 82% (334MB -> 62MB) and speeds up end-to-end single-threaded report generation by 10%. For reference the compressed name data in llc is 81MB (__llvm_prf_names). Rationale for changes to the format: - With the current format, most coverage function records are discarded. E.g., more than 97% of the records in llc are *duplicate* placeholders for functions visible-but-not-used in TUs. Placeholders *are* used to show under-covered functions, but duplicate placeholders waste space. - We reached general consensus about giving (1) a try at the 2017 code coverage BoF [1]. The thinking was that using `linkonce_odr` to merge duplicates is simpler than alternatives like teaching build systems about a coverage-aware database/module/etc on the side. - Revising the format is expensive due to the backwards compatibility requirement, so we might as well compress filenames while we're at it. This shrinks the encoded filenames in llc by 86% (12MB -> 1.6MB). See CoverageMappingFormat.rst for the details on what exactly has changed. Fixes PR34533 [2], hopefully. [1] http://lists.llvm.org/pipermail/llvm-dev/2017-October/118428.html [2] https://bugs.llvm.org/show_bug.cgi?id=34533 Differential Revision: https://reviews.llvm.org/D69471 commit 52738a45b0f27199b16d2a7f372b7d842f773b5f Author: Vedant Kumar <[email protected]> Date: Fri Feb 28 18:03:15 2020 -0800 Revert "[Coverage] Revise format to reduce binary size" This reverts commit 99317124e1c772e9a9de41a0cd56e1db049b4ea4. This is still busted on Windows: http://lab.llvm.org:8011/builders/lld-x86_64-win7/builds/40873 The llvm-cov tests report 'error: Could not load coverage information'. commit ddbbf4cb941652de6ab2735084bae882031d2779 Author: Vedant Kumar <[email protected]> Date: Mon Oct 21 11:48:38 2019 -0700 [Coverage] Revise format to reduce binary size Revise the coverage mapping format to reduce binary size by: 1. Naming function records and marking them `linkonce_odr`, and 2. Compressing filenames. This shrinks the size of llc's coverage segment by 82% (334MB -> 62MB) and speeds up end-to-end single-threaded report generation by 10%. For reference the compressed name data in llc is 81MB (__llvm_prf_names). Rationale for changes to the format: - With the current format, most coverage function records are discarded. E.g., more than 97% of the records in llc are *duplicate* placeholders for functions visible-but-not-used in TUs. Placeholders *are* used to show under-covered functions, but duplicate placeholders waste space. - We reached general consensus about giving (1) a try at the 2017 code coverage BoF [1]. The thinking was that using `linkonce_odr` to merge duplicates is simpler than alternatives like teaching build systems about a coverage-aware database/module/etc on the side. - Revising the format is expensive due to the backwards compatibility requirement, so we might as well compress filenames while we're at it. This shrinks the encoded filenames in llc by 86% (12MB -> 1.6MB). See CoverageMappingFormat.rst for the details on what exactly has changed. Fixes PR34533 [2], hopefully. [1] http://lists.llvm.org/pipermail/llvm-dev/2017-October/118428.html [2] https://bugs.llvm.org/show_bug.cgi?id=34533 Differential Revision: https://reviews.llvm.org/D69471 commit d634b1a953ab6aac620117dae47418ef616203e3 Author: Reid Kleckner <[email protected]> Date: Fri Feb 28 17:21:50 2020 -0800 Try to fix WindowsManifest CMake logic on Windows CMake is complaining about the "^" regex if the prefixes are empty strings. commit b3b557685aaec389220f244b9b11853125e25b60 Author: Greg Clayton <[email protected]> Date: Fri Feb 28 15:25:47 2020 -0800 Fix GSYM tests to run the yaml files and fix test failures on some machines. Summary: 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. Reviewers: aprantl, thakis, MaskRay, aadsm, wallace Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75390 commit 59cbe304e3068e15424118e468608dbe4beacf17 Author: Craig Topper <[email protected]> Date: Fri Feb 28 15:42:47 2020 -0800 [X86] Remove isel patterns from broadcast of loadi32. We already combine non extending loads with broadcasts in DAG combine. All these patterns are picking up is the aligned extload special case. But the only lit test we have that exercsises it is using v8i1 load that datalayout is reporting align 8 for. That seems generous. So without a realistic test case I don't think there is much value in these patterns. commit 67c4e6afe6042ec5c7f9735f77923d6574befc96 Author: Francis Visoiu Mistrih <[email protected]> Date: Fri Feb 28 15:49:28 2020 -0800 [LTO][Legacy] Add explicit dependency on BinaryFormat This fixes some windows bots. commit 2fcd16657d9a01a46780d8f143c17d0b496f2ad1 Author: Matt Morehouse <[email protected]> Date: Fri Feb 28 15:49:37 2020 -0800 [DFSan] Add __dfsan_cmp_callback. Summary: When -dfsan-event-callbacks is specified, insert a call to __dfsan_cmp_callback on every CMP instruction. Reviewers: vitalybuka, pcc, kcc Reviewed By: kcc Subscribers: hiraditya, #sanitizers, eugenis, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D75389 commit 66b2c579994d133a47660181acb953c2fba71c8e Author: Matt Morehouse <[email protected]> Date: Fri Feb 28 15:48:03 2020 -0800 [DFSan] Add __dfsan_mem_transfer_callback. Summary: When -dfsan-event-callbacks is specified, insert a call to __dfsan_mem_transfer_callback on every memcpy and memmove. Reviewers: vitalybuka, kcc, pcc Reviewed By: kcc Subscribers: eugenis, hiraditya, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D75386 commit 0076e97b8681bc4738cc6333d969b2018eeb7a9a Author: Jay Foad <[email protected]> Date: Fri Feb 28 23:20:45 2020 +0000 [AMDGPU] Fix scheduling model for V_MULLIT_F32 This was incorrectly marked as a half rate 64-bit instruction by D45073. commit 0987ad9ea10ace8461684e728c2da098d610bb3d Author: Craig Topper <[email protected]> Date: Fri Feb 28 00:35:52 2020 -0800 [X86] Canonicalize (bitcast (vbroadcast_load)) so that the cast and vbroadcast_load are both integer or fp. Helps a little with some isel pattern matching. Especially on 32-bit targets where we sometimes use f64 loads. commit 581372cfc159e17693910faa3270d1be33626b02 Author: Craig Topper <[email protected]> Date: Thu Feb 27 21:32:49 2020 -0800 [X86] Remove stale FIXME form test. NFC. commit 52e7897036e9d5fb050a2be509a19da127da112e Author: Craig Topper <[email protected]> Date: Thu Feb 27 21:29:52 2020 -0800 [X86] Cleanup a comment around bitcasting X86ISD::VBROADCAST_LOAD and add an assert to make sure memory VT size doesn't change. commit cd1287c537648ca1cddad59a4cf1832a4c5a1f28 Author: Michael Spencer <[email protected]> Date: Fri Feb 28 14:39:49 2020 -0800 [llvm][Support][modulemap] Exclude WindowsSupport.h from the LLVM_Util module rG01f9abbb50b1 moved WindowsSupport.h to include/llvm/Support/Windows/ This is a problem because the modulemap include all of the Support and ADT directories, thus any use of any header in Support or ADT would cause the compiler to try to build WindowsSupport.h, which only works on Windows. Fix this by explicitly excluding WindowsSupport.h from the LLVM_Util module. commit 5033576468d10dbf0f16cbe6b19de83bcec3f898 Author: Vedant Kumar <[email protected]> Date: Thu Feb 27 09:58:24 2020 -0800 [entry values] ARM: Add a describeLoadedValue override (PR45025) As a narrow stopgap for the assertion failure described in PR45025, add a describeLoadedValue override to ARMBaseInstrInfo and use it to detect copies in which the forwarding reg is a super/sub reg of the copy destination. For the moment this is unsupported. Several follow ups are possible: 1) Handle VORRq. At the moment, we do not, because isCopyInstrImpl returns early when !MI.isMoveReg(). 2) In the case where forwarding reg is a super-reg of the copy destination, we should be able to describe the forwarding reg as a subreg within the copy destination. I'm not 100% sure about this, but it looks like that's what's done in AArch64InstrInfo. 3) In the case where the forwarding reg is a sub-reg of the copy destination, maybe we could describe the forwarding reg using the copy destinaion and a DW_OP_LLVM_fragment (I guess this should be possible after D75036). https://bugs.llvm.org/show_bug.cgi?id=45025 rdar://59772698 Differential Revision: https://reviews.llvm.org/D75273 commit b192722135d12e4391372fcde5c6be1c17f811cd Author: Matt Morehouse <[email protected]> Date: Fri Feb 28 14:25:45 2020 -0800 [DFSan] Add __dfsan_load_callback. Summary: When -dfsan-event-callbacks is specified, insert a call to __dfsan_load_callback() on every load. Reviewers: vitalybuka, pcc, kcc Reviewed By: vitalybuka, kcc Subscribers: hiraditya, #sanitizers, llvm-commits, eugenis, kcc Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D75363 commit d32bedafdb5ab0cd7e9942f7179750b54ed400c7 Author: Reid Kleckner <[email protected]> Date: Thu Feb 27 13:11:17 2020 -0800 [ADT] Allow K to be incomplete during DenseMap<K*, V> instantiation DenseMap requires two sentinel values for keys: empty and tombstone values. To avoid undefined behavior, LLVM aligns the two sentinel pointers to alignof(T). This requires T to be complete, which is needlessly restrictive. Instead, assume that DenseMap pointer keys have a maximum alignment of 4096, and use the same sentinel values for all pointer keys. The new sentinels are: empty: static_cast<uintptr_t>(-1) << 12 tombstone: static_cast<uintptr_t>(-2) << 12 These correspond to the addresses of -4096 and -8192. Hopefully, such a key is never inserted into a DenseMap. I encountered this while looking at making clang's SourceManag…
mmitche
pushed a commit
to mmitche/llvm-project
that referenced
this issue
Aug 3, 2022
Context: dotnet/runtime#62485 * Build clang, add it to nuget, add python bindings * Disable few clang options for quicker build * Fix nuget props on OSX and linux The clang libs are already in the lib directory * Change build timeout, do not build clang on arm The windows/x64 build now takes around 120 minutes so increase the timeout to 140 minutes. We don't build mono/wasm on arm so we don't need to build clang for arm targets. * Add libclang.dll to non-arm nuget's only
tarunprabhu
pushed a commit
to tarunprabhu/kitsune
that referenced
this issue
Jul 25, 2023
…cause -flto expects all global symbols to have names. Fix issue llvm#149.
This was referenced Nov 28, 2023
tarunprabhu
added a commit
to tarunprabhu/kitsune
that referenced
this issue
Feb 8, 2024
…All credit for OpenCilk goes to the individuals listed in the commit message below. commit 9e7b5b83a06d24f18d53bce2ae84ad23e8629566 Author: TB Schardl <[email protected]> Date: Fri Nov 24 14:35:53 2023 +0000 [test/Examples] Fix Tapir-Kaleidoscope test to check Tapir-IR code generation and execution as serial code. commit edf18d2cb3ccae6b82e8fc2bb724b6b4e210135f Author: TB Schardl <[email protected]> Date: Fri Nov 24 13:58:07 2023 +0000 [examples] Add command-line options to control IR printing in Tapir-Kaleidoscope example. commit 371c986883d3759cd48edb1570238d3e39d02b03 Author: TB Schardl <[email protected]> Date: Fri Nov 24 13:57:08 2023 +0000 [examples] Fix Tapir Kaleidoscope example to use new pass manager and updated OrcJIT interface. commit e551f77d3ee462c4c0ac35155d69ffa7c892ef91 Author: TB Schardl <[email protected]> Date: Fri Nov 24 13:52:08 2023 +0000 Code cleanup and formatting. commit 6ef312d8799d05324d956a819c2e078505d00ee4 Author: TB Schardl <[email protected]> Date: Sun Nov 12 20:10:57 2023 +0000 Fix bugs for rebase onto LLVM 17.0.4 commit 1f6d36945cbb4529b7a83e5eb557f02f7e9c4dfc Author: TB Schardl <[email protected]> Date: Sun Oct 22 19:12:01 2023 +0000 [SimpleLoopUnswitch] Fix nontrivial loop-unswitching to work with Tapir, and restore relevant regression tests. commit e5aca09467aa9f5174bbaeba85aa667c5f055006 Author: TB Schardl <[email protected]> Date: Sat Oct 21 00:31:59 2023 +0000 [AArch64] Modify read of threadpointer to be marked that it may load memory, rather than having unmodeled side effects. commit 052ab4e90209797c6da67f78f71255a79e71f3c8 Author: TB Schardl <[email protected]> Date: Mon Oct 9 10:26:09 2023 +0000 [AArch64] Mark the read of the threadpointer has having unmodeled side effects to prevent misoptimization in programs where the executing thread may change across a function call. In principle, this change could be made more precise to enable some optimizations of this operation, including removal of redundant reads when there is no intervening function call. But it is not clear what attributes currently exist that could be attached to this operation to model its behavior more precisely. commit 8754ae43760485e9a168254f322816760871396d Author: TB Schardl <[email protected]> Date: Mon Oct 9 10:25:43 2023 +0000 [test/Tapir] Fix requirement for test that needs X86 target. commit 6e75058f3cc757eb7ef959dcd3d1361d20595338 Author: TB Schardl <[email protected]> Date: Fri Oct 20 00:15:22 2023 +0000 [InstCombine] Fix removal of adjacent tapir.runtime.start and tapir.runtime.end calls. commit b7220ab142f3e839b1dafc142b2213d561c05470 Author: TB Schardl <[email protected]> Date: Wed Oct 18 14:15:46 2023 +0000 [AddressSanitizer] Analyze parallel-promotable allocas before ASan's instrumentation might invalidate task analysis. commit 95f8a8edb37b999745b0bb8772149c744a68eddc Author: TB Schardl <[email protected]> Date: Sat Oct 14 11:48:49 2023 +0000 [JumpThreading] Fix jump threading to remove pointers to deleted basic blocks that contain Tapir instructions. commit aeeb5b1b1a582ec850bf960cbb349f5d021332eb Author: TB Schardl <[email protected]> Date: Fri Oct 13 23:27:59 2023 +0000 [DRFScopedNoAliasAA] Fix a compiler warning. commit 76c49de053a605163c212d5f59ccccc6600608e4 Author: TB Schardl <[email protected]> Date: Fri Oct 13 23:25:14 2023 +0000 [Tapir,Cilk] Fix a memory error and some memory leaks. commit a6641c8c2561e98f356435e936711584c81fbfeb Author: John F. Carr <[email protected]> Date: Tue Oct 10 15:02:02 2023 -0400 Set memory(none) instead of readonly on strand_pure function definition commit 317b6d5ca7bcc44dd91771a65cd793b7f12b6408 Author: TB Schardl <[email protected]> Date: Sat Oct 7 15:05:58 2023 +0000 [Attributes] Make sure that inlining propagates the stealable attribute on a function to callers. commit ec78c76b0a01faf207a28c66d1fff4ba9411500a Author: TB Schardl <[email protected]> Date: Sat Sep 30 03:08:44 2023 +0000 [InlineFunction] Fix inlining of detaches with no unwinds into taskframes with unwind destinations. commit 4ebb3d94a206fd1222febaa618bf213f17cf84c1 Author: TB Schardl <[email protected]> Date: Mon Sep 25 01:09:17 2023 +0000 [LoweringUtils] Ensure that calls to outline helper functions have proper debug information. commit 2686e68573527096ce8bb146777a2c7dd0cce785 Author: TB Schardl <[email protected]> Date: Mon Sep 25 01:07:47 2023 +0000 [CilkSanitizer,CSI] Skip allocas in entry blocks when finding the initial place to insert instrumentation. This change ensures that allocas in spawning functions are on the original stack, allowing ASan to properly instrument those allocas without being disrupted by stack switching. Fixes issue OpenCilk/opencilk-project#197. commit 51ffb8acf34131b32f5b80e5ceb1011d9cd1a935 Author: TB Schardl <[email protected]> Date: Mon Sep 25 00:56:19 2023 +0000 [CSI] Assign numbers to local sync regions and pass those numbers to Tapir CSI hooks, instead of a separate stack allocation. commit 0019cd04c112b31fbd6066ff0c85f572ba39e1c3 Author: TB Schardl <[email protected]> Date: Mon Sep 25 00:46:05 2023 +0000 [SelectionDAGBuilder] Provide default serial lowering for task.frameaddress intrinsic. Fixes issue OpenCilk/opencilk-project#198. commit 17993c6aa8022d2f71d93044e7d0ac33d9a9f72f Author: TB Schardl <[email protected]> Date: Mon Sep 25 00:21:46 2023 +0000 [SemaCilk] Throw error when a _Cilk_spawn spawns a return statement. Fixes issue OpenCilk/opencilk-project#194. commit 2525529acb32d203fbff77b60c8f30e490ff79ba Author: Tao B. Schardl <[email protected]> Date: Sun Sep 17 09:20:04 2023 -0400 Update README.md Fix typos and add some extra notes. commit 0d946a072db5bea6a7bbb3a74d8ed36d21b78f8e Author: Tao B. Schardl <[email protected]> Date: Sat Sep 16 14:13:50 2023 -0400 Simplify headers in README.md commit 59cdaa58f19432befdad8806db5f6bf5809d2c97 Author: Tao B. Schardl <[email protected]> Date: Sat Sep 16 14:10:42 2023 -0400 Fix headers in README.md commit a488d8bf61588a8798888309bf85dfdb96e2b30f Author: Tao B. Schardl <[email protected]> Date: Sat Sep 16 14:08:53 2023 -0400 Create README.md Add README that briefly overviews OpenCilk and how to use it. commit 5523fa6746cb7b67c112b52b89618602e1d9358c Author: TB Schardl <[email protected]> Date: Fri Sep 15 12:33:50 2023 +0000 [README] Rename LLVM README file. commit dfdf56660eb70df5f2cd3c55717f7ed00f59461c Author: John F. Carr <[email protected]> Date: Wed Sep 6 12:14:08 2023 -0400 Remove unused HyperToken attribute commit 5dcd8bcef85c451791da5f6b2717665a4d15c674 Author: TB Schardl <[email protected]> Date: Fri Sep 1 20:21:27 2023 -0400 [test/Cilk] Fix tests to accommodate different constructor ABIs. commit a2a5e20b00da185d01f9caf510006efdadef560b Author: TB Schardl <[email protected]> Date: Fri Sep 1 08:01:16 2023 -0400 [CilkSanitizer,CSI] Fix CFG setup to properly update the dominator tree and handle free functions. commit 13b7ac764d75e34b4b5c04ae093f274413334aca Author: John F. Carr <[email protected]> Date: Thu Aug 31 14:33:25 2023 -0400 Use BuildBuiltinCallExpr for hyper_lookup too commit a78944f376cb512cd3d7069ed16454e019bc972f Author: John F. Carr <[email protected]> Date: Wed Aug 30 16:42:08 2023 -0400 Use BuildBuiltinCallExpr to generate call to __builtin_addressof commit 5cac64f4f56f42e90e5eda94d494b14d833f99c5 Author: John F. Carr <[email protected]> Date: Thu Aug 24 10:13:21 2023 -0400 Look through _Hyperobject in delete commit 8a409dfc1fc889ee3e4020208899dce3b2bc7c9b Author: TB Schardl <[email protected]> Date: Sun Aug 20 13:53:50 2023 +0000 [github] Update workflows to run more tests, to run tests on pull requests, and to run tests on dev/ and ci/ branches. commit d8724a170163b266cd887f123efad6cb8f768e21 Author: TB Schardl <[email protected]> Date: Sun Aug 20 13:42:13 2023 +0000 [CilkSanitizer,CSI] Instrument allocation and free functions as such even when the program is compiled with -fno-builtin. commit d96e33c920295ac1aa7abc929ecc64a4f145d4c7 Author: TB Schardl <[email protected]> Date: Wed Aug 9 09:45:00 2023 +0000 [Intrinsics] Fix memory attributes of llvm.threadlocal.address intrinsic to prevent misoptimization of intrinsic in Cilk code. commit f2ebdcc6ab2c2600848c7743216d3250657864c1 Author: TB Schardl <[email protected]> Date: Thu Aug 3 11:10:50 2023 +0000 [JumpThreading] Do not thread a detach-continue edge if the corresponding reattach-continue edge is not also threaded. commit 93fb23676c5a5ece416b1c4c1485ea6c3303bc24 Author: TB Schardl <[email protected]> Date: Wed Jul 26 11:57:41 2023 +0000 [clang] Convert more instances of Optional to std::optional. commit 5e6c4f2974822d28abb52e851d86b318657e8a20 Author: TB Schardl <[email protected]> Date: Sun Jul 23 22:30:06 2023 +0000 [test/Tapir] Remove tests using old pass manager. commit c8e60b12aa8c07a97a4ca57fab76e0bfde227317 Author: John F. Carr <[email protected]> Date: Fri Jul 21 18:57:22 2023 -0400 Compute memory effects of outlined function commit 008a2e069ddb68c9843727d1f9d911eea2ca3dcd Author: John F. Carr <[email protected]> Date: Thu Jul 20 20:32:17 2023 -0400 Use new memory effects interface for outlined function commit c3c430f335c47a7e142f0abac315a3a68d240c12 Author: TB Schardl <[email protected]> Date: Fri Jul 14 14:25:59 2023 +0000 [LoopInfo] Fix bug in which getting task exits of a loop would exclude nested tasks. Fix issue OpenCilk/opencilk-project#177. commit e210d0c730d19dfac0cecb283e743f248e2d4904 Author: John F. Carr <[email protected]> Date: Mon Jun 5 13:47:24 2023 -0400 Call overloaded unary operator on hyperobject commit 2c24a1354caa121ed28daa9c5f7149063761afa5 Author: John F. Carr <[email protected]> Date: Mon Jun 5 15:34:56 2023 -0400 Allow hyperobject view lookup in overload resolution commit 2c8940f87fb5056b7f63630b49633dde363a6e1c Author: TB Schardl <[email protected]> Date: Sat Jun 24 20:19:12 2023 +0000 [Tapir] Use internal linkage for generated helper functions, to ensure that they have symbols that tools can use. Fix issue OpenCilk/opencilk-project#172. commit 0f00524cbaf358995ecd61ce55b98939edc61cb1 Author: TB Schardl <[email protected]> Date: Tue Jul 4 18:42:05 2023 +0000 [cmake] Remove unused logic for passing llvm-link path to external projects. commit 5dc8895b0f6da272e7c7f801bb7a2cd33675f980 Author: TB Schardl <[email protected]> Date: Tue Jul 4 18:41:07 2023 +0000 [llvm-reduce] Ensure that Tapir instructions are replced properly when removing basic blocks. commit 10c6f3d2e768151744ea60526e1eb9158672ad06 Author: TB Schardl <[email protected]> Date: Tue Jul 4 17:43:49 2023 +0000 [SROA] Maintain Tapir task info as SROA modifies the CFG. TODO: Add functionality to incrementally update Tapir task info analysis. commit 18b3fbe2e3aebb270dd9b7466a789b557b340d36 Author: TB Schardl <[email protected]> Date: Mon Jul 3 16:30:07 2023 -0400 Fix bugs for rebase onto LLVM 16.0.6 commit ee2dba003c86a78ac8870b5d67889e6df5e97303 Author: TB Schardl <[email protected]> Date: Sun Jun 4 13:18:11 2023 +0000 [PassBuilder] Create separate TapirLoopLowerPipeline for lowering Tapir loops, and add options to run Tapir lowering pipelines via opt. commit 750fd88a40d90d4a9aed3dd5e58052adde9f3019 Author: TB Schardl <[email protected]> Date: Mon May 29 14:12:32 2023 +0000 [github] Reenable tests on GitHub Actions. commit 80110eff05f6edfd427af5293f380d990928fbfd Author: TB Schardl <[email protected]> Date: Mon May 29 19:43:44 2023 -0400 [test/Tapir] Generalize SROA test to fix test failure on macOS. commit b22925221b7f476a3aaf836e2cba8e99031f0760 Author: TB Schardl <[email protected]> Date: Mon May 29 14:02:09 2023 +0000 [SimplyCFG,TaskSimplify] Add hidden command-line options to disable optimization of removing detaches that immediately sync. commit e1a34b85ece70fff8b3c1b297d97a6962f5dfb5f Author: TB Schardl <[email protected]> Date: Mon May 29 14:01:20 2023 +0000 [Tapir] Remove deprecated CudaABI and OpenMPABI Tapir targets. Add LambdaABI and OMPTaskABI Tapir targets from OpenCilk PPoPP'23 paper for targeting alternative parallel runtimes. commit e4d3b479a35685d95a49fac4e7cb4ff2dea4fc8a Author: TB Schardl <[email protected]> Date: Mon May 22 01:52:35 2023 +0000 [Tapir] Code formatting. commit 7f44fab557139b1e61ccb9c7105b6b483c85f5be Author: TB Schardl <[email protected]> Date: Mon May 22 01:51:39 2023 +0000 [InlineFunction] Fix insertion of landingpads for taskframes when multiple taskframes appear in the same basic block. commit 32f6f0be8204008f449f401c048363b7c6d35533 Author: TB Schardl <[email protected]> Date: Mon May 22 01:48:29 2023 +0000 [TapirUtils] Modify FindTaskFrameCreateInBlock to optionally ignore a specific taskframe.create when searching a block for a taskframe.create. commit 1c76104684bcdd9c28b85d03a41fdc8120030fc0 Author: TB Schardl <[email protected]> Date: Mon May 22 01:46:08 2023 +0000 [Verifier] Add check that the successor of a reattach has a predecessor terminated by a detach that dominates the reattach. commit e89d3bf0875a3da8f1ed852f589e96837b6c0310 Author: TB Schardl <[email protected]> Date: Mon May 22 01:44:51 2023 +0000 [SSAUpdater] Fix handling of detach-continuation blocks with multiple detach and reattach predecessors. commit eb439ea8c2b10622dd9b28ad8ff29e301a9cb095 Author: TB Schardl <[email protected]> Date: Thu May 18 17:39:20 2023 +0000 [OpenCilkABI] Fix OpenCilk target to ensure that any sync that can possibly throw an exception has an associated landingpad. commit a07679135eb1ac1d084815943feca0d4029a167b Author: TB Schardl <[email protected]> Date: Tue Apr 18 01:14:31 2023 +0000 Fix bugs for rebase onto LLVM 15.0.7. commit 0b9ca933ffec4892d942a0725d3d3ff4763a3332 Author: Tao B. Schardl <[email protected]> Date: Thu Apr 6 05:59:35 2023 -0400 Fix workaround in llvm-project-tests.yml for new macOS runner image. commit a475e5f5c47a70be9ca1e5777576cb61967c7748 Author: TB Schardl <[email protected]> Date: Thu Mar 30 19:10:44 2023 +0000 [test/Tapir] Mark test that requires the X86 target as such. commit c98c75e6159ae279dd08cdf9af072b119bac32bf Author: TB Schardl <[email protected]> Date: Sun Jan 29 20:21:12 2023 +0000 [CilkSanitizer] Special-case the instrumentation of hyper.lookup, to allow Cilksan library to implement its own handling of reducers separately from runtime system. commit 6396775792b42ee51d4e4f7a29629e2e0456770f Author: TB Schardl <[email protected]> Date: Sat Jan 28 03:22:47 2023 +0000 [BasicAliasAnalysis,test/Cilk,test/Tapir] Fix test cases and alias analysis to accommodate new hyper.lookup signature. commit 09ac42508428f619c332ae0c27a4ac0b6e730ebc Author: TB Schardl <[email protected]> Date: Wed Jan 4 00:31:50 2023 +0000 [CodeGen,Sema] Fix support for __hyper_lookup calls in dependent contexts. commit 56f889f3e21d6be19d9502af410138ce234af05a Author: TB Schardl <[email protected]> Date: Sun Dec 18 22:03:43 2022 -0500 [Basic,CodeGen,Sema,IR,Tapir] Modify hyper_lookup intrinsic to pass additional information about the reducer being looked up, namely, its view size, identity function, and reduce function. commit 8ff678c882a5d1bd1e84495fcbefc49745807fcd Author: John F. Carr <[email protected]> Date: Sat Feb 25 13:42:18 2023 -0500 Fix crashes on bad hyperobject declarations commit 4f43a60975c503c698dbde9aac31e33d8f731204 Author: TB Schardl <[email protected]> Date: Wed Feb 1 03:23:48 2023 +0000 [CSI,CilkSanitizer] Identify detaches and their continuations that are associated with Tapir loops. commit 02dea84d7d5521638bae13bf88b132a540ee0f5b Author: TB Schardl <[email protected]> Date: Tue Feb 7 11:36:49 2023 +0000 [TailRecursionElimination] Allow TRE to occur when a tail call is separated from a return by a sync and a tapir.runtime.end intrinsic. In such cases, TRE removes the tapir.runtime intrinsics altogether. commit b93ccc5bfb6c51905111c5bdac94c211328dda53 Author: TB Schardl <[email protected]> Date: Tue Feb 7 11:34:51 2023 +0000 [TailRecursionElimination] Avoid performing tail-recursion elimination for a tail call followed by a sync if there exists a sync preceding that call in the function. TRE in this case can change the synchronization of the program, by causing some spawns to sync earlier than before. TRE in such cases appears to make parallel scalability worse. commit 99c8bf79d59311331c3839a45357aae9388cda17 Author: TB Schardl <[email protected]> Date: Tue Feb 7 11:13:28 2023 +0000 [InstCombineCalls] Combine consective pairs of tapir.runtime intrinsics, to avoid needlessly stopping and resuming a parallel runtime. commit f7f8e08c655be46ab3b90808f1ed3a433fc11b43 Author: TB Schardl <[email protected]> Date: Sat Feb 4 01:30:50 2023 +0000 [TapirUtils] Two changes involving optimizations with taskframes: - When serializing a detach, if the task contains a sync, replace the detach with a taskframe, to prevent that sync from synchronizing tasks in the parent. - Allow a taskframe containing allocas to be replaced with stacksave/stackrestore intrinsics. commit 32f4498946d58a21d0e2b5ca00c31e3083a2d414 Author: TB Schardl <[email protected]> Date: Wed Feb 1 11:20:01 2023 +0000 [github] Update llvm-project-tests for new macOS 11 runner image. commit 8629b933e525db8b66fb29d7628f3697601825d0 Author: TB Schardl <[email protected]> Date: Wed Feb 1 03:32:16 2023 +0000 [LoweringUtils] Identify blocks in taskframes that are shared outside of the taskframe, e.g., for __clang_call_terminate. These blocks may have PHI nodes that need to be updated during lowering. commit ebea8384f158dcbbcadd7228966776d01e39927a Author: TB Schardl <[email protected]> Date: Sat Nov 12 20:27:51 2022 +0000 [Clang] Don't necessarily add the OpenCilk runtime bitcode ABI if a custom Tapir target is specified. commit 17c5191782250602488c7b0a3fce8f051aa330dc Author: John F. Carr <[email protected]> Date: Tue Jan 3 16:22:19 2023 -0500 Test case for OpenCilk issue 157 commit 91590ae258da4a08b22e29ca0df060336b205083 Author: John F. Carr <[email protected]> Date: Tue Jan 3 15:50:46 2023 -0500 Make isViewSet check the View flag instead of the Pure flag. Regression introduced by 52f8a61bc248d312da9269cfdddabad8ff51f9d6. commit b75ad9a29a76acdb52c84cf24930063988d19b6d Author: John F. Carr <[email protected]> Date: Sat Dec 31 14:29:16 2022 -0500 Fix type checking of Cilk for loops with pointer loop variables commit 36ccb03b7c7ce2418bf72d995a18754fa1348ab6 Author: John F. Carr <[email protected]> Date: Tue Dec 27 14:53:11 2022 -0500 Fix crash on type error in Cilk for statement commit 8f4bcb58ba33d7406263d80455c28aba5a7b218c Author: TB Schardl <[email protected]> Date: Thu Dec 1 10:16:05 2022 -0500 [CSI] Ensure that all global variables CSI introduces have a name, because -flto expects all global symbols to have names. Fix issue #149. commit a6df8341db1ffe6ac967787dea8784af6988991f Author: TB Schardl <[email protected]> Date: Thu Dec 1 07:17:25 2022 -0500 [test/Tapir] Add aarch64-target requirement to an aarch64 codegen test. commit e0b8e54b7d1c4f58632c141cc6a50cf103897402 Author: TB Schardl <[email protected]> Date: Thu Dec 1 06:39:18 2022 -0500 [InlineFunction] Fix insertion of allocas when inlining function calls with byval arguments inside of tasks. Fix issue #148. commit 6991ce6ea07ee324c451a9360ac934ee04280d5f Author: TB Schardl <[email protected]> Date: Wed Nov 9 20:25:31 2022 -0500 [Tapir] Adjust Tapir Target API to fix handling of analyses when a target handles Tapir instructions manually, i.e., without using the standard infrastructure to outline tasks. commit 7bc03ea1ca310534377dce4ba925c71e0b370af8 Author: TB Schardl <[email protected]> Date: Tue Nov 8 11:50:14 2022 +0000 [InlineFunction,EHPersonalities] Add support for inlining functions that use the Cilk and GXX EH personalities. commit f623521ce37b8bf34a14b53f152e7b3f6e36153d Author: TB Schardl <[email protected]> Date: Sun Nov 6 23:02:33 2022 +0000 [test/Cilk] Fix test for syncregion debug info to work on Linux. commit df1786d82e4a8ac49dc093748272517767c4cd00 Author: TB Schardl <[email protected]> Date: Sun Nov 6 15:53:09 2022 -0500 [CGCilk,OpenCilkABI] Generate debug info on syncregion.start intrinsics to help ensure that the OpenCilk Tapir target can attach debug information to runtime-ABI calls it inserts. commit 166681fa315dd667633c11b6236207dfb0bf716b Author: TB Schardl <[email protected]> Date: Fri Nov 4 00:06:26 2022 +0000 [OpenCilkABI] Fix typo in comments. commit aa64c25ee1e20078dc9375d3c2a4382cf5c8000f Author: TB Schardl <[email protected]> Date: Fri Nov 4 00:05:26 2022 +0000 [InstCombine] Prevent InstCombine from sinking instructions from a continuation to after a sync instruction, as doing so is a pessimization. commit 22cb41d746a4367c9d689129c485a1393b1067c8 Author: John F. Carr <[email protected]> Date: Wed Oct 26 09:56:54 2022 -0400 Demangle mangled hyperobject type commit ff0cb780b62bbc8c081414db8fc26ffe34c5b19f Author: TB Schardl <[email protected]> Date: Sat Oct 22 09:05:16 2022 -0400 [CilkSanitizer] Spill complex arguments, including structures, onto the stack when passing them to hooks. commit 02690918b737504d0bf5ccfa1536a83b8009ae44 Author: TB Schardl <[email protected]> Date: Thu Oct 20 22:10:13 2022 -0400 [DebugInfo] Fix compiler crash when calling findDbgValues for a Value that has a ConstantAsMetadata. commit 30e93e3013ba3aaf2e8dc4edea6394b2792bbcad Author: TB Schardl <[email protected]> Date: Wed Oct 19 18:59:58 2022 -0400 [InlineFunction] Work around issue to allow inlining functions with different personalities where the caller is using the default personality. commit ddccecf6a5b4f0f9e316cb130fa6463af8e3ecc8 Author: TB Schardl <[email protected]> Date: Wed Oct 19 18:58:41 2022 -0400 [TapirUtils] Fix logic to promote calls to invokes in taskframes when taskframe.end precedes another important terminator, such as a reattach. commit c7f6aae56a9039fd78d28b3312ebb1cde3d8a3b9 Author: TB Schardl <[email protected]> Date: Wed Oct 19 17:58:17 2022 -0400 [TapirUtils] Fix logic to promote calls to invokes within tasks to handle cases where a taskframe comprises less than a single basic block. commit 7a808290c0045a23fcdc7b7ec6a27593a0be3a45 Author: TB Schardl <[email protected]> Date: Thu Oct 13 10:46:41 2022 +0000 [TapirUtils] Support promoting calls to invokes in tasks that are not reachable. This functionality avoids compiler crashes on some codes that are instrumented with Sanitizers and compiled with no optimizations. commit ecacc75102deeea488a53c54f418d68906c484ad Author: TB Schardl <[email protected]> Date: Thu Oct 13 10:39:50 2022 +0000 [TapirTaskInfo] Allow a task to use shared-EH spindles managed by an ancestor task that is not the immediate parent task. commit e1cdaaa5e896985c94d37af98e323ec1b1164dd0 Author: Tao B. Schardl <[email protected]> Date: Fri Oct 7 14:19:55 2022 -0400 [github] Update llvm-project-tests.yml Fix include path for updated macOS runner commit cde7a91d7bc2c425367d93e52f7e07bd53ab0ab0 Author: TB Schardl <[email protected]> Date: Mon Sep 19 01:21:53 2022 +0000 [test/Tapir] Update requirements on SLP-vectorization test. commit 307e3d7c452167b728ebcb20f256ae3c6651b506 Author: TB Schardl <[email protected]> Date: Sun Sep 18 21:32:54 2022 +0000 [Passes] Fix pass pipeline to run CSE after SLP vectorization. Running CSE before SLP vectorization can disrupt the SLP vectorizer's ability to determine how to vectorize code. commit 7541c785ba2cbe3cb0c8b48f674ee0ebfca84096 Author: John F. Carr <[email protected]> Date: Mon Sep 5 06:35:43 2022 -0400 Hyperobject lookups need special handling in any dependent context commit 0e31a81c0c1620e5526308057bd4c54433269e41 Author: TB Schardl <[email protected]> Date: Sun Aug 28 15:47:19 2022 +0000 [test/Tapir] Add regression test for linking null bitcode module. commit a653bce91d9461be3ebecff8c1a8e4dcbdc389c3 Author: John F. Carr <[email protected]> Date: Thu Aug 11 13:30:13 2022 -0400 Fill in all the missing pieces after failure to load bitcode commit 0b874f609e2fb47ba86d808c620d8b26dddac9f4 Author: John F. Carr <[email protected]> Date: Thu Aug 11 13:04:03 2022 -0400 Do not try to link null bitcode module commit 096f06752fee07f997892321732065471f9cfcce Author: TB Schardl <[email protected]> Date: Thu Aug 25 11:21:18 2022 +0000 [InlineFunction] Allow a function to be inlined into another with a different personality function if the callee simply uses the default personality function. This workaround addresses issue #127. commit 89918abac5655a23e4a83084fff2d72d09f3a1d1 Author: TB Schardl <[email protected]> Date: Thu Aug 25 11:09:59 2022 +0000 [github] Make workflows consistent with workflows in mainline LLVM. commit 7a24497661eea1267b1df503542e04bd824d3dbc Author: TB Schardl <[email protected]> Date: Mon Aug 1 13:29:44 2022 +0000 [CSI] Ignore unreachable basic blocks for instrumentation. Remove debug statement to fix issue #129. commit ab4e5b34f0fcb9c818267fdd0c800541f3d3a764 Author: TB Schardl <[email protected]> Date: Sun Aug 21 02:01:32 2022 +0000 [github] Update llvm-project-tests based on upstream changes. commit c2f58be9762b72edf4ac7a038a18ce41ef4a07e6 Author: TB Schardl <[email protected]> Date: Sun Aug 21 01:56:53 2022 +0000 [github] Disable issue-subscriber action. commit 35c54228228ef79e1458da1eb37a748f3f24ca2f Author: John F. Carr <[email protected]> Date: Sun Jul 24 12:47:07 2022 -0400 Fix crash on undeclared reducer callback commit 672bb71d9272a0867562e147058810df2400151e Author: TB Schardl <[email protected]> Date: Wed Jul 20 11:33:16 2022 +0000 [github] Update workflows for release. commit 615c152cec47318479e38c7e78aae6eadb8d5989 Author: TB Schardl <[email protected]> Date: Tue Jul 19 13:42:35 2022 +0000 [ToolChain] When an OpenCilk resource directory is specified, add the include directory within that resource directory to the include path. commit 6d6cc7e8dc7ebf6144d4e339613fc8b06709d821 Author: TB Schardl <[email protected]> Date: Mon Jul 18 11:58:48 2022 +0000 [CMakeLists] Add OpenCilk version number that is distinct from LLVM version number. commit 9493c3247b94dcccdafc1a9501933e81c0c2c395 Author: TB Schardl <[email protected]> Date: Sun Jul 17 15:35:05 2022 +0000 [CSI][ThreadSanitizer] Fix promotion of calls to invokes within Tapir tasks. Fixes issue OpenCilk/opencilk-project#113. commit 3ee74ab8798c20c599fe8a410f40025f7da94333 Author: John F. Carr <[email protected]> Date: Mon Jul 18 13:45:19 2022 -0400 Test for hyperobject with constructor but no destructor commit 683ff7fdeb85fc5943c71285c8cf4215f28b7f44 Author: John F. Carr <[email protected]> Date: Mon Jul 18 10:17:13 2022 -0400 Fix test for trivial destructor commit cb5dbb6e36d31a3720eb294f28eb459e1e26af91 Author: TB Schardl <[email protected]> Date: Thu Jul 14 11:44:37 2022 +0000 [github] Update workaround for building on macos-10.15 GitHub virtual environment. commit 461d443bb0eebbfda24d534bb8cda0f70624a232 Author: John F. Carr <[email protected]> Date: Sun Jul 10 14:45:12 2022 -0400 Merge reducer destructor callback into reduce callback. commit 1930b5aef735a070dabdf5d1656ccbcfd6fb829f Author: John F. Carr <[email protected]> Date: Sun Jul 10 14:23:01 2022 -0400 Visit statment children of HyperobjectType commit 9ff353d37b34ebc270792588675735e80ebc97af Author: TB Schardl <[email protected]> Date: Sun Jul 10 20:48:53 2022 +0000 [CREDITS] Expand CREDITS.TXT to reflect recent contributions. commit 451ce36119e7547bcd4068976d15483c6cda1d8b Author: TB Schardl <[email protected]> Date: Sun Jul 10 20:46:01 2022 +0000 [test/Tapir] Fix llvm test failues on non-x86 systems. commit 8321ebf8e6e19f46e4ceb48d465c590d9be65067 Author: TB Schardl <[email protected]> Date: Sun Jul 10 20:45:24 2022 +0000 [test/Cilk] Fix clang test failures on non-x86 systems. commit a508e80246f815e447db539e4db81d8992064d9a Author: TB Schardl <[email protected]> Date: Sun Jul 10 20:44:37 2022 +0000 [TapirUtils][SimplifyCFG][TaskSimplify] Remove taskframe intrinsics when serializing a detach where the task uses a taskframe. Clean up logic for serilizing detaches that immediately sync. commit bdede63111267ffc435ac880385ad6e74cce77ee Author: TB Schardl <[email protected]> Date: Fri Jul 8 14:13:34 2022 +0000 [BasicAliasAnalysis] Convert #define's to an enum class, to match code style of similar structures in LLVM. commit 249353b3f8076eb8de84e9330cd61006894c7abb Author: TB Schardl <[email protected]> Date: Fri Jul 8 11:51:48 2022 +0000 [TableGen] Change additions to CodeGenIntrinsic to match LLVM code style, to avoid merge conflicts down the road. commit cccd276bcc0cc541141e0cd6d8253e07bdcf8b09 Author: TB Schardl <[email protected]> Date: Thu Jul 7 19:29:19 2022 +0000 [SROA] Make SROA preserve the atomicity of load and store operations when it rewrites load and store operations. commit 1eb273e8d4c545ce17190463f1287fd0468f94e3 Author: TB Schardl <[email protected]> Date: Thu Jul 7 13:55:47 2022 +0000 [SimpleLoopUnswitch] Fix compiler crash when unswitching a parallel loop with task-exit blocks. commit 5e76b20e134f03620d6b8040aa8425e3a6abeb68 Author: TB Schardl <[email protected]> Date: Wed Jul 6 23:48:28 2022 +0000 [bindings/python] Update diagnostics test. commit ed514c2530691a5624ef20f4f5b03583e80e69b3 Author: John F. Carr <[email protected]> Date: Wed Jul 6 16:12:01 2022 -0400 Improve compatibility testing of hyperobject types commit 42a01ebcdcf8a9ac6db44ed9d5dae644f7d9ac42 Author: TB Schardl <[email protected]> Date: Wed Jul 6 19:33:24 2022 +0000 Fix a little formatting with clang-format. commit f2959caf0f419591cbf4b26b3a823df6f02c70f6 Author: TB Schardl <[email protected]> Date: Wed Jul 6 19:22:13 2022 +0000 [github] Cleanup path. commit 7d3ffda22243175e0c7b1a52ca8ba42d6c59b0f9 Author: TB Schardl <[email protected]> Date: Wed Jul 6 19:21:52 2022 +0000 [IntrinsicEmitter] Fix handling of new intrinsics, which fixes spurious test failures. Restore previous tests marked XFAIL. commit 0489a6fbecf17ad12c007e8197aa1c9de8be1d7f Author: John F. Carr <[email protected]> Date: Wed Jul 6 12:04:08 2022 -0400 Fix rebuild of hyperobject reference in template expansion commit 04db56e81f8b7d9684a08a47cf417079bf2ff019 Author: John F. Carr <[email protected]> Date: Wed Jul 6 11:18:59 2022 -0400 Test of reducer += inside a template expansion commit f738cbe7884ba00f9b1b4e33793a983889c732cd Author: John F. Carr <[email protected]> Date: Wed Jul 6 11:14:38 2022 -0400 Check that llvm.hyper.lookup is called only once commit 794bda39b9704f541960a1bc11f367f467e4bf62 Author: John F. Carr <[email protected]> Date: Tue Jul 5 14:00:02 2022 -0400 FreeBSD sanitizer needs -lstdthreads for mtx_init and related functions commit 021495ff738c68589d08c7e86dddfd10e81ff182 Author: John F. Carr <[email protected]> Date: Sun Jul 3 22:13:24 2022 -0400 Template instantiations with integer, null, or missing arguments can be hyperobjects commit 26c32b06b1860d4c85cb37cc24366f89930e36e7 Author: John F. Carr <[email protected]> Date: Sun Jul 3 13:33:00 2022 -0400 Try to unregister reducers the correct number of times commit c3178cc4a30d5b10844ffc642ec101f41c62187d Author: John F. Carr <[email protected]> Date: Fri Jul 1 12:04:29 2022 -0400 XFAIL test with duplicate unregister call commit 2bbb3e5fdc7bbd88bc7fa27895f3c9f15825b85b Author: John F. Carr <[email protected]> Date: Wed Jun 29 16:09:34 2022 -0400 Fix rebuild of hyperobject in using declaration commit de6d421bb9029fa25e4f2edd0b322556145b7434 Author: John F. Carr <[email protected]> Date: Tue Jun 21 13:57:40 2022 -0400 Clean up reducer callback order commit 635399a93aac7cbb7e7a7a76cafc790f23f30817 Author: John F. Carr <[email protected]> Date: Fri Jun 17 08:04:02 2022 -0400 Stricter type checking of reducer callback commit 32b2d8cd83676f12099d61a340477b99660fb64d Author: John F. Carr <[email protected]> Date: Thu Jun 16 16:54:12 2022 -0400 Handle overloaded function as reducer callback commit 1ad8fb0ec3f43beaaf9d02788e48dfca2662edf6 Author: John F. Carr <[email protected]> Date: Thu Jun 16 11:01:22 2022 -0400 Add noundef to expected LLVM IR commit 61bea1ff3305b0121b912ad44ce5e0355404a0cd Author: John F. Carr <[email protected]> Date: Thu Jun 16 09:57:52 2022 -0400 Syntactic hyperobjects commit 66e55994cb95312f4a25bb48c582cb8f0df70066 Author: TB Schardl <[email protected]> Date: Wed Jul 6 15:28:20 2022 +0000 [OpenCilkABI] Replace a SmallVector with an array. commit 89d05d95e4ab7533c4b2526968f0150e8e80e19a Author: TB Schardl <[email protected]> Date: Wed Jul 6 15:27:43 2022 +0000 [CilkSanitizer] Remove unused variables. commit 639dc0f74ca81837f888e146dd329b814ba24d2d Author: TB Schardl <[email protected]> Date: Tue Jul 5 12:30:55 2022 +0000 [Driver] Remove code to select alternate OpenCilk bitcode ABI file when pedigrees are enabled. commit ec10d525876570d0ac64c8b0328561864c606a7d Author: TB Schardl <[email protected]> Date: Thu Jun 30 21:18:09 2022 +0000 [OpenCilkABI] Adjust diagnostic handling for cleaner error messages. commit 5a9148a66b7bb8c394a841fbed0b866eaa98ab54 Author: TB Schardl <[email protected]> Date: Thu Jun 30 21:15:34 2022 +0000 [CudaABI] Resolve compiler warning temporarily. commit 8cea22dd0f232c533076029988a18b08017a3611 Author: TB Schardl <[email protected]> Date: Wed Jul 6 15:30:27 2022 +0000 [github] Update CPLUS_INCLUDE_PATH workaround to accommodate updates to macOS virtual environment. commit acef38cfe906cd7f6f01ee96b90ead9fd9a291b2 Author: TB Schardl <[email protected]> Date: Mon Jun 27 01:17:39 2022 +0000 [CSI] Properly emit diagnostic messages raised when linking a tool bitcode file. commit d0c5eca736f43ebbd51c9b914dddd3c2fa5fbe67 Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:39:20 2022 +0000 [gold-plugin] Add plugin options for Tapir lowering target and OpenCilk ABI bitcode file. commit d2ae9283a4171d918e7632214a2a6f4b6d08c2ba Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:38:31 2022 +0000 [InlineFunction] Fix stack overflow when inlining an invoked function that contains taskframe intrinsics that have not been split. commit 3edbf6c56d15bd382f3f0b8abb05bb42ecfc3cdf Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:34:48 2022 +0000 [CilkSanitizer] Add logic to synthesize default hooks for library functions that are not present in a linked tool bitcode file. commit c9b864da8c317240e1d8396d491775e741feabea Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:33:23 2022 +0000 [CilkSanitizer] Clean up synthesis and handling of MAAP checks. Enable load-store coalescing when potential racing instruction is local but not in the same loop. Cleanup code. commit dcf56d3b579a57a8354c4ea83a1cd1bc2eef125f Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:29:51 2022 +0000 [CSI][CilkSanitizer] Add property bit for loads and stores that are guaranteed to access thread-local storage. commit 2c15ea0c37c09a373cdfefea70db475fd8688bb7 Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:26:46 2022 +0000 [TapirRaceDetect] Add method to get mod-ref information for a local race. Include accesses to thread-local variables for race detection. Cleanup code. commit 965c8cc439fbbaa71828e7f3a5d32c402e3743e0 Author: TB Schardl <[email protected]> Date: Wed Feb 16 15:51:36 2022 +0000 [CSI][CilkSanitizer] Draft change to support using a bitcode-ABI file for Cilksan. commit d2850fcd14b47a54f8c899fea53dfb5ea38388c0 Author: TB Schardl <[email protected]> Date: Wed Feb 16 15:46:39 2022 +0000 [CilkSanitizer] Add logic to aggressively search for debug information to attach to instrumentation hooks. commit c611385b3cd116c8acbe9c1bb90b987ae0829d2e Author: TB Schardl <[email protected]> Date: Wed Feb 16 15:44:08 2022 +0000 [CilkSanitizer] Fix type of sync-region-number arguments in hooks to match Cilksan driver ABI. commit 4cd1695c100c85578f2fd2819be41680dbae35b9 Author: TB Schardl <[email protected]> Date: Fri Jun 24 22:22:44 2022 +0000 [Kaleidoscope/Tapir] Update Tapir Kaleidoscope example for LLVM 14. commit 3b1b87304aef097a88de3e40af110825bcb4e999 Author: TB Schardl <[email protected]> Date: Fri Jun 24 17:57:57 2022 -0400 [OpenCilkABI] Properly emit diagnostic messages raised when linking a bitcode ABI file. commit 887184c964b3ff4b1293e51eb0297408aee993c2 Author: TB Schardl <[email protected]> Date: Fri Jun 24 14:38:48 2022 -0400 [lld] Fix lld handling of command-line arguments for Tapir lowering at link time on Darwin. commit d114aeb38e54f8334a6ca26f5f954ea0bd2b0bde Author: TB Schardl <[email protected]> Date: Fri Jun 24 13:39:43 2022 +0000 [lld][LTO] Update lld and LTO to pass flags for Tapir lowering at link time. Based on changes by George Stelle <[email protected]>. commit 6f01c4f0a5a475ed166c41e8486e97e3ffbfa42c Author: TB Schardl <[email protected]> Date: Fri Jun 24 11:09:46 2022 +0000 [MemoryBuiltins] Add method to get the arguments to a library allocation function, and use that method to simplify the logic in CilkSanitizer and CSI to instrument allocation functions. commit 788723fdd51840ca9fb712d0388c848f1e869016 Author: TB Schardl <[email protected]> Date: Thu Jun 23 18:02:02 2022 +0000 [OpenCilkABI] Make the __cilkrts_stack_frame_align variable linkage private, to avoid linking issues when code is compiled with -fopencilk and no optimizations. Update regression tests with new OpenCilk ABI bitcode file. commit 49a91d69042012127355821db819d1b8c439fb2c Author: TB Schardl <[email protected]> Date: Thu Jun 23 17:58:06 2022 +0000 [test/Tapir] Fix test case for rebase onto LLVM 14. commit f66e80d84bebab348805349c443b4d9bb5f11a80 Author: TB Schardl <[email protected]> Date: Thu Mar 24 19:22:06 2022 +0000 [LoopUnroll] Put custom GraphTraits in llvm namespace, to appease GCC. commit 59b4c1c88f598a5452cd2455851838c0b5d4d347 Author: TB Schardl <[email protected]> Date: Fri Mar 18 13:46:44 2022 +0000 [LoopUnroll] Clone task-exit blocks similarly to ordinary loop blocks during loop unrolling. commit 5a0c91c6aabd5f8eafeb0028061a6dbc23f6e552 Author: John F. Carr <[email protected]> Date: Fri Mar 11 11:52:24 2022 -0500 Read __cilkrts_stack_frame alignment from bitcode if available commit 02012923412b9310c713fa41a55600aaacf94256 Author: TB Schardl <[email protected]> Date: Tue Jun 21 12:59:54 2022 +0000 [IndVarSimplify] Add TapirIndVarSimplify pass, a version of the IndVarSimplify pass that applies only to Tapir loops. Run TapirIndVarSimplify before loop stripmining to help ensure that Tapir loops can be stripmined after other optimizations, such as loop peeling. Addresses issue #88. commit 77c8b63bb7172ccbd7daf53f2f952d4fc2dca3e6 Author: TB Schardl <[email protected]> Date: Tue Jun 21 12:53:17 2022 +0000 [OpenCilkABI] Ensure that debug information is attached to __cilkrts_enter_landingpad calls. commit 11d18c63618e13e27f3d2f6dcd8abc6301abe9c5 Author: TB Schardl <[email protected]> Date: Tue Jun 21 12:51:12 2022 +0000 [LoopSpawningTI] Set the debug location of a tapir.loop.grainsize intrinsic call to match the loop it applies to. commit fc811c47384077332dd78f32a98b2cd376634be3 Author: TB Schardl <[email protected]> Date: Tue Jun 21 12:49:31 2022 +0000 [OpenCilkABI] Fix compiler warning about unused variable. commit cb26ec1ad0e0cd1be88e9e9f99c165ed3493aba0 Author: TB Schardl <[email protected]> Date: Sun Jun 19 08:01:04 2022 -0400 [AArch64RegisterInfo] Fix AArch64 code generation to properly use the base register for stealable functions. commit cdd5eae928e63d4f2d117288ac6d1fce037edbe6 Author: TB Schardl <[email protected]> Date: Mon Jun 13 11:29:55 2022 +0000 [CGCilk] Fix code generation of unreachable _Cilk_sync statements. Fixes issue #93. commit 42bb03c984419251c1d5f991584f962603dbd6a1 Author: TB Schardl <[email protected]> Date: Mon Jun 13 11:27:19 2022 +0000 [Tapir] Remove some uses of getElementType. commit 6b7df525dafe13bd85ef2dc45e0c20812378041f Author: TB Schardl <[email protected]> Date: Sun Jun 12 18:26:20 2022 +0000 [TailRecursionElimination] When eliminating a tail call that is separated from a return by only a sync, defer reinserting syncs into return blocks until tail calls have all been eliminated. This change helps TRE remove multiple tail calls that are each separated from a common return by a sync. commit c76ab34aaeb322bdd10445bec97aad0f0903a6e0 Author: TB Schardl <[email protected]> Date: Sun Jun 12 18:23:44 2022 +0000 [TapirUtils] When splitting blocks around taskframe intrinsics, try to ensure that a branch inserted after a taskframe.end intrinsic has debug info. commit 1abcc7a38ce6c82351c28abb558da0c419ab54d9 Author: TB Schardl <[email protected]> Date: Sun Jun 12 18:21:56 2022 +0000 [SimplifyCFG] Simplify a sync when it immediately leads to another sync in the same sync region. Improve logic for simplifying branches around Tapir instructions. commit 2684472245e9b1b5ce3713e8c492adcd9857a77f Author: TB Schardl <[email protected]> Date: Sun Jun 12 18:18:51 2022 +0000 [Outline] When outlining a helper function, remove any prologue data cloned from the parent function onto the helper. Addresses issue #77. commit fe8ff8f3f79949122d8893a8928a1fde965b4427 Author: TB Schardl <[email protected]> Date: Sun Jun 12 18:15:35 2022 +0000 [CSI,CilkSanitizer] Add CSISetup pass to canonicalize the CFG before instrumentation when the canonicalization does not preserve analyses. commit 7003d3570447576b00d99aad7287c28b2ce4ab1e Author: TB Schardl <[email protected]> Date: Sun Jun 12 14:36:15 2022 +0000 [test/Cilk] Add triple command-line argument to test. commit 66f1485b58a794d4db9f17fb168f3aa91eb7e9bd Author: TB Schardl <[email protected]> Date: Sun Jun 12 14:34:40 2022 +0000 [cindex.py] Incorporate Cilk changes into Python bindings. commit 3d8b1e881c1e0d1285f07ddfac99f0898d908b81 Author: TB Schardl <[email protected]> Date: Sat Jun 11 21:06:15 2022 +0000 [github] Fix GitHub workflows for opencilk-project. commit 004a118d1f18670af1499720318d4d09c5940c5d Author: TB Schardl <[email protected]> Date: Sat Jun 11 20:59:23 2022 +0000 Bug fixes for rebase onto LLVM 14.0.5 commit 9626886e087a11dcfaffb8998499aabfe2855a12 Author: TB Schardl <[email protected]> Date: Sat Jun 4 11:38:10 2022 +0000 [Local] Fix bug when removing the unwind destination of a detach insrtuction that is used by multiple detach instructions. commit 323bfeded53653b3f98a03d682ee00126c79192b Author: TB Schardl <[email protected]> Date: Thu Mar 10 01:14:28 2022 +0000 [llvm/test] Cleanup and fix a couple Tapir regression tests. commit 3a36939d4a5217c21dae4f567972112900bea426 Author: TB Schardl <[email protected]> Date: Mon Mar 7 22:58:48 2022 +0000 Bug fixes for rebase onto LLVM 13.0.1 commit 269b232fe59a569a8c1fc6294bf30f5752c6fd38 Author: TB Schardl <[email protected]> Date: Wed Feb 16 15:29:24 2022 +0000 [cmake] Propagate path to llvm-link tool when adding external projects. commit 01aa4fb1628661cb8da8c1b8888be1eec31bd6f0 Author: TB Schardl <[email protected]> Date: Wed Feb 16 14:55:52 2022 +0000 [cmake] Add more dependencies between components. commit 34504b8abbab440563f728c517900c373fd04b7f Author: George Stelle <[email protected]> Date: Wed Oct 27 09:05:52 2021 -0600 [cmake] Added IRReader dependency to instrumentation component commit 20452488ed2428f9f46e8ab6f36776feb23ae955 Author: TB Schardl <[email protected]> Date: Sun Jan 9 00:34:33 2022 +0000 [test/Tapir] Fix output path for GCOV test. commit 755042ce8700e5051cd7fc03289a718824a54357 Author: TB Schardl <[email protected]> Date: Sat Jan 8 21:29:45 2022 +0000 [GCOVProfiling] Ensure that GCOVProfiling does not try to split critical edges from detach instructions. commit d961aa51938981ba3f11625b269c3d0f9332adcf Author: TB Schardl <[email protected]> Date: Wed Dec 22 19:57:12 2021 +0000 [Tapir][TapirUtils] Add logic to maintain debug locations to enable inlining of bitcode ABI functions with debug information. commit 171342baac4cb817ab415b5c8266b70b3142c314 Author: TB Schardl <[email protected]> Date: Sun Nov 21 18:21:01 2021 +0000 [ParseCilk][CGCilk] Fix compiler crashes on bad _Cilk_for inputs. Co-authored-by: John F. Carr <[email protected]> commit 1b0608b28fa1954d27bab2859e9cf174d9789da8 Author: TB Schardl <[email protected]> Date: Thu Oct 28 19:45:18 2021 +0000 [TapirRaceDetect] Fix crash when checking an indirect call instruction in a block terminated by unreachable. commit 515ee9978d72e11be8ea4e50e04d8c4165aafd07 Author: TB Schardl <[email protected]> Date: Thu Oct 28 19:43:08 2021 +0000 [MachineSink] Refine handling of EH_SjLj_Setup constructs to fix performance regressions. commit 309ea1ba51d8689e823bbb8107860c89e6986bf3 Author: TB Schardl <[email protected]> Date: Sun Oct 24 00:26:03 2021 +0000 [MachineSink] Ensure that arthimetic that stores results onto the stack is not sunk into a setjmp construct, specifically, between the longjmp destination and the test. Addresses issue #78. commit 77c63f94293aadfb088474ca655b28abe24fd25c Author: TB Schardl <[email protected]> Date: Sun Oct 24 00:17:48 2021 +0000 [CGCilk] Fix cilk_for-loop code generation when emission of loop variable may introduce new basic blocks. Addresses issue #77. commit 7bfda87d06194f5bf2a539513cf590b1be8b5b31 Author: TB Schardl <[email protected]> Date: Sat Oct 16 20:17:57 2021 +0000 [InlineFunction] Fix logic to update PHI nodes in an exceptional block when inlining tasks at an invoke instruction. Addresses issue #73. commit 9ff936ce98ef4121fd43b3458302ae5fe2d0e1c2 Author: TB Schardl <[email protected]> Date: Sat Oct 16 19:15:07 2021 +0000 [CilkSanitizer] Ensure that CilkSanitizer pass properly handles Tapir intrinsics in not within any task, i.e., in unreachable blocks. commit cbd90428774adc9b3753993c3002cd8c84973a85 Author: TB Schardl <[email protected]> Date: Sat Oct 16 19:11:43 2021 +0000 [DependenceAnalysis] Fix crash in dependence analysis when analyzing memory references in different loop nests. commit f3aae1752175752975be1b23fe6bde48dec8345d Author: TB Schardl <[email protected]> Date: Sun Sep 26 19:54:51 2021 +0000 [SemaExpr] Fix Sema test to disallow _Cilk_spawn on the right-hand side of a compound assignment. commit e2908075ed24effe71403153d07fa1122bc77342 Author: TB Schardl <[email protected]> Date: Fri Sep 24 02:25:42 2021 +0000 [TapirRaceDetect] Add logic to handle pointers that cannot be stripped when checking whether a pointer is captured. commit 8154ee135b6cd516068448761bd51d4ff167ee82 Author: Alexandros-Stavros Iliopoulos <[email protected]> Date: Tue Sep 7 20:13:03 2021 +0000 Create issue template for bug reports commit 463b18d8708ea71b85cebc0b5fe165527cc71fcd Author: William M. Leiserson <[email protected]> Date: Mon Jun 28 20:41:33 2021 -0400 [Tapir] Minor modifications to the OCaml bindings; Add OCaml bindings to the regression test suite. commit 42e23a547836772d239b0c7c15a6005810fa6047 Author: William M. Leiserson <[email protected]> Date: Fri Jun 25 15:04:48 2021 -0400 [Tapir] Update OCaml bindings. commit 84ac2833abfb2037cc0d74e9a6934a233abf26e3 Author: TB Schardl <[email protected]> Date: Thu Sep 16 03:16:17 2021 +0000 [CilkSanitizer][Kaleidoscope] Start deprecating the JitMode option, as it no longer seems necessary with recent changes to LLVM's JIT infrastructure. Clean up Tapir Kaleidoscope code. commit fc132e62d5297bd580febe0be5f8ebd9484e19aa Author: TB Schardl <[email protected]> Date: Sun Sep 12 19:15:25 2021 +0000 [OpenCilkABI] Mark all functions internalized from an external bitcode file as available_externally, regardless of whether OpenCilkABI uses that function. commit 0bc52e4863eeaa9f8824cbf494c9fb28cbc6885f Author: TB Schardl <[email protected]> Date: Sun Sep 12 19:13:00 2021 +0000 [OpenCilkABI] Remove argmemonly attribute on spawning functions to ensure that changes to the stackframe flags are properly observed when a spawning function calls another spawning function. commit 23b6de4ef8f5830059e43c47aa9fdea198c7a57e Author: TB Schardl <[email protected]> Date: Sun Sep 12 19:06:45 2021 +0000 [PassBuilder][PassManagerBuilder] Run LICM before loop spawning to ensure loop-invariant conditions appear outside of the loop. Addresses #66. commit 74b69d346fd5b539e049afc7862f257b8d61ee4c Author: TB Schardl <[email protected]> Date: Sun Sep 12 19:04:04 2021 +0000 [TapirLoopInfo] Fix handling of Tapir loops with loop-variant conditions. Fixes #66. commit a26d892c951182fae0231875cbe21b0e6bd4805b Author: TB Schardl <[email protected]> Date: Mon Sep 6 22:10:28 2021 +0000 [CilkSanitizer][CSI] Avoid inserting hooks or PHI nodes in placeholder destinations of task exits. This commit addresses #62. commit 8b7e52844ccedfc28c9ca8f701762c7cf51151bf Author: TB Schardl <[email protected]> Date: Fri Sep 3 02:13:19 2021 +0000 [OpenCilkABI] Remove redundant code from OpenCilkABI, and add documentation about attributes and linkage for the CilkRTS ABI functions. commit 5f5b3c197d41cbcf867f93b3eecf483a2d206c4d Author: TB Schardl <[email protected]> Date: Tue Aug 31 15:31:20 2021 -0400 [TapirTaskInfo] Remove false assertion that the continuation spindle of a detach must not be the same as the spindle containing the detach itself. commit 0f1afa2b0cb90bc258542cf648e60020376d2109 Author: TB Schardl <[email protected]> Date: Mon Aug 30 23:57:17 2021 -0400 [Darwin] Automatically use ASan-enabled version of OpenCilk runtime system on Darwin when the Cilk program is compiled with ASan. commit eeef2443122ae71e57f22a5944ee28ddbbad34b8 Author: TB Schardl <[email protected]> Date: Tue Aug 31 02:20:17 2021 +0000 [Driver] Automatically use ASan-enabled version of OpenCilk runtime system when the Cilk program is compiled with ASan. commit aaff3f5db5c5136bbea164bcd3b1000a3f2d98b7 Author: TB Schardl <[email protected]> Date: Thu Aug 26 12:42:12 2021 +0000 [Kaleidoscope][CSI] Fix Tapir Kaleidoscope code to link against the OpenCilk and Cilksan runtime libraries and run initializers for Cilksan. - Revert changes to general KaleidoscopeJIT code, and add custom KaleidoscopeJIT to Tapir Kaleidoscope example, which supports loading external libraries and running initializers. - Fix CSI jitMode operation to emit llvm.global_ctors entry even when used in a JIT. This CSI change complements recent changes to how Orc handles initializers. commit 0870a416b689118bc077793433375c158e017a5d Author: TB Schardl <[email protected]> Date: Tue Aug 24 03:48:57 2021 +0000 [Kaleidoscope] Fix up the Tapir Kaleidoscope example code to use the OpenCilk Tapir target. Some additional work is needed to fix running parallel code using the OpenCilk runtime or Cilksan. commit 3cdb414d46ecfabb2f2932f0519cd988e2e79327 Author: TB Schardl <[email protected]> Date: Tue Aug 24 03:16:57 2021 +0000 [CMake] Add Vectorize as a link component of TapirOpts LLVM component library. commit ce08dc233d5385e685fb5d2470a9d5d373adc63e Author: TB Schardl <[email protected]> Date: Tue Aug 24 03:15:32 2021 +0000 [LoopStripMinePass] Ensure that loop-stripmining inserts nested syncs when targetting OpenCilk. commit 61501bb8f941d4de750691f26865a6c6f085452d Author: TB Schardl <[email protected]> Date: Tue Aug 24 02:59:38 2021 +0000 [Driver][CodeGen] Pass OpenCilk runtime-ABI bitcode file to the OpenCilkABI Tapir target as a Tapir-target option. commit a74202e24967355cbc8f6940ab359453d65633ee Author: TB Schardl <[email protected]> Date: Tue Aug 24 02:46:42 2021 +0000 [OpenCilkABI] Get OpenCilk runtime-ABI bitcode file from OpenCilk Tapir-target option. commit b8bcb0430276c826aba92af464d318136338e5ca Author: TB Schardl <[email protected]> Date: Tue Aug 24 02:44:17 2021 +0000 [TapirTargetIDs] Add facility to pass options to specific Tapir targets using TLI. Add OpenCilkABI Tapir-target option. commit fabb24be55bf96e6aeec5bbef3f7861f5ecc29b9 Author: TB Schardl <[email protected]> Date: Thu Aug 19 14:23:01 2021 +0000 [Tapir] Don't propagate the noreturn attribute to outlined helper functions when the parent is marked noreturn. Similarly, when using DAC loop spawning, don't propagate norecurse to the outlined helper function. commit 6e0197429783874fe5a934f766ff8f5c58b52da2 Author: TB Schardl <[email protected]> Date: Mon Aug 9 15:54:59 2021 +0000 [Cilk] Fix the scope definition on _Cilk_scope's, and add basic jump diagnostics to disallow jumping into the middle of a _Cilk_scope. Add a couple simple regression tests for _Cilk_scope's. commit d1632c7a735f24046020633e0b2f001829628481 Author: TB Schardl <[email protected]> Date: Sun Aug 8 22:24:25 2021 -0400 [GVN] Prevent GVN from splitting critical detach-continue edges. commit afef9ca56015cd17a667ff1e0e98c8b43bc2a5e4 Author: TB Schardl <[email protected]> Date: Sun Aug 8 22:21:53 2021 -0400 [LoopStripMine] Fix test to not require the same loop-cost analysis on all systems. commit 96a4f28c0ef76f6e344c8b35b2e54d74e6e39821 Author: TB Schardl <[email protected]> Date: Sat Aug 7 12:02:05 2021 +0000 [OpenCilkABI] Add handling of tapir.runtime.{start,end} intrinsic calls to guide insertion of __cilkrts_enter_frame and __cilkrts_leave_frame ABI calls. commit ec11e602a464d9032015322e8b924a2161825b93 Author: TB Schardl <[email protected]> Date: Sat Aug 7 11:56:17 2021 +0000 [OpenCilkABI] Update target to reflect new runtime ABI. Update error handling when the OpenCilkABI target fails to load the runtime ABI bitcode file (and -debug-abi-calls is not specified). commit 3cc10b1efcd02db417bf1d01201c853bcefbe3f5 Author: TB Schardl <[email protected]> Date: Fri Aug 6 15:01:45 2021 +0000 [TapirToTarget] Allow Tapir targets to maintain mappings keyed on taskframe-entry blocks in the original function. Add a separate processing routine to handle functions that do not spawn and are not spawned. commit c5b4e5161f69ad8b2be65319e2ad7fbed0309a11 Author: TB Schardl <[email protected]> Date: Fri Aug 6 14:46:22 2021 +0000 [LoopStripMine] Fix handling of shared EH blocks so that, if the new parallel loop after stripmining is spawned, then shared EH blocks do not end up shared between the spawned loop and the parent task. This commit addresses issue #58. commit 7e879619c1e50f411cabf5b3253c39e99e6586e6 Author: TB Schardl <[email protected]> Date: Fri Aug 6 14:34:53 2021 +0000 [TapirUtils] Allow passes to clone exception-handling blocks of a task. Allow SerializeDetach and cloneEHBlocks to update LoopInfo. Fix dominator-tree updating logic in SerializeDetach and cloneEHBlocks.f commit 79eca2d7caaed0148fa2598ed4839265ab0862ad Author: TB Schardl <[email protected]> Date: Fri Aug 6 13:51:48 2021 +0000 [TapirTaskInfo] Fix identification of unassociated-taskframe spindles when taskframe.create and taskframe.end are in the same basic block. commit 771f986363ca1e72be699720f2520cf516c2ef88 Author: TB Schardl <[email protected]> Date: Mon Aug 2 21:01:39 2021 +0000 [CGCilk][Intrinsics] Associate tapir.runtime.end intrinsics with tapir.runtime.start intrinsics using tokens. Update _Cilk_scope code generation accordingly. Avoid inserting tapir.runtime.{start,end} intrinsics unnecessarily in spawning functions. commit 702c4169fbbbe9dfb2e77550d9994f9ac0ec53be Author: TB Schardl <[email protected]> Date: Thu Jul 29 13:42:10 2021 +0000 [CodeGenFunction][CGCilk] Optimize emission of tapir_runtime_{start,end} intrinsics when nested _Cilk_scopes are used within a function. commit feed355d73e532cdfb0615f223bb15a6c98f6b8a Author: TB Schardl <[email protected]> Date: Thu Jul 29 13:36:12 2021 +0000 [TapirToTarget][LoweringUtils] Add generic handling of tapir_runtime_{start,end} intrinsics to Tapir targets. commit 007f01951350f123d20593510b076e1ec2d059c4 Author: TB Schardl <[email protected]> Date: Sat Jul 24 16:15:06 2021 +0000 [clang/Cilk][Intrinsics] Add _Cilk_scope construct, a lexical scope that guarantees upon exit to _Cilk_sync any tasks spawned within the scope. Add intrinsics to allow the _Cilk_scope construct to mark where a Tapir-target runtime may be started and stopped at the beginning and end of the scope, respectively. These intrinsics are meant only to be hints to a Tapir-target runtime, not definitive markers for where the runtime must be started or stopped. This requirement is necessary to make it safe to nest _Cilk_scopes, either within the same function or indirectly via function calls. No particular compiler optimizations are included for these intrinsics, although some optimizations may be useful to add in the future. commit e48b168f12dbb2f8d11d47282b63b24a42ac9cbf Author: TB Schardl <[email protected]> Date: Sat Jul 24 16:01:26 2021 +0000 [CilkSanitizer][CSI] Extend Cilksan ABI and instrumentation to support race-detecting some Cilk programs that throw exceptions. commit f795e7fb47e17eb99dd569d6c64826cc5086afdc Author: TB Schardl <[email protected]> Date: Thu Jul 22 22:58:25 2021 +0000 [CodeGen][Sema] Cleanup Cilk-related code, primarily around code-generation for implicit syncs. commit 84c3ff60e5c6c81f9f6fb26da5659238d55b8f4b Author: TB Schardl <[email protected]> Date: Thu Jul 22 21:25:31 2021 +0000 [StmtCilk] Cleanup implementation of CilkSpawnStmt. commit 671a5eaf1f53881640c560335e06ff0b9b8c6395 Author: TB Schardl <[email protected]> Date: Thu Jun 3 14:41:35 2021 -0400 [TapirLoopInfo] When searching for a primary induction variable for a Tapir loop, select the widest induction-variable type only among the possible primary induction variables, i.e., integer IVs that start at 0 and have step value 1. This change allows LoopSpawning to handle Tapir loops with multiple IVs where the primary IV is not necessarily the integer IV with the widest type. commit 0be4014fed4d285f8e257eb675ef2d0c2a939070 Author: TB Schardl <[email protected]> Date: Thu Jun 3 14:38:08 2021 -0400 [test/Tapir] Mark regression tests requiring an x86_64 target. commit fbc80f0d6f86bb924d39073ad04d9584ecbb03dc Author: TB Schardl <[email protected]> Date: Thu Jun 3 08:07:28 2021 -0400 [compiler-rt/cmake] Create custom target for outline atomic helpers, and use this custom target for targets that use these helpers. This additional target resolves a race that arises with the Makefile generator in creating outline atomic helpers for multiple builtin libraries in parallel. commit 5fd97de28c1d4b440bd6eb1efaf4bbbeb4289d68 Author: TB Schardl <[email protected]> Date: Tue Jun 1 10:06:42 2021 -0400 [Darwin] Update logic to link OpenCilk runtime on MacOS to handle changes to OpenCilk runtime build system. commit e5dd814d97647f56d7a454e446b79ab431883940 Author: TB Schardl <[email protected]> Date: Fri May 28 18:18:12 2021 +0000 [ToolChain] Update logic to link OpenCilk runtime to handle changes to OpenCilk runtime build system. Specifically, add logic to handle the case where the runtime library is compiled with the target architecture added to the library filename. commit fd07ddd86cc63e12dc986be768751d1791aff546 Author: TB Schardl <[email protected]> Date: Thu May 27 14:29:11 2021 +0000 [CodeGen][Instrumentation] Resolve some compilation warnings when building with newer compilers. commit f418e5a3b1ddda2f9883aee89eead46cac58f408 Author: TB Schardl <[email protected]> Date: Fri Apr 30 12:01:52 2021 +0000 [CSI] Adjust code for adding CSI's constructor to llvm.global_ctors, in order to help bugpoint work on compiler crashes involving CSI and related instrumentation passes. commit de41edb32cc49a8ec5707d42054333c449420e41 Author: TB Schardl <[email protected]> Date: Fri Apr 30 11:43:24 2021 +0000 [InstCombine] Optimize tests for removing Tapir intrinsics. commit 79043b03bb7a0c573f8c1048a1bfce6ba1096d13 Author: TB Schardl <[email protected]> Date: Thu Apr 29 17:03:20 2021 +0000 [Outline] Fix processing of debug metadata during Tapir outlining that causes metadata in llvm.dbg intrinsics to be incorrectly mapped. commit 2025e34e4f69ca2b6caae36e11af2da73b7d27ec Author: TB Schardl <[email protected]> Date: Thu Apr 29 17:01:08 2021 +0000 [CilkSanitizer][CSI] Fix handling of null pointers, intrinsics, and function-pointer arguments. commit 3042493f962a4d3e85a5e26edd0e86b0b7534df7 Author: TB Schardl <[email protected]> Date: Thu Apr 29 14:01:28 2021 +0000 [CilkSanitizer][CSI] Modify splitting of simple unreachable-block predecessors to preserve CFG invariants around detached.rethrow instructions. commit 4373949d008613febfd00d93ffeb8514d835065d Author: TB Schardl <[email protected]> Date: Mon Apr 26 18:26:14 2021 +0000 [LoweringUtils] Handle PHIs in the unwind destination of a detach when outlining Tapir tasks. commit 66bb692a74308dae0b305e1159ee0e8c7b0d4dee Author: TB Schardl <[email protected]> Date: Mon Apr 26 14:56:25 2021 +0000 [LoopStripMine] Fix maintenance of PHI nodes in the unwind destination of a Tapir loop during stripmining. commit af7ec77c5fa74ed2b851bc407ac38a1527b2304d Author: TB Schardl <[email protected]> Date: Mon Apr 26 12:31:34 2021 +0000 Bug fixes for rebase onto LLVM 12.0.0 commit a6a7624642aa524ffebf45a64d56278dbddf503f Author: TB Schardl <[email protected]> Date: Mon Apr 5 13:07:08 2021 +0000 [LoopUtils] Fix typo in stripmine.enable attribute name. commit fe52c8f8fecbe1cd0f2e236a4c1c87638df667a9 Author: TB Schardl <[email protected]> Date: Mon Apr 5 13:05:54 2021 +0000 [InlineFunction] Update PHI nodes properly when function inlining introduces a taskframe.resume or detached.rethrow. commit f6793e3030e954f8c6c0a5a7e9a87bce1d4373a3 Author: TB Schardl <[email protected]> Date: Mon Apr 5 13:04:01 2021 +0000 [LoweringUtils] Update PHI nodes in continuation blocks of outlined task frames. commit 42e1e5f340a61dbd096036ad819f67f9ac64bfa1 Author: TB Schardl <[email protected]> Date: Mon Apr 5 13:01:59 2021 +0000 [TapirToTarget] Ensure that Tapir lowering never attempts to process a function with no body. commit 18ee06baede9a40f3c7e3d6592aed925b42bb559 Author: TB Schardl <[email protected]> Date: Sun Mar 28 17:50:37 2021 +0000 [OpenCilkABI] Adjust how runtime-ABI functions are marked to ensure they never end up defined in the final object file. commit e184a4cfda51c905b14f543747954c50b090809e Author: TB Schardl <[email protected]> Date: Sun Mar 28 17:15:12 2021 +0000 [CilkSanitizer] Fix computation of MAAPs and function race info to ensure races are properly checked and reported. commit f5fd041fa362ddbb6eca5d2c7e30783465226958 Author: TB Schardl <[email protected]> Date: Mon Mar 22 13:38:52 2021 +0000 [Driver] Add -shared-libcilktool and -static-libcilktool flags to control whether a Cilktool's runtime library is linked statically or dynamically. commit a0e840c07e13d0eadc4fa7e5a7cc8c70b5d407c7 Author: TB Schardl <[email protected]> Date: Mon Mar 22 03:30:09 2021 +0000 [CommonArgs] Prevent Cilksan from being linked twice when dynamically linked. commit 82a1f870afce0225f0e657f3d898e7140907645d Author: TB Schardl <[email protected]> Date: Fri Mar 19 13:01:00 2021 +0000 [MemorySSA] Change MemorySSA to depend on TaskInfo, and update relevant LLVM passes to ensure the legacy pass manager supports this dependency. commit a40d6019e1f0fa40aa166fc99cb1ee5aab77e783 Author: TB Schardl <[email protected]> Date: Fri Mar 19 12:57:17 2021 +0000 [RegisterCoalescer] Enable limited register-coalescing in functions that exoose returns-twice only via LLVM's setjmp intrinsic. commit 66a5bf8c2c9bcdcad85e8d3cabf78d19901cd5b9 Author: TB Schardl <[email protected]> Date: Fri Mar 19 12:55:30 2021 +0000 [CodeGen] Add a MachineFunction property to identify when a function exposes returns-twice via a function other than LLVM's setjmp intrinsic. commit 609365a91dbc582bed89f5cf64a189d1a87b3c21 Author: TB Schardl <[email protected]> Date: Fri Mar 19 12:50:11 2021 +0000 [MachineSink] Remove workaround for machine-sink optimization in the presence of setjmps, which no longer seems necessary as of LLVM 10. commit 9148d3000e52a414a01096820e1c0745ffa59410 Author: TB Schardl <[email protected]> Date: Fri Mar 19 12:45:29 2021 +0000 [SimplifyCFGPass] When removing useless syncs, don't use the placement syncregion.start intrinsics to direct the CFG traversal. commit c3141b3974d7e485168b5e1b6fe9fd11f8ceb219 Author: TB Schardl <[email protected]> Date: Fri Mar 19 12:42:23 2021 +0000 [JumpThreading] Fix jump-threading to accommodate Tapir instructions when threading through two blocks. commit b422181ad7e731fb663b98f835dd47c7727f129d Author: TB Schardl <[email protected]> Date: Tue Mar 9 19:24:24 2021 +0000 Bug fixes for rebase onto LLVM 11.1.0 commit 600300bc4c1c17ba04d2e3dd7da202b37e826c48 Author: TB Schardl <[email protected]> Date: Thu Mar 4 21:08:55 2021 +0000 [CodeGenFunction] Fix emission of implicit syncs before returns for return statements processed early in a function. commit be59935040732156080f28d54d040bcb79…
AlexisPerry
pushed a commit
to AlexisPerry/kitsune-1
that referenced
this issue
Jul 23, 2024
…ollowed by a purge of a fair bit of the OpenCilk-specific parts of the frontend. The middle and backends (i.e. the Tapir code) is mostly retained. All credit for OpenCilk contributions go to the individuals listed in the commit messages below. commit 9e7b5b83a06d24f18d53bce2ae84ad23e8629566 Author: TB Schardl <[email protected]> Date: Fri Nov 24 14:35:53 2023 +0000 [test/Examples] Fix Tapir-Kaleidoscope test to check Tapir-IR code generation and execution as serial code. commit edf18d2cb3ccae6b82e8fc2bb724b6b4e210135f Author: TB Schardl <[email protected]> Date: Fri Nov 24 13:58:07 2023 +0000 [examples] Add command-line options to control IR printing in Tapir-Kaleidoscope example. commit 371c986883d3759cd48edb1570238d3e39d02b03 Author: TB Schardl <[email protected]> Date: Fri Nov 24 13:57:08 2023 +0000 [examples] Fix Tapir Kaleidoscope example to use new pass manager and updated OrcJIT interface. commit e551f77d3ee462c4c0ac35155d69ffa7c892ef91 Author: TB Schardl <[email protected]> Date: Fri Nov 24 13:52:08 2023 +0000 Code cleanup and formatting. commit 6ef312d8799d05324d956a819c2e078505d00ee4 Author: TB Schardl <[email protected]> Date: Sun Nov 12 20:10:57 2023 +0000 Fix bugs for rebase onto LLVM 17.0.4 commit 1f6d36945cbb4529b7a83e5eb557f02f7e9c4dfc Author: TB Schardl <[email protected]> Date: Sun Oct 22 19:12:01 2023 +0000 [SimpleLoopUnswitch] Fix nontrivial loop-unswitching to work with Tapir, and restore relevant regression tests. commit e5aca09467aa9f5174bbaeba85aa667c5f055006 Author: TB Schardl <[email protected]> Date: Sat Oct 21 00:31:59 2023 +0000 [AArch64] Modify read of threadpointer to be marked that it may load memory, rather than having unmodeled side effects. commit 052ab4e90209797c6da67f78f71255a79e71f3c8 Author: TB Schardl <[email protected]> Date: Mon Oct 9 10:26:09 2023 +0000 [AArch64] Mark the read of the threadpointer has having unmodeled side effects to prevent misoptimization in programs where the executing thread may change across a function call. In principle, this change could be made more precise to enable some optimizations of this operation, including removal of redundant reads when there is no intervening function call. But it is not clear what attributes currently exist that could be attached to this operation to model its behavior more precisely. commit 8754ae43760485e9a168254f322816760871396d Author: TB Schardl <[email protected]> Date: Mon Oct 9 10:25:43 2023 +0000 [test/Tapir] Fix requirement for test that needs X86 target. commit 6e75058f3cc757eb7ef959dcd3d1361d20595338 Author: TB Schardl <[email protected]> Date: Fri Oct 20 00:15:22 2023 +0000 [InstCombine] Fix removal of adjacent tapir.runtime.start and tapir.runtime.end calls. commit b7220ab142f3e839b1dafc142b2213d561c05470 Author: TB Schardl <[email protected]> Date: Wed Oct 18 14:15:46 2023 +0000 [AddressSanitizer] Analyze parallel-promotable allocas before ASan's instrumentation might invalidate task analysis. commit 95f8a8edb37b999745b0bb8772149c744a68eddc Author: TB Schardl <[email protected]> Date: Sat Oct 14 11:48:49 2023 +0000 [JumpThreading] Fix jump threading to remove pointers to deleted basic blocks that contain Tapir instructions. commit aeeb5b1b1a582ec850bf960cbb349f5d021332eb Author: TB Schardl <[email protected]> Date: Fri Oct 13 23:27:59 2023 +0000 [DRFScopedNoAliasAA] Fix a compiler warning. commit 76c49de053a605163c212d5f59ccccc6600608e4 Author: TB Schardl <[email protected]> Date: Fri Oct 13 23:25:14 2023 +0000 [Tapir,Cilk] Fix a memory error and some memory leaks. commit a6641c8c2561e98f356435e936711584c81fbfeb Author: John F. Carr <[email protected]> Date: Tue Oct 10 15:02:02 2023 -0400 Set memory(none) instead of readonly on strand_pure function definition commit 317b6d5ca7bcc44dd91771a65cd793b7f12b6408 Author: TB Schardl <[email protected]> Date: Sat Oct 7 15:05:58 2023 +0000 [Attributes] Make sure that inlining propagates the stealable attribute on a function to callers. commit ec78c76b0a01faf207a28c66d1fff4ba9411500a Author: TB Schardl <[email protected]> Date: Sat Sep 30 03:08:44 2023 +0000 [InlineFunction] Fix inlining of detaches with no unwinds into taskframes with unwind destinations. commit 4ebb3d94a206fd1222febaa618bf213f17cf84c1 Author: TB Schardl <[email protected]> Date: Mon Sep 25 01:09:17 2023 +0000 [LoweringUtils] Ensure that calls to outline helper functions have proper debug information. commit 2686e68573527096ce8bb146777a2c7dd0cce785 Author: TB Schardl <[email protected]> Date: Mon Sep 25 01:07:47 2023 +0000 [CilkSanitizer,CSI] Skip allocas in entry blocks when finding the initial place to insert instrumentation. This change ensures that allocas in spawning functions are on the original stack, allowing ASan to properly instrument those allocas without being disrupted by stack switching. Fixes issue OpenCilk/opencilk-project#197. commit 51ffb8acf34131b32f5b80e5ceb1011d9cd1a935 Author: TB Schardl <[email protected]> Date: Mon Sep 25 00:56:19 2023 +0000 [CSI] Assign numbers to local sync regions and pass those numbers to Tapir CSI hooks, instead of a separate stack allocation. commit 0019cd04c112b31fbd6066ff0c85f572ba39e1c3 Author: TB Schardl <[email protected]> Date: Mon Sep 25 00:46:05 2023 +0000 [SelectionDAGBuilder] Provide default serial lowering for task.frameaddress intrinsic. Fixes issue OpenCilk/opencilk-project#198. commit 17993c6aa8022d2f71d93044e7d0ac33d9a9f72f Author: TB Schardl <[email protected]> Date: Mon Sep 25 00:21:46 2023 +0000 [SemaCilk] Throw error when a _Cilk_spawn spawns a return statement. Fixes issue OpenCilk/opencilk-project#194. commit 2525529acb32d203fbff77b60c8f30e490ff79ba Author: Tao B. Schardl <[email protected]> Date: Sun Sep 17 09:20:04 2023 -0400 Update README.md Fix typos and add some extra notes. commit 0d946a072db5bea6a7bbb3a74d8ed36d21b78f8e Author: Tao B. Schardl <[email protected]> Date: Sat Sep 16 14:13:50 2023 -0400 Simplify headers in README.md commit 59cdaa58f19432befdad8806db5f6bf5809d2c97 Author: Tao B. Schardl <[email protected]> Date: Sat Sep 16 14:10:42 2023 -0400 Fix headers in README.md commit a488d8bf61588a8798888309bf85dfdb96e2b30f Author: Tao B. Schardl <[email protected]> Date: Sat Sep 16 14:08:53 2023 -0400 Create README.md Add README that briefly overviews OpenCilk and how to use it. commit 5523fa6746cb7b67c112b52b89618602e1d9358c Author: TB Schardl <[email protected]> Date: Fri Sep 15 12:33:50 2023 +0000 [README] Rename LLVM README file. commit dfdf56660eb70df5f2cd3c55717f7ed00f59461c Author: John F. Carr <[email protected]> Date: Wed Sep 6 12:14:08 2023 -0400 Remove unused HyperToken attribute commit 5dcd8bcef85c451791da5f6b2717665a4d15c674 Author: TB Schardl <[email protected]> Date: Fri Sep 1 20:21:27 2023 -0400 [test/Cilk] Fix tests to accommodate different constructor ABIs. commit a2a5e20b00da185d01f9caf510006efdadef560b Author: TB Schardl <[email protected]> Date: Fri Sep 1 08:01:16 2023 -0400 [CilkSanitizer,CSI] Fix CFG setup to properly update the dominator tree and handle free functions. commit 13b7ac764d75e34b4b5c04ae093f274413334aca Author: John F. Carr <[email protected]> Date: Thu Aug 31 14:33:25 2023 -0400 Use BuildBuiltinCallExpr for hyper_lookup too commit a78944f376cb512cd3d7069ed16454e019bc972f Author: John F. Carr <[email protected]> Date: Wed Aug 30 16:42:08 2023 -0400 Use BuildBuiltinCallExpr to generate call to __builtin_addressof commit 5cac64f4f56f42e90e5eda94d494b14d833f99c5 Author: John F. Carr <[email protected]> Date: Thu Aug 24 10:13:21 2023 -0400 Look through _Hyperobject in delete commit 8a409dfc1fc889ee3e4020208899dce3b2bc7c9b Author: TB Schardl <[email protected]> Date: Sun Aug 20 13:53:50 2023 +0000 [github] Update workflows to run more tests, to run tests on pull requests, and to run tests on dev/ and ci/ branches. commit d8724a170163b266cd887f123efad6cb8f768e21 Author: TB Schardl <[email protected]> Date: Sun Aug 20 13:42:13 2023 +0000 [CilkSanitizer,CSI] Instrument allocation and free functions as such even when the program is compiled with -fno-builtin. commit d96e33c920295ac1aa7abc929ecc64a4f145d4c7 Author: TB Schardl <[email protected]> Date: Wed Aug 9 09:45:00 2023 +0000 [Intrinsics] Fix memory attributes of llvm.threadlocal.address intrinsic to prevent misoptimization of intrinsic in Cilk code. commit f2ebdcc6ab2c2600848c7743216d3250657864c1 Author: TB Schardl <[email protected]> Date: Thu Aug 3 11:10:50 2023 +0000 [JumpThreading] Do not thread a detach-continue edge if the corresponding reattach-continue edge is not also threaded. commit 93fb23676c5a5ece416b1c4c1485ea6c3303bc24 Author: TB Schardl <[email protected]> Date: Wed Jul 26 11:57:41 2023 +0000 [clang] Convert more instances of Optional to std::optional. commit 5e6c4f2974822d28abb52e851d86b318657e8a20 Author: TB Schardl <[email protected]> Date: Sun Jul 23 22:30:06 2023 +0000 [test/Tapir] Remove tests using old pass manager. commit c8e60b12aa8c07a97a4ca57fab76e0bfde227317 Author: John F. Carr <[email protected]> Date: Fri Jul 21 18:57:22 2023 -0400 Compute memory effects of outlined function commit 008a2e069ddb68c9843727d1f9d911eea2ca3dcd Author: John F. Carr <[email protected]> Date: Thu Jul 20 20:32:17 2023 -0400 Use new memory effects interface for outlined function commit c3c430f335c47a7e142f0abac315a3a68d240c12 Author: TB Schardl <[email protected]> Date: Fri Jul 14 14:25:59 2023 +0000 [LoopInfo] Fix bug in which getting task exits of a loop would exclude nested tasks. Fix issue OpenCilk/opencilk-project#177. commit e210d0c730d19dfac0cecb283e743f248e2d4904 Author: John F. Carr <[email protected]> Date: Mon Jun 5 13:47:24 2023 -0400 Call overloaded unary operator on hyperobject commit 2c24a1354caa121ed28daa9c5f7149063761afa5 Author: John F. Carr <[email protected]> Date: Mon Jun 5 15:34:56 2023 -0400 Allow hyperobject view lookup in overload resolution commit 2c8940f87fb5056b7f63630b49633dde363a6e1c Author: TB Schardl <[email protected]> Date: Sat Jun 24 20:19:12 2023 +0000 [Tapir] Use internal linkage for generated helper functions, to ensure that they have symbols that tools can use. Fix issue OpenCilk/opencilk-project#172. commit 0f00524cbaf358995ecd61ce55b98939edc61cb1 Author: TB Schardl <[email protected]> Date: Tue Jul 4 18:42:05 2023 +0000 [cmake] Remove unused logic for passing llvm-link path to external projects. commit 5dc8895b0f6da272e7c7f801bb7a2cd33675f980 Author: TB Schardl <[email protected]> Date: Tue Jul 4 18:41:07 2023 +0000 [llvm-reduce] Ensure that Tapir instructions are replced properly when removing basic blocks. commit 10c6f3d2e768151744ea60526e1eb9158672ad06 Author: TB Schardl <[email protected]> Date: Tue Jul 4 17:43:49 2023 +0000 [SROA] Maintain Tapir task info as SROA modifies the CFG. TODO: Add functionality to incrementally update Tapir task info analysis. commit 18b3fbe2e3aebb270dd9b7466a789b557b340d36 Author: TB Schardl <[email protected]> Date: Mon Jul 3 16:30:07 2023 -0400 Fix bugs for rebase onto LLVM 16.0.6 commit ee2dba003c86a78ac8870b5d67889e6df5e97303 Author: TB Schardl <[email protected]> Date: Sun Jun 4 13:18:11 2023 +0000 [PassBuilder] Create separate TapirLoopLowerPipeline for lowering Tapir loops, and add options to run Tapir lowering pipelines via opt. commit 750fd88a40d90d4a9aed3dd5e58052adde9f3019 Author: TB Schardl <[email protected]> Date: Mon May 29 14:12:32 2023 +0000 [github] Reenable tests on GitHub Actions. commit 80110eff05f6edfd427af5293f380d990928fbfd Author: TB Schardl <[email protected]> Date: Mon May 29 19:43:44 2023 -0400 [test/Tapir] Generalize SROA test to fix test failure on macOS. commit b22925221b7f476a3aaf836e2cba8e99031f0760 Author: TB Schardl <[email protected]> Date: Mon May 29 14:02:09 2023 +0000 [SimplyCFG,TaskSimplify] Add hidden command-line options to disable optimization of removing detaches that immediately sync. commit e1a34b85ece70fff8b3c1b297d97a6962f5dfb5f Author: TB Schardl <[email protected]> Date: Mon May 29 14:01:20 2023 +0000 [Tapir] Remove deprecated CudaABI and OpenMPABI Tapir targets. Add LambdaABI and OMPTaskABI Tapir targets from OpenCilk PPoPP'23 paper for targeting alternative parallel runtimes. commit e4d3b479a35685d95a49fac4e7cb4ff2dea4fc8a Author: TB Schardl <[email protected]> Date: Mon May 22 01:52:35 2023 +0000 [Tapir] Code formatting. commit 7f44fab557139b1e61ccb9c7105b6b483c85f5be Author: TB Schardl <[email protected]> Date: Mon May 22 01:51:39 2023 +0000 [InlineFunction] Fix insertion of landingpads for taskframes when multiple taskframes appear in the same basic block. commit 32f6f0be8204008f449f401c048363b7c6d35533 Author: TB Schardl <[email protected]> Date: Mon May 22 01:48:29 2023 +0000 [TapirUtils] Modify FindTaskFrameCreateInBlock to optionally ignore a specific taskframe.create when searching a block for a taskframe.create. commit 1c76104684bcdd9c28b85d03a41fdc8120030fc0 Author: TB Schardl <[email protected]> Date: Mon May 22 01:46:08 2023 +0000 [Verifier] Add check that the successor of a reattach has a predecessor terminated by a detach that dominates the reattach. commit e89d3bf0875a3da8f1ed852f589e96837b6c0310 Author: TB Schardl <[email protected]> Date: Mon May 22 01:44:51 2023 +0000 [SSAUpdater] Fix handling of detach-continuation blocks with multiple detach and reattach predecessors. commit eb439ea8c2b10622dd9b28ad8ff29e301a9cb095 Author: TB Schardl <[email protected]> Date: Thu May 18 17:39:20 2023 +0000 [OpenCilkABI] Fix OpenCilk target to ensure that any sync that can possibly throw an exception has an associated landingpad. commit a07679135eb1ac1d084815943feca0d4029a167b Author: TB Schardl <[email protected]> Date: Tue Apr 18 01:14:31 2023 +0000 Fix bugs for rebase onto LLVM 15.0.7. commit 0b9ca933ffec4892d942a0725d3d3ff4763a3332 Author: Tao B. Schardl <[email protected]> Date: Thu Apr 6 05:59:35 2023 -0400 Fix workaround in llvm-project-tests.yml for new macOS runner image. commit a475e5f5c47a70be9ca1e5777576cb61967c7748 Author: TB Schardl <[email protected]> Date: Thu Mar 30 19:10:44 2023 +0000 [test/Tapir] Mark test that requires the X86 target as such. commit c98c75e6159ae279dd08cdf9af072b119bac32bf Author: TB Schardl <[email protected]> Date: Sun Jan 29 20:21:12 2023 +0000 [CilkSanitizer] Special-case the instrumentation of hyper.lookup, to allow Cilksan library to implement its own handling of reducers separately from runtime system. commit 6396775792b42ee51d4e4f7a29629e2e0456770f Author: TB Schardl <[email protected]> Date: Sat Jan 28 03:22:47 2023 +0000 [BasicAliasAnalysis,test/Cilk,test/Tapir] Fix test cases and alias analysis to accommodate new hyper.lookup signature. commit 09ac42508428f619c332ae0c27a4ac0b6e730ebc Author: TB Schardl <[email protected]> Date: Wed Jan 4 00:31:50 2023 +0000 [CodeGen,Sema] Fix support for __hyper_lookup calls in dependent contexts. commit 56f889f3e21d6be19d9502af410138ce234af05a Author: TB Schardl <[email protected]> Date: Sun Dec 18 22:03:43 2022 -0500 [Basic,CodeGen,Sema,IR,Tapir] Modify hyper_lookup intrinsic to pass additional information about the reducer being looked up, namely, its view size, identity function, and reduce function. commit 8ff678c882a5d1bd1e84495fcbefc49745807fcd Author: John F. Carr <[email protected]> Date: Sat Feb 25 13:42:18 2023 -0500 Fix crashes on bad hyperobject declarations commit 4f43a60975c503c698dbde9aac31e33d8f731204 Author: TB Schardl <[email protected]> Date: Wed Feb 1 03:23:48 2023 +0000 [CSI,CilkSanitizer] Identify detaches and their continuations that are associated with Tapir loops. commit 02dea84d7d5521638bae13bf88b132a540ee0f5b Author: TB Schardl <[email protected]> Date: Tue Feb 7 11:36:49 2023 +0000 [TailRecursionElimination] Allow TRE to occur when a tail call is separated from a return by a sync and a tapir.runtime.end intrinsic. In such cases, TRE removes the tapir.runtime intrinsics altogether. commit b93ccc5bfb6c51905111c5bdac94c211328dda53 Author: TB Schardl <[email protected]> Date: Tue Feb 7 11:34:51 2023 +0000 [TailRecursionElimination] Avoid performing tail-recursion elimination for a tail call followed by a sync if there exists a sync preceding that call in the function. TRE in this case can change the synchronization of the program, by causing some spawns to sync earlier than before. TRE in such cases appears to make parallel scalability worse. commit 99c8bf79d59311331c3839a45357aae9388cda17 Author: TB Schardl <[email protected]> Date: Tue Feb 7 11:13:28 2023 +0000 [InstCombineCalls] Combine consective pairs of tapir.runtime intrinsics, to avoid needlessly stopping and resuming a parallel runtime. commit f7f8e08c655be46ab3b90808f1ed3a433fc11b43 Author: TB Schardl <[email protected]> Date: Sat Feb 4 01:30:50 2023 +0000 [TapirUtils] Two changes involving optimizations with taskframes: - When serializing a detach, if the task contains a sync, replace the detach with a taskframe, to prevent that sync from synchronizing tasks in the parent. - Allow a taskframe containing allocas to be replaced with stacksave/stackrestore intrinsics. commit 32f4498946d58a21d0e2b5ca00c31e3083a2d414 Author: TB Schardl <[email protected]> Date: Wed Feb 1 11:20:01 2023 +0000 [github] Update llvm-project-tests for new macOS 11 runner image. commit 8629b933e525db8b66fb29d7628f3697601825d0 Author: TB Schardl <[email protected]> Date: Wed Feb 1 03:32:16 2023 +0000 [LoweringUtils] Identify blocks in taskframes that are shared outside of the taskframe, e.g., for __clang_call_terminate. These blocks may have PHI nodes that need to be updated during lowering. commit ebea8384f158dcbbcadd7228966776d01e39927a Author: TB Schardl <[email protected]> Date: Sat Nov 12 20:27:51 2022 +0000 [Clang] Don't necessarily add the OpenCilk runtime bitcode ABI if a custom Tapir target is specified. commit 17c5191782250602488c7b0a3fce8f051aa330dc Author: John F. Carr <[email protected]> Date: Tue Jan 3 16:22:19 2023 -0500 Test case for OpenCilk issue 157 commit 91590ae258da4a08b22e29ca0df060336b205083 Author: John F. Carr <[email protected]> Date: Tue Jan 3 15:50:46 2023 -0500 Make isViewSet check the View flag instead of the Pure flag. Regression introduced by 52f8a61bc248d312da9269cfdddabad8ff51f9d6. commit b75ad9a29a76acdb52c84cf24930063988d19b6d Author: John F. Carr <[email protected]> Date: Sat Dec 31 14:29:16 2022 -0500 Fix type checking of Cilk for loops with pointer loop variables commit 36ccb03b7c7ce2418bf72d995a18754fa1348ab6 Author: John F. Carr <[email protected]> Date: Tue Dec 27 14:53:11 2022 -0500 Fix crash on type error in Cilk for statement commit 8f4bcb58ba33d7406263d80455c28aba5a7b218c Author: TB Schardl <[email protected]> Date: Thu Dec 1 10:16:05 2022 -0500 [CSI] Ensure that all global variables CSI introduces have a name, because -flto expects all global symbols to have names. Fix issue #149. commit a6df8341db1ffe6ac967787dea8784af6988991f Author: TB Schardl <[email protected]> Date: Thu Dec 1 07:17:25 2022 -0500 [test/Tapir] Add aarch64-target requirement to an aarch64 codegen test. commit e0b8e54b7d1c4f58632c141cc6a50cf103897402 Author: TB Schardl <[email protected]> Date: Thu Dec 1 06:39:18 2022 -0500 [InlineFunction] Fix insertion of allocas when inlining function calls with byval arguments inside of tasks. Fix issue #148. commit 6991ce6ea07ee324c451a9360ac934ee04280d5f Author: TB Schardl <[email protected]> Date: Wed Nov 9 20:25:31 2022 -0500 [Tapir] Adjust Tapir Target API to fix handling of analyses when a target handles Tapir instructions manually, i.e., without using the standard infrastructure to outline tasks. commit 7bc03ea1ca310534377dce4ba925c71e0b370af8 Author: TB Schardl <[email protected]> Date: Tue Nov 8 11:50:14 2022 +0000 [InlineFunction,EHPersonalities] Add support for inlining functions that use the Cilk and GXX EH personalities. commit f623521ce37b8bf34a14b53f152e7b3f6e36153d Author: TB Schardl <[email protected]> Date: Sun Nov 6 23:02:33 2022 +0000 [test/Cilk] Fix test for syncregion debug info to work on Linux. commit df1786d82e4a8ac49dc093748272517767c4cd00 Author: TB Schardl <[email protected]> Date: Sun Nov 6 15:53:09 2022 -0500 [CGCilk,OpenCilkABI] Generate debug info on syncregion.start intrinsics to help ensure that the OpenCilk Tapir target can attach debug information to runtime-ABI calls it inserts. commit 166681fa315dd667633c11b6236207dfb0bf716b Author: TB Schardl <[email protected]> Date: Fri Nov 4 00:06:26 2022 +0000 [OpenCilkABI] Fix typo in comments. commit aa64c25ee1e20078dc9375d3c2a4382cf5c8000f Author: TB Schardl <[email protected]> Date: Fri Nov 4 00:05:26 2022 +0000 [InstCombine] Prevent InstCombine from sinking instructions from a continuation to after a sync instruction, as doing so is a pessimization. commit 22cb41d746a4367c9d689129c485a1393b1067c8 Author: John F. Carr <[email protected]> Date: Wed Oct 26 09:56:54 2022 -0400 Demangle mangled hyperobject type commit ff0cb780b62bbc8c081414db8fc26ffe34c5b19f Author: TB Schardl <[email protected]> Date: Sat Oct 22 09:05:16 2022 -0400 [CilkSanitizer] Spill complex arguments, including structures, onto the stack when passing them to hooks. commit 02690918b737504d0bf5ccfa1536a83b8009ae44 Author: TB Schardl <[email protected]> Date: Thu Oct 20 22:10:13 2022 -0400 [DebugInfo] Fix compiler crash when calling findDbgValues for a Value that has a ConstantAsMetadata. commit 30e93e3013ba3aaf2e8dc4edea6394b2792bbcad Author: TB Schardl <[email protected]> Date: Wed Oct 19 18:59:58 2022 -0400 [InlineFunction] Work around issue to allow inlining functions with different personalities where the caller is using the default personality. commit ddccecf6a5b4f0f9e316cb130fa6463af8e3ecc8 Author: TB Schardl <[email protected]> Date: Wed Oct 19 18:58:41 2022 -0400 [TapirUtils] Fix logic to promote calls to invokes in taskframes when taskframe.end precedes another important terminator, such as a reattach. commit c7f6aae56a9039fd78d28b3312ebb1cde3d8a3b9 Author: TB Schardl <[email protected]> Date: Wed Oct 19 17:58:17 2022 -0400 [TapirUtils] Fix logic to promote calls to invokes within tasks to handle cases where a taskframe comprises less than a single basic block. commit 7a808290c0045a23fcdc7b7ec6a27593a0be3a45 Author: TB Schardl <[email protected]> Date: Thu Oct 13 10:46:41 2022 +0000 [TapirUtils] Support promoting calls to invokes in tasks that are not reachable. This functionality avoids compiler crashes on some codes that are instrumented with Sanitizers and compiled with no optimizations. commit ecacc75102deeea488a53c54f418d68906c484ad Author: TB Schardl <[email protected]> Date: Thu Oct 13 10:39:50 2022 +0000 [TapirTaskInfo] Allow a task to use shared-EH spindles managed by an ancestor task that is not the immediate parent task. commit e1cdaaa5e896985c94d37af98e323ec1b1164dd0 Author: Tao B. Schardl <[email protected]> Date: Fri Oct 7 14:19:55 2022 -0400 [github] Update llvm-project-tests.yml Fix include path for updated macOS runner commit cde7a91d7bc2c425367d93e52f7e07bd53ab0ab0 Author: TB Schardl <[email protected]> Date: Mon Sep 19 01:21:53 2022 +0000 [test/Tapir] Update requirements on SLP-vectorization test. commit 307e3d7c452167b728ebcb20f256ae3c6651b506 Author: TB Schardl <[email protected]> Date: Sun Sep 18 21:32:54 2022 +0000 [Passes] Fix pass pipeline to run CSE after SLP vectorization. Running CSE before SLP vectorization can disrupt the SLP vectorizer's ability to determine how to vectorize code. commit 7541c785ba2cbe3cb0c8b48f674ee0ebfca84096 Author: John F. Carr <[email protected]> Date: Mon Sep 5 06:35:43 2022 -0400 Hyperobject lookups need special handling in any dependent context commit 0e31a81c0c1620e5526308057bd4c54433269e41 Author: TB Schardl <[email protected]> Date: Sun Aug 28 15:47:19 2022 +0000 [test/Tapir] Add regression test for linking null bitcode module. commit a653bce91d9461be3ebecff8c1a8e4dcbdc389c3 Author: John F. Carr <[email protected]> Date: Thu Aug 11 13:30:13 2022 -0400 Fill in all the missing pieces after failure to load bitcode commit 0b874f609e2fb47ba86d808c620d8b26dddac9f4 Author: John F. Carr <[email protected]> Date: Thu Aug 11 13:04:03 2022 -0400 Do not try to link null bitcode module commit 096f06752fee07f997892321732065471f9cfcce Author: TB Schardl <[email protected]> Date: Thu Aug 25 11:21:18 2022 +0000 [InlineFunction] Allow a function to be inlined into another with a different personality function if the callee simply uses the default personality function. This workaround addresses issue #127. commit 89918abac5655a23e4a83084fff2d72d09f3a1d1 Author: TB Schardl <[email protected]> Date: Thu Aug 25 11:09:59 2022 +0000 [github] Make workflows consistent with workflows in mainline LLVM. commit 7a24497661eea1267b1df503542e04bd824d3dbc Author: TB Schardl <[email protected]> Date: Mon Aug 1 13:29:44 2022 +0000 [CSI] Ignore unreachable basic blocks for instrumentation. Remove debug statement to fix issue #129. commit ab4e5b34f0fcb9c818267fdd0c800541f3d3a764 Author: TB Schardl <[email protected]> Date: Sun Aug 21 02:01:32 2022 +0000 [github] Update llvm-project-tests based on upstream changes. commit c2f58be9762b72edf4ac7a038a18ce41ef4a07e6 Author: TB Schardl <[email protected]> Date: Sun Aug 21 01:56:53 2022 +0000 [github] Disable issue-subscriber action. commit 35c54228228ef79e1458da1eb37a748f3f24ca2f Author: John F. Carr <[email protected]> Date: Sun Jul 24 12:47:07 2022 -0400 Fix crash on undeclared reducer callback commit 672bb71d9272a0867562e147058810df2400151e Author: TB Schardl <[email protected]> Date: Wed Jul 20 11:33:16 2022 +0000 [github] Update workflows for release. commit 615c152cec47318479e38c7e78aae6eadb8d5989 Author: TB Schardl <[email protected]> Date: Tue Jul 19 13:42:35 2022 +0000 [ToolChain] When an OpenCilk resource directory is specified, add the include directory within that resource directory to the include path. commit 6d6cc7e8dc7ebf6144d4e339613fc8b06709d821 Author: TB Schardl <[email protected]> Date: Mon Jul 18 11:58:48 2022 +0000 [CMakeLists] Add OpenCilk version number that is distinct from LLVM version number. commit 9493c3247b94dcccdafc1a9501933e81c0c2c395 Author: TB Schardl <[email protected]> Date: Sun Jul 17 15:35:05 2022 +0000 [CSI][ThreadSanitizer] Fix promotion of calls to invokes within Tapir tasks. Fixes issue OpenCilk/opencilk-project#113. commit 3ee74ab8798c20c599fe8a410f40025f7da94333 Author: John F. Carr <[email protected]> Date: Mon Jul 18 13:45:19 2022 -0400 Test for hyperobject with constructor but no destructor commit 683ff7fdeb85fc5943c71285c8cf4215f28b7f44 Author: John F. Carr <[email protected]> Date: Mon Jul 18 10:17:13 2022 -0400 Fix test for trivial destructor commit cb5dbb6e36d31a3720eb294f28eb459e1e26af91 Author: TB Schardl <[email protected]> Date: Thu Jul 14 11:44:37 2022 +0000 [github] Update workaround for building on macos-10.15 GitHub virtual environment. commit 461d443bb0eebbfda24d534bb8cda0f70624a232 Author: John F. Carr <[email protected]> Date: Sun Jul 10 14:45:12 2022 -0400 Merge reducer destructor callback into reduce callback. commit 1930b5aef735a070dabdf5d1656ccbcfd6fb829f Author: John F. Carr <[email protected]> Date: Sun Jul 10 14:23:01 2022 -0400 Visit statment children of HyperobjectType commit 9ff353d37b34ebc270792588675735e80ebc97af Author: TB Schardl <[email protected]> Date: Sun Jul 10 20:48:53 2022 +0000 [CREDITS] Expand CREDITS.TXT to reflect recent contributions. commit 451ce36119e7547bcd4068976d15483c6cda1d8b Author: TB Schardl <[email protected]> Date: Sun Jul 10 20:46:01 2022 +0000 [test/Tapir] Fix llvm test failues on non-x86 systems. commit 8321ebf8e6e19f46e4ceb48d465c590d9be65067 Author: TB Schardl <[email protected]> Date: Sun Jul 10 20:45:24 2022 +0000 [test/Cilk] Fix clang test failures on non-x86 systems. commit a508e80246f815e447db539e4db81d8992064d9a Author: TB Schardl <[email protected]> Date: Sun Jul 10 20:44:37 2022 +0000 [TapirUtils][SimplifyCFG][TaskSimplify] Remove taskframe intrinsics when serializing a detach where the task uses a taskframe. Clean up logic for serilizing detaches that immediately sync. commit bdede63111267ffc435ac880385ad6e74cce77ee Author: TB Schardl <[email protected]> Date: Fri Jul 8 14:13:34 2022 +0000 [BasicAliasAnalysis] Convert #define's to an enum class, to match code style of similar structures in LLVM. commit 249353b3f8076eb8de84e9330cd61006894c7abb Author: TB Schardl <[email protected]> Date: Fri Jul 8 11:51:48 2022 +0000 [TableGen] Change additions to CodeGenIntrinsic to match LLVM code style, to avoid merge conflicts down the road. commit cccd276bcc0cc541141e0cd6d8253e07bdcf8b09 Author: TB Schardl <[email protected]> Date: Thu Jul 7 19:29:19 2022 +0000 [SROA] Make SROA preserve the atomicity of load and store operations when it rewrites load and store operations. commit 1eb273e8d4c545ce17190463f1287fd0468f94e3 Author: TB Schardl <[email protected]> Date: Thu Jul 7 13:55:47 2022 +0000 [SimpleLoopUnswitch] Fix compiler crash when unswitching a parallel loop with task-exit blocks. commit 5e76b20e134f03620d6b8040aa8425e3a6abeb68 Author: TB Schardl <[email protected]> Date: Wed Jul 6 23:48:28 2022 +0000 [bindings/python] Update diagnostics test. commit ed514c2530691a5624ef20f4f5b03583e80e69b3 Author: John F. Carr <[email protected]> Date: Wed Jul 6 16:12:01 2022 -0400 Improve compatibility testing of hyperobject types commit 42a01ebcdcf8a9ac6db44ed9d5dae644f7d9ac42 Author: TB Schardl <[email protected]> Date: Wed Jul 6 19:33:24 2022 +0000 Fix a little formatting with clang-format. commit f2959caf0f419591cbf4b26b3a823df6f02c70f6 Author: TB Schardl <[email protected]> Date: Wed Jul 6 19:22:13 2022 +0000 [github] Cleanup path. commit 7d3ffda22243175e0c7b1a52ca8ba42d6c59b0f9 Author: TB Schardl <[email protected]> Date: Wed Jul 6 19:21:52 2022 +0000 [IntrinsicEmitter] Fix handling of new intrinsics, which fixes spurious test failures. Restore previous tests marked XFAIL. commit 0489a6fbecf17ad12c007e8197aa1c9de8be1d7f Author: John F. Carr <[email protected]> Date: Wed Jul 6 12:04:08 2022 -0400 Fix rebuild of hyperobject reference in template expansion commit 04db56e81f8b7d9684a08a47cf417079bf2ff019 Author: John F. Carr <[email protected]> Date: Wed Jul 6 11:18:59 2022 -0400 Test of reducer += inside a template expansion commit f738cbe7884ba00f9b1b4e33793a983889c732cd Author: John F. Carr <[email protected]> Date: Wed Jul 6 11:14:38 2022 -0400 Check that llvm.hyper.lookup is called only once commit 794bda39b9704f541960a1bc11f367f467e4bf62 Author: John F. Carr <[email protected]> Date: Tue Jul 5 14:00:02 2022 -0400 FreeBSD sanitizer needs -lstdthreads for mtx_init and related functions commit 021495ff738c68589d08c7e86dddfd10e81ff182 Author: John F. Carr <[email protected]> Date: Sun Jul 3 22:13:24 2022 -0400 Template instantiations with integer, null, or missing arguments can be hyperobjects commit 26c32b06b1860d4c85cb37cc24366f89930e36e7 Author: John F. Carr <[email protected]> Date: Sun Jul 3 13:33:00 2022 -0400 Try to unregister reducers the correct number of times commit c3178cc4a30d5b10844ffc642ec101f41c62187d Author: John F. Carr <[email protected]> Date: Fri Jul 1 12:04:29 2022 -0400 XFAIL test with duplicate unregister call commit 2bbb3e5fdc7bbd88bc7fa27895f3c9f15825b85b Author: John F. Carr <[email protected]> Date: Wed Jun 29 16:09:34 2022 -0400 Fix rebuild of hyperobject in using declaration commit de6d421bb9029fa25e4f2edd0b322556145b7434 Author: John F. Carr <[email protected]> Date: Tue Jun 21 13:57:40 2022 -0400 Clean up reducer callback order commit 635399a93aac7cbb7e7a7a76cafc790f23f30817 Author: John F. Carr <[email protected]> Date: Fri Jun 17 08:04:02 2022 -0400 Stricter type checking of reducer callback commit 32b2d8cd83676f12099d61a340477b99660fb64d Author: John F. Carr <[email protected]> Date: Thu Jun 16 16:54:12 2022 -0400 Handle overloaded function as reducer callback commit 1ad8fb0ec3f43beaaf9d02788e48dfca2662edf6 Author: John F. Carr <[email protected]> Date: Thu Jun 16 11:01:22 2022 -0400 Add noundef to expected LLVM IR commit 61bea1ff3305b0121b912ad44ce5e0355404a0cd Author: John F. Carr <[email protected]> Date: Thu Jun 16 09:57:52 2022 -0400 Syntactic hyperobjects commit 66e55994cb95312f4a25bb48c582cb8f0df70066 Author: TB Schardl <[email protected]> Date: Wed Jul 6 15:28:20 2022 +0000 [OpenCilkABI] Replace a SmallVector with an array. commit 89d05d95e4ab7533c4b2526968f0150e8e80e19a Author: TB Schardl <[email protected]> Date: Wed Jul 6 15:27:43 2022 +0000 [CilkSanitizer] Remove unused variables. commit 639dc0f74ca81837f888e146dd329b814ba24d2d Author: TB Schardl <[email protected]> Date: Tue Jul 5 12:30:55 2022 +0000 [Driver] Remove code to select alternate OpenCilk bitcode ABI file when pedigrees are enabled. commit ec10d525876570d0ac64c8b0328561864c606a7d Author: TB Schardl <[email protected]> Date: Thu Jun 30 21:18:09 2022 +0000 [OpenCilkABI] Adjust diagnostic handling for cleaner error messages. commit 5a9148a66b7bb8c394a841fbed0b866eaa98ab54 Author: TB Schardl <[email protected]> Date: Thu Jun 30 21:15:34 2022 +0000 [CudaABI] Resolve compiler warning temporarily. commit 8cea22dd0f232c533076029988a18b08017a3611 Author: TB Schardl <[email protected]> Date: Wed Jul 6 15:30:27 2022 +0000 [github] Update CPLUS_INCLUDE_PATH workaround to accommodate updates to macOS virtual environment. commit acef38cfe906cd7f6f01ee96b90ead9fd9a291b2 Author: TB Schardl <[email protected]> Date: Mon Jun 27 01:17:39 2022 +0000 [CSI] Properly emit diagnostic messages raised when linking a tool bitcode file. commit d0c5eca736f43ebbd51c9b914dddd3c2fa5fbe67 Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:39:20 2022 +0000 [gold-plugin] Add plugin options for Tapir lowering target and OpenCilk ABI bitcode file. commit d2ae9283a4171d918e7632214a2a6f4b6d08c2ba Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:38:31 2022 +0000 [InlineFunction] Fix stack overflow when inlining an invoked function that contains taskframe intrinsics that have not been split. commit 3edbf6c56d15bd382f3f0b8abb05bb42ecfc3cdf Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:34:48 2022 +0000 [CilkSanitizer] Add logic to synthesize default hooks for library functions that are not present in a linked tool bitcode file. commit c9b864da8c317240e1d8396d491775e741feabea Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:33:23 2022 +0000 [CilkSanitizer] Clean up synthesis and handling of MAAP checks. Enable load-store coalescing when potential racing instruction is local but not in the same loop. Cleanup code. commit dcf56d3b579a57a8354c4ea83a1cd1bc2eef125f Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:29:51 2022 +0000 [CSI][CilkSanitizer] Add property bit for loads and stores that are guaranteed to access thread-local storage. commit 2c15ea0c37c09a373cdfefea70db475fd8688bb7 Author: TB Schardl <[email protected]> Date: Sun Jun 26 18:26:46 2022 +0000 [TapirRaceDetect] Add method to get mod-ref information for a local race. Include accesses to thread-local variables for race detection. Cleanup code. commit 965c8cc439fbbaa71828e7f3a5d32c402e3743e0 Author: TB Schardl <[email protected]> Date: Wed Feb 16 15:51:36 2022 +0000 [CSI][CilkSanitizer] Draft change to support using a bitcode-ABI file for Cilksan. commit d2850fcd14b47a54f8c899fea53dfb5ea38388c0 Author: TB Schardl <[email protected]> Date: Wed Feb 16 15:46:39 2022 +0000 [CilkSanitizer] Add logic to aggressively search for debug information to attach to instrumentation hooks. commit c611385b3cd116c8acbe9c1bb90b987ae0829d2e Author: TB Schardl <[email protected]> Date: Wed Feb 16 15:44:08 2022 +0000 [CilkSanitizer] Fix type of sync-region-number arguments in hooks to match Cilksan driver ABI. commit 4cd1695c100c85578f2fd2819be41680dbae35b9 Author: TB Schardl <[email protected]> Date: Fri Jun 24 22:22:44 2022 +0000 [Kaleidoscope/Tapir] Update Tapir Kaleidoscope example for LLVM 14. commit 3b1b87304aef097a88de3e40af110825bcb4e999 Author: TB Schardl <[email protected]> Date: Fri Jun 24 17:57:57 2022 -0400 [OpenCilkABI] Properly emit diagnostic messages raised when linking a bitcode ABI file. commit 887184c964b3ff4b1293e51eb0297408aee993c2 Author: TB Schardl <[email protected]> Date: Fri Jun 24 14:38:48 2022 -0400 [lld] Fix lld handling of command-line arguments for Tapir lowering at link time on Darwin. commit d114aeb38e54f8334a6ca26f5f954ea0bd2b0bde Author: TB Schardl <[email protected]> Date: Fri Jun 24 13:39:43 2022 +0000 [lld][LTO] Update lld and LTO to pass flags for Tapir lowering at link time. Based on changes by George Stelle <[email protected]>. commit 6f01c4f0a5a475ed166c41e8486e97e3ffbfa42c Author: TB Schardl <[email protected]> Date: Fri Jun 24 11:09:46 2022 +0000 [MemoryBuiltins] Add method to get the arguments to a library allocation function, and use that method to simplify the logic in CilkSanitizer and CSI to instrument allocation functions. commit 788723fdd51840ca9fb712d0388c848f1e869016 Author: TB Schardl <[email protected]> Date: Thu Jun 23 18:02:02 2022 +0000 [OpenCilkABI] Make the __cilkrts_stack_frame_align variable linkage private, to avoid linking issues when code is compiled with -fopencilk and no optimizations. Update regression tests with new OpenCilk ABI bitcode file. commit 49a91d69042012127355821db819d1b8c439fb2c Author: TB Schardl <[email protected]> Date: Thu Jun 23 17:58:06 2022 +0000 [test/Tapir] Fix test case for rebase onto LLVM 14. commit f66e80d84bebab348805349c443b4d9bb5f11a80 Author: TB Schardl <[email protected]> Date: Thu Mar 24 19:22:06 2022 +0000 [LoopUnroll] Put custom GraphTraits in llvm namespace, to appease GCC. commit 59b4c1c88f598a5452cd2455851838c0b5d4d347 Author: TB Schardl <[email protected]> Date: Fri Mar 18 13:46:44 2022 +0000 [LoopUnroll] Clone task-exit blocks similarly to ordinary loop blocks during loop unrolling. commit 5a0c91c6aabd5f8eafeb0028061a6dbc23f6e552 Author: John F. Carr <[email protected]> Date: Fri Mar 11 11:52:24 2022 -0500 Read __cilkrts_stack_frame alignment from bitcode if available commit 02012923412b9310c713fa41a55600aaacf94256 Author: TB Schardl <[email protected]> Date: Tue Jun 21 12:59:54 2022 +0000 [IndVarSimplify] Add TapirIndVarSimplify pass, a version of the IndVarSimplify pass that applies only to Tapir loops. Run TapirIndVarSimplify before loop stripmining to help ensure that Tapir loops can be stripmined after other optimizations, such as loop peeling. Addresses issue #88. commit 77c8b63bb7172ccbd7daf53f2f952d4fc2dca3e6 Author: TB Schardl <[email protected]> Date: Tue Jun 21 12:53:17 2022 +0000 [OpenCilkABI] Ensure that debug information is attached to __cilkrts_enter_landingpad calls. commit 11d18c63618e13e27f3d2f6dcd8abc6301abe9c5 Author: TB Schardl <[email protected]> Date: Tue Jun 21 12:51:12 2022 +0000 [LoopSpawningTI] Set the debug location of a tapir.loop.grainsize intrinsic call to match the loop it applies to. commit fc811c47384077332dd78f32a98b2cd376634be3 Author: TB Schardl <[email protected]> Date: Tue Jun 21 12:49:31 2022 +0000 [OpenCilkABI] Fix compiler warning about unused variable. commit cb26ec1ad0e0cd1be88e9e9f99c165ed3493aba0 Author: TB Schardl <[email protected]> Date: Sun Jun 19 08:01:04 2022 -0400 [AArch64RegisterInfo] Fix AArch64 code generation to properly use the base register for stealable functions. commit cdd5eae928e63d4f2d117288ac6d1fce037edbe6 Author: TB Schardl <[email protected]> Date: Mon Jun 13 11:29:55 2022 +0000 [CGCilk] Fix code generation of unreachable _Cilk_sync statements. Fixes issue #93. commit 42bb03c984419251c1d5f991584f962603dbd6a1 Author: TB Schardl <[email protected]> Date: Mon Jun 13 11:27:19 2022 +0000 [Tapir] Remove some uses of getElementType. commit 6b7df525dafe13bd85ef2dc45e0c20812378041f Author: TB Schardl <[email protected]> Date: Sun Jun 12 18:26:20 2022 +0000 [TailRecursionElimination] When eliminating a tail call that is separated from a return by only a sync, defer reinserting syncs into return blocks until tail calls have all been eliminated. This change helps TRE remove multiple tail calls that are each separated from a common return by a sync. commit c76ab34aaeb322bdd10445bec97aad0f0903a6e0 Author: TB Schardl <[email protected]> Date: Sun Jun 12 18:23:44 2022 +0000 [TapirUtils] When splitting blocks around taskframe intrinsics, try to ensure that a branch inserted after a taskframe.end intrinsic has debug info. commit 1abcc7a38ce6c82351c28abb558da0c419ab54d9 Author: TB Schardl <[email protected]> Date: Sun Jun 12 18:21:56 2022 +0000 [SimplifyCFG] Simplify a sync when it immediately leads to another sync in the same sync region. Improve logic for simplifying branches around Tapir instructions. commit 2684472245e9b1b5ce3713e8c492adcd9857a77f Author: TB Schardl <[email protected]> Date: Sun Jun 12 18:18:51 2022 +0000 [Outline] When outlining a helper function, remove any prologue data cloned from the parent function onto the helper. Addresses issue #77. commit fe8ff8f3f79949122d8893a8928a1fde965b4427 Author: TB Schardl <[email protected]> Date: Sun Jun 12 18:15:35 2022 +0000 [CSI,CilkSanitizer] Add CSISetup pass to canonicalize the CFG before instrumentation when the canonicalization does not preserve analyses. commit 7003d3570447576b00d99aad7287c28b2ce4ab1e Author: TB Schardl <[email protected]> Date: Sun Jun 12 14:36:15 2022 +0000 [test/Cilk] Add triple command-line argument to test. commit 66f1485b58a794d4db9f17fb168f3aa91eb7e9bd Author: TB Schardl <[email protected]> Date: Sun Jun 12 14:34:40 2022 +0000 [cindex.py] Incorporate Cilk changes into Python bindings. commit 3d8b1e881c1e0d1285f07ddfac99f0898d908b81 Author: TB Schardl <[email protected]> Date: Sat Jun 11 21:06:15 2022 +0000 [github] Fix GitHub workflows for opencilk-project. commit 004a118d1f18670af1499720318d4d09c5940c5d Author: TB Schardl <[email protected]> Date: Sat Jun 11 20:59:23 2022 +0000 Bug fixes for rebase onto LLVM 14.0.5 commit 9626886e087a11dcfaffb8998499aabfe2855a12 Author: TB Schardl <[email protected]> Date: Sat Jun 4 11:38:10 2022 +0000 [Local] Fix bug when removing the unwind destination of a detach insrtuction that is used by multiple detach instructions. commit 323bfeded53653b3f98a03d682ee00126c79192b Author: TB Schardl <[email protected]> Date: Thu Mar 10 01:14:28 2022 +0000 [llvm/test] Cleanup and fix a couple Tapir regression tests. commit 3a36939d4a5217c21dae4f567972112900bea426 Author: TB Schardl <[email protected]> Date: Mon Mar 7 22:58:48 2022 +0000 Bug fixes for rebase onto LLVM 13.0.1 commit 269b232fe59a569a8c1fc6294bf30f5752c6fd38 Author: TB Schardl <[email protected]> Date: Wed Feb 16 15:29:24 2022 +0000 [cmake] Propagate path to llvm-link tool when adding external projects. commit 01aa4fb1628661cb8da8c1b8888be1eec31bd6f0 Author: TB Schardl <[email protected]> Date: Wed Feb 16 14:55:52 2022 +0000 [cmake] Add more dependencies between components. commit 34504b8abbab440563f728c517900c373fd04b7f Author: George Stelle <[email protected]> Date: Wed Oct 27 09:05:52 2021 -0600 [cmake] Added IRReader dependency to instrumentation component commit 20452488ed2428f9f46e8ab6f36776feb23ae955 Author: TB Schardl <[email protected]> Date: Sun Jan 9 00:34:33 2022 +0000 [test/Tapir] Fix output path for GCOV test. commit 755042ce8700e5051cd7fc03289a718824a54357 Author: TB Schardl <[email protected]> Date: Sat Jan 8 21:29:45 2022 +0000 [GCOVProfiling] Ensure that GCOVProfiling does not try to split critical edges from detach instructions. commit d961aa51938981ba3f11625b269c3d0f9332adcf Author: TB Schardl <[email protected]> Date: Wed Dec 22 19:57:12 2021 +0000 [Tapir][TapirUtils] Add logic to maintain debug locations to enable inlining of bitcode ABI functions with debug information. commit 171342baac4cb817ab415b5c8266b70b3142c314 Author: TB Schardl <[email protected]> Date: Sun Nov 21 18:21:01 2021 +0000 [ParseCilk][CGCilk] Fix compiler crashes on bad _Cilk_for inputs. Co-authored-by: John F. Carr <[email protected]> commit 1b0608b28fa1954d27bab2859e9cf174d9789da8 Author: TB Schardl <[email protected]> Date: Thu Oct 28 19:45:18 2021 +0000 [TapirRaceDetect] Fix crash when checking an indirect call instruction in a block terminated by unreachable. commit 515ee9978d72e11be8ea4e50e04d8c4165aafd07 Author: TB Schardl <[email protected]> Date: Thu Oct 28 19:43:08 2021 +0000 [MachineSink] Refine handling of EH_SjLj_Setup constructs to fix performance regressions. commit 309ea1ba51d8689e823bbb8107860c89e6986bf3 Author: TB Schardl <[email protected]> Date: Sun Oct 24 00:26:03 2021 +0000 [MachineSink] Ensure that arthimetic that stores results onto the stack is not sunk into a setjmp construct, specifically, between the longjmp destination and the test. Addresses issue #78. commit 77c63f94293aadfb088474ca655b28abe24fd25c Author: TB Schardl <[email protected]> Date: Sun Oct 24 00:17:48 2021 +0000 [CGCilk] Fix cilk_for-loop code generation when emission of loop variable may introduce new basic blocks. Addresses issue #77. commit 7bfda87d06194f5bf2a539513cf590b1be8b5b31 Author: TB Schardl <[email protected]> Date: Sat Oct 16 20:17:57 2021 +0000 [InlineFunction] Fix logic to update PHI nodes in an exceptional block when inlining tasks at an invoke instruction. Addresses issue #73. commit 9ff936ce98ef4121fd43b3458302ae5fe2d0e1c2 Author: TB Schardl <[email protected]> Date: Sat Oct 16 19:15:07 2021 +0000 [CilkSanitizer] Ensure that CilkSanitizer pass properly handles Tapir intrinsics in not within any task, i.e., in unreachable blocks. commit cbd90428774adc9b3753993c3002cd8c84973a85 Author: TB Schardl <[email protected]> Date: Sat Oct 16 19:11:43 2021 +0000 [DependenceAnalysis] Fix crash in dependence analysis when analyzing memory references in different loop nests. commit f3aae1752175752975be1b23fe6bde48dec8345d Author: TB Schardl <[email protected]> Date: Sun Sep 26 19:54:51 2021 +0000 [SemaExpr] Fix Sema test to disallow _Cilk_spawn on the right-hand side of a compound assignment. commit e2908075ed24effe71403153d07fa1122bc77342 Author: TB Schardl <[email protected]> Date: Fri Sep 24 02:25:42 2021 +0000 [TapirRaceDetect] Add logic to handle pointers that cannot be stripped when checking whether a pointer is captured. commit 8154ee135b6cd516068448761bd51d4ff167ee82 Author: Alexandros-Stavros Iliopoulos <[email protected]> Date: Tue Sep 7 20:13:03 2021 +0000 Create issue template for bug reports commit 463b18d8708ea71b85cebc0b5fe165527cc71fcd Author: William M. Leiserson <[email protected]> Date: Mon Jun 28 20:41:33 2021 -0400 [Tapir] Minor modifications to the OCaml bindings; Add OCaml bindings to the regression test suite. commit 42e23a547836772d239b0c7c15a6005810fa6047 Author: William M. Leiserson <[email protected]> Date: Fri Jun 25 15:04:48 2021 -0400 [Tapir] Update OCaml bindings. commit 84ac2833abfb2037cc0d74e9a6934a233abf26e3 Author: TB Schardl <[email protected]> Date: Thu Sep 16 03:16:17 2021 +0000 [CilkSanitizer][Kaleidoscope] Start deprecating the JitMode option, as it no longer seems necessary with recent changes to LLVM's JIT infrastructure. Clean up Tapir Kaleidoscope code. commit fc132e62d5297bd580febe0be5f8ebd9484e19aa Author: TB Schardl <[email protected]> Date: Sun Sep 12 19:15:25 2021 +0000 [OpenCilkABI] Mark all functions internalized from an external bitcode file as available_externally, regardless of whether OpenCilkABI uses that function. commit 0bc52e4863eeaa9f8824cbf494c9fb28cbc6885f Author: TB Schardl <[email protected]> Date: Sun Sep 12 19:13:00 2021 +0000 [OpenCilkABI] Remove argmemonly attribute on spawning functions to ensure that changes to the stackframe flags are properly observed when a spawning function calls another spawning function. commit 23b6de4ef8f5830059e43c47aa9fdea198c7a57e Author: TB Schardl <[email protected]> Date: Sun Sep 12 19:06:45 2021 +0000 [PassBuilder][PassManagerBuilder] Run LICM before loop spawning to ensure loop-invariant conditions appear outside of the loop. Addresses #66. commit 74b69d346fd5b539e049afc7862f257b8d61ee4c Author: TB Schardl <[email protected]> Date: Sun Sep 12 19:04:04 2021 +0000 [TapirLoopInfo] Fix handling of Tapir loops with loop-variant conditions. Fixes #66. commit a26d892c951182fae0231875cbe21b0e6bd4805b Author: TB Schardl <[email protected]> Date: Mon Sep 6 22:10:28 2021 +0000 [CilkSanitizer][CSI] Avoid inserting hooks or PHI nodes in placeholder destinations of task exits. This commit addresses #62. commit 8b7e52844ccedfc28c9ca8f701762c7cf51151bf Author: TB Schardl <[email protected]> Date: Fri Sep 3 02:13:19 2021 +0000 [OpenCilkABI] Remove redundant code from OpenCilkABI, and add documentation about attributes and linkage for the CilkRTS ABI functions. commit 5f5b3c197d41cbcf867f93b3eecf483a2d206c4d Author: TB Schardl <[email protected]> Date: Tue Aug 31 15:31:20 2021 -0400 [TapirTaskInfo] Remove false assertion that the continuation spindle of a detach must not be the same as the spindle containing the detach itself. commit 0f1afa2b0cb90bc258542cf648e60020376d2109 Author: TB Schardl <[email protected]> Date: Mon Aug 30 23:57:17 2021 -0400 [Darwin] Automatically use ASan-enabled version of OpenCilk runtime system on Darwin when the Cilk program is compiled with ASan. commit eeef2443122ae71e57f22a5944ee28ddbbad34b8 Author: TB Schardl <[email protected]> Date: Tue Aug 31 02:20:17 2021 +0000 [Driver] Automatically use ASan-enabled version of OpenCilk runtime system when the Cilk program is compiled with ASan. commit aaff3f5db5c5136bbea164bcd3b1000a3f2d98b7 Author: TB Schardl <[email protected]> Date: Thu Aug 26 12:42:12 2021 +0000 [Kaleidoscope][CSI] Fix Tapir Kaleidoscope code to link against the OpenCilk and Cilksan runtime libraries and run initializers for Cilksan. - Revert changes to general KaleidoscopeJIT code, and add custom KaleidoscopeJIT to Tapir Kaleidoscope example, which supports loading external libraries and running initializers. - Fix CSI jitMode operation to emit llvm.global_ctors entry even when used in a JIT. This CSI change complements recent changes to how Orc handles initializers. commit 0870a416b689118bc077793433375c158e017a5d Author: TB Schardl <[email protected]> Date: Tue Aug 24 03:48:57 2021 +0000 [Kaleidoscope] Fix up the Tapir Kaleidoscope example code to use the OpenCilk Tapir target. Some additional work is needed to fix running parallel code using the OpenCilk runtime or Cilksan. commit 3cdb414d46ecfabb2f2932f0519cd988e2e79327 Author: TB Schardl <[email protected]> Date: Tue Aug 24 03:16:57 2021 +0000 [CMake] Add Vectorize as a link component of TapirOpts LLVM component library. commit ce08dc233d5385e685fb5d2470a9d5d373adc63e Author: TB Schardl <[email protected]> Date: Tue Aug 24 03:15:32 2021 +0000 [LoopStripMinePass] Ensure that loop-stripmining inserts nested syncs when targetting OpenCilk. commit 61501bb8f941d4de750691f26865a6c6f085452d Author: TB Schardl <[email protected]> Date: Tue Aug 24 02:59:38 2021 +0000 [Driver][CodeGen] Pass OpenCilk runtime-ABI bitcode file to the OpenCilkABI Tapir target as a Tapir-target option. commit a74202e24967355cbc8f6940ab359453d65633ee Author: TB Schardl <[email protected]> Date: Tue Aug 24 02:46:42 2021 +0000 [OpenCilkABI] Get OpenCilk runtime-ABI bitcode file from OpenCilk Tapir-target option. commit b8bcb0430276c826aba92af464d318136338e5ca Author: TB Schardl <[email protected]> Date: Tue Aug 24 02:44:17 2021 +0000 [TapirTargetIDs] Add facility to pass options to specific Tapir targets using TLI. Add OpenCilkABI Tapir-target option. commit fabb24be55bf96e6aeec5bbef3f7861f5ecc29b9 Author: TB Schardl <[email protected]> Date: Thu Aug 19 14:23:01 2021 +0000 [Tapir] Don't propagate the noreturn attribute to outlined helper functions when the parent is marked noreturn. Similarly, when using DAC loop spawning, don't propagate norecurse to the outlined helper function. commit 6e0197429783874fe5a934f766ff8f5c58b52da2 Author: TB Schardl <[email protected]> Date: Mon Aug 9 15:54:59 2021 +0000 [Cilk] Fix the scope definition on _Cilk_scope's, and add basic jump diagnostics to disallow jumping into the middle of a _Cilk_scope. Add a couple simple regression tests for _Cilk_scope's. commit d1632c7a735f24046020633e0b2f001829628481 Author: TB Schardl <[email protected]> Date: Sun Aug 8 22:24:25 2021 -0400 [GVN] Prevent GVN from splitting critical detach-continue edges. commit afef9ca56015cd17a667ff1e0e98c8b43bc2a5e4 Author: TB Schardl <[email protected]> Date: Sun Aug 8 22:21:53 2021 -0400 [LoopStripMine] Fix test to not require the same loop-cost analysis on all systems. commit 96a4f28c0ef76f6e344c8b35b2e54d74e6e39821 Author: TB Schardl <[email protected]> Date: Sat Aug 7 12:02:05 2021 +0000 [OpenCilkABI] Add handling of tapir.runtime.{start,end} intrinsic calls to guide insertion of __cilkrts_enter_frame and __cilkrts_leave_frame ABI calls. commit ec11e602a464d9032015322e8b924a2161825b93 Author: TB Schardl <[email protected]> Date: Sat Aug 7 11:56:17 2021 +0000 [OpenCilkABI] Update target to reflect new runtime ABI. Update error handling when the OpenCilkABI target fails to load the runtime ABI bitcode file (and -debug-abi-calls is not specified). commit 3cc10b1efcd02db417bf1d01201c853bcefbe3f5 Author: TB Schardl <[email protected]> Date: Fri Aug 6 15:01:45 2021 +0000 [TapirToTarget] Allow Tapir targets to maintain mappings keyed on taskframe-entry blocks in the original function. Add a separate processing routine to handle functions that do not spawn and are not spawned. commit c5b4e5161f69ad8b2be65319e2ad7fbed0309a11 Author: TB Schardl <[email protected]> Date: Fri Aug 6 14:46:22 2021 +0000 [LoopStripMine] Fix handling of shared EH blocks so that, if the new parallel loop after stripmining is spawned, then shared EH blocks do not end up shared between the spawned loop and the parent task. This commit addresses issue #58. commit 7e879619c1e50f411cabf5b3253c39e99e6586e6 Author: TB Schardl <[email protected]> Date: Fri Aug 6 14:34:53 2021 +0000 [TapirUtils] Allow passes to clone exception-handling blocks of a task. Allow SerializeDetach and cloneEHBlocks to update LoopInfo. Fix dominator-tree updating logic in SerializeDetach and cloneEHBlocks.f commit 79eca2d7caaed0148fa2598ed4839265ab0862ad Author: TB Schardl <[email protected]> Date: Fri Aug 6 13:51:48 2021 +0000 [TapirTaskInfo] Fix identification of unassociated-taskframe spindles when taskframe.create and taskframe.end are in the same basic block. commit 771f986363ca1e72be699720f2520cf516c2ef88 Author: TB Schardl <[email protected]> Date: Mon Aug 2 21:01:39 2021 +0000 [CGCilk][Intrinsics] Associate tapir.runtime.end intrinsics with tapir.runtime.start intrinsics using tokens. Update _Cilk_scope code generation accordingly. Avoid inserting tapir.runtime.{start,end} intrinsics unnecessarily in spawning functions. commit 702c4169fbbbe9dfb2e77550d9994f9ac0ec53be Author: TB Schardl <[email protected]> Date: Thu Jul 29 13:42:10 2021 +0000 [CodeGenFunction][CGCilk] Optimize emission of tapir_runtime_{start,end} intrinsics when nested _Cilk_scopes are used within a function. commit feed355d73e532cdfb0615f223bb15a6c98f6b8a Author: TB Schardl <[email protected]> Date: Thu Jul 29 13:36:12 2021 +0000 [TapirToTarget][LoweringUtils] Add generic handling of tapir_runtime_{start,end} intrinsics to Tapir targets. commit 007f01951350f123d20593510b076e1ec2d059c4 Author: TB Schardl <[email protected]> Date: Sat Jul 24 16:15:06 2021 +0000 [clang/Cilk][Intrinsics] Add _Cilk_scope construct, a lexical scope that guarantees upon exit to _Cilk_sync any tasks spawned within the scope. Add intrinsics to allow the _Cilk_scope construct to mark where a Tapir-target runtime may be started and stopped at the beginning and end of the scope, respectively. These intrinsics are meant only to be hints to a Tapir-target runtime, not definitive markers for where the runtime must be started or stopped. This requirement is necessary to make it safe to nest _Cilk_scopes, either within the same function or indirectly via function calls. No particular compiler optimizations are included for these intrinsics, although some optimizations may be useful to add in the future. commit e48b168f12dbb2f8d11d47282b63b24a42ac9cbf Author: TB Schardl <[email protected]> Date: Sat Jul 24 16:01:26 2021 +0000 [CilkSanitizer][CSI] Extend Cilksan ABI and instrumentation to support race-detecting some Cilk programs that throw exceptions. commit f795e7fb47e17eb99dd569d6c64826cc5086afdc Author: TB Schardl <[email protected]> Date: Thu Jul 22 22:58:25 2021 +0000 [CodeGen][Sema] Cleanup Cilk-related code, primarily around code-generation for implicit syncs. commit 84c3ff60e5c6c81f9f6fb26da5659238d55b8f4b Author: TB Schardl <[email protected]> Date: Thu Jul 22 21:25:31 2021 +0000 [StmtCilk] Cleanup implementation of CilkSpawnStmt. commit 671a5eaf1f53881640c560335e06ff0b9b8c6395 Author: TB Schardl <[email protected]> Date: Thu Jun 3 14:41:35 2021 -0400 [TapirLoopInfo] When searching for a primary induction variable for a Tapir loop, select the widest induction-variable type only among the possible primary induction variables, i.e., integer IVs that start at 0 and have step value 1. This change allows LoopSpawning to handle Tapir loops with multiple IVs where the primary IV is not necessarily the integer IV with the widest type. commit 0be4014fed4d285f8e257eb675ef2d0c2a939070 Author: TB Schardl <[email protected]> Date: Thu Jun 3 14:38:08 2021 -0400 [test/Tapir] Mark regression tests requiring an x86_64 target. commit fbc80f0d6f86bb924d39073ad04d9584ecbb03dc Author: TB Schardl <[email protected]> Date: Thu Jun 3 08:07:28 2021 -0400 [compiler-rt/cmake] Create custom target for outline atomic helpers, and use this custom target for targets that use these helpers. This additional target resolves a race that arises with the Makefile generator in creating outline atomic helpers for multiple builtin libraries in parallel. commit 5fd97de28c1d4b440bd6eb1efaf4bbbeb4289d68 Author: TB Schardl <[email protected]> Date: Tue Jun 1 10:06:42 2021 -0400 [Darwin] Update logic to link OpenCilk runtime on MacOS to handle changes to OpenCilk runtime build system. commit e5dd814d97647f56d7a454e446b79ab431883940 Author: TB Schardl <[email protected]> Date: Fri May 28 18:18:12 2021 +0000 [ToolChain] Update logic to link OpenCilk runtime to handle changes to OpenCilk runtime build system. Specifically, add logic to handle the case where the runtime library is compiled with the target architecture added to the library filename. commit fd07ddd86cc63e12dc986be768751d1791aff546 Author: TB Schardl <[email protected]> Date: Thu May 27 14:29:11 2021 +0000 [CodeGen][Instrumentation] Resolve some compilation warnings when building with newer compilers. commit f418e5a3b1ddda2f9883aee89eead46cac58f408 Author: TB Schardl <[email protected]> Date: Fri Apr 30 12:01:52 2021 +0000 [CSI] Adjust code for adding CSI's constructor to llvm.global_ctors, in order to help bugpoint work on compiler crashes involving CSI and related instrumentation passes. commit de41edb32cc49a8ec5707d42054333c449420e41 Author: TB Schardl <[email protected]> Date: Fri Apr 30 11:43:24 2021 +0000 [InstCombine] Optimize tests for removing Tapir intrinsics. commit 79043b03bb7a0c573f8c1048a1bfce6ba1096d13 Author: TB Schardl <[email protected]> Date: Thu Apr 29 17:03:20 2021 +0000 [Outline] Fix processing of debug metadata during Tapir outlining that causes metadata in llvm.dbg intrinsics to be incorrectly mapped. commit 2025e34e4f69ca2b6caae36e11af2da73b7d27ec Author: TB Schardl <[email protected]> Date: Thu Apr 29 17:01:08 2021 +0000 [CilkSanitizer][CSI] Fix handling of null pointers, intrinsics, and function-pointer arguments. commit 3042493f962a4d3e85a5e26edd0e86b0b7534df7 Author: TB Schardl <[email protected]> Date: Thu Apr 29 14:01:28 2021 +0000 [CilkSanitizer][CSI] Modify splitting of simple unreachable-block predecessors to preserve CFG invariants around detached.rethrow instructions. commit 4373949d008613febfd00d93ffeb8514d835065d Author: TB Schardl <[email protected]> Date: Mon Apr 26 18:26:14 2021 +0000 [LoweringUtils] Handle PHIs in the unwind destination of a detach when outlining Tapir tasks. commit 66bb692a74308dae0b305e1159ee0e8c7b0d4dee Author: TB Schardl <[email protected]> Date: Mon Apr 26 14:56:25 2021 +0000 [LoopStripMine] Fix maintenance of PHI nodes in the unwind destination of a Tapir loop during stripmining. commit af7ec77c5fa74ed2b851bc407ac38a1527b2304d Author: TB Schardl <[email protected]> Date: Mon Apr 26 12:31:34 2021 +0000 Bug fixes for rebase onto LLVM 12.0.0 commit a6a7624642aa524ffebf45a64d56278dbddf503f Author: TB Schardl <[email protected]> Date: Mon Apr 5 13:07:08 2021 +0000 [LoopUtils] Fix typo in stripmine.enable attribute name. commit fe52c8f8fecbe1cd0f2e236a4c1c87638df667a9 Author: TB Schardl <[email protected]> Date: Mon Apr 5 13:05:54 2021 +0000 [InlineFunction] Update PHI nodes properly when function inlining introduces a taskframe.resume or detached.rethrow. commit f6793e3030e954f8c6c0a5a7e9a87bce1d4373a3 Author: TB Schardl <[email protected]> Date: Mon Apr 5 13:04:01 2021 +0000 [LoweringUtils] Update PHI nodes in continuation blocks of outlined task frames. commit 42e1e5f340a61dbd096036ad819f67f9ac64bfa1 Author: TB Schardl <[email protected]> Date: Mon Apr 5 13:01:59 2021 +0000 [TapirToTarget] Ensure that Tapir lowering never attempts to process a function with no body. commit 18ee06baede9a40f3c7e3d6592aed925b42bb559 Author: TB Schardl <[email protected]> Date: Sun Mar 28 17:50:37 2021 +0000 [OpenCilkABI] Adjust how runtime-ABI functions are marked to ensure they never end up defined in the final object file. commit e184a4cfda51c905b14f543747954c50b090809e Author: TB Schardl <[email protected]> Date: Sun Mar 28 17:15:12 2021 +0000 [CilkSanitizer] Fix computation of MAAPs and function race info to ensure races are properly checked and reported. commit f5fd041fa362ddbb6eca5d2c7e30783465226958 Author: TB Schardl <[email protected]> Date: Mon Mar 22 13:38:52 2021 +0000 [Driver] Add -shared-libcilktool and -static-libcilktool flags to control whether a Cilktool's runtime library is linked statically or dynamically. commit a0e840c07e13d0eadc4fa7e5a7cc8c70b5d407c7 Author: TB Schardl <[email protected]> Date: Mon Mar 22 03:30:09 2021 +0000 [CommonArgs] Prevent Cilksan from being linked twice when dynamically linked. commit 82a1f870afce0225f0e657f3d898e7140907645d Author: TB Schardl <[email protected]> Date: Fri Mar 19 13:01:00 2021 +0000 [MemorySSA] Change MemorySSA to depend on TaskInfo, and update relevant LLVM passes to ensure the legacy pass manager supports this dependency. commit a40d6019e1f0fa40aa166fc99cb1ee5aab77e783 Author: TB Schardl <[email protected]> Date: Fri Mar 19 12:57:17 2021 +0000 [RegisterCoalescer] Enable limited register-coalescing in functions that exoose returns-twice only via LLVM's setjmp intrinsic. commit 66a5bf8c2c9bcdcad85e8d3cabf78d19901cd5b9 Author: TB Schardl <[email protected]> Date: Fri Mar 19 12:55:30 2021 +0000 [CodeGen] Add a MachineFunction property to identify when a function exposes returns-twice via a function other than LLVM's setjmp intrinsic. commit 609365a91dbc582bed89f5cf64a189d1a87b3c21 Author: TB Schardl <[email protected]> Date: Fri Mar 19 12:50:11 2021 +0000 [MachineSink] Remove workaround for machine-sink optimization in the presence of setjmps, which no longer seems necessary as of LLVM 10. commit 9148d3000e52a414a01096820e1c0745ffa59410 Author: TB Schardl <[email protected]> Date: Fri Mar 19 12:45:29 2021 +0000 [SimplifyCFGPass] When removing useless syncs, don't use the placement syncregion.start intrinsics to direct the CFG traversal. commit c3141b3974d7e485168b5e1b6fe9fd11f8ceb219 Author: TB Schardl <[email protected]> Date: Fri Mar 19 12:42:23 2021 +0000 [JumpThreading] Fix jump-threading to accommodate Tapir instructions when threading through two blocks. commit b422181ad7e731fb663b98f835dd47c7727f129d Author: TB Schardl <[email protected]> Date: Tue Mar 9 19:24:24 2021 +0000 Bug fixes for rebase onto LLVM 11.1.0 commit 600300bc4c1c17ba04d2e3dd7da202b37e826c48 Author: TB Schardl <[email protected]> Date: Thu Mar 4 21:08:55 2021 +0000 …
jpinot
pushed a commit
to jpinot/llvm-project
that referenced
this issue
Apr 9, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hey! I was tinkering around with clangd to use with a few modifications locally and found that the data transmitted via base64 is getting corrupted.
llvm-project/clang-tools-extra/clangd/SemanticHighlighting.cpp
Lines 289 to 315 in 82879c2
I replaced the built-in implementation with another found on GitHub and my issue was alleviated (modified to support llvm vector type):
https://github.com/ReneNyffenegger/cpp-base64/blob/a8aae956a2f07df9aac25b064cf4cd92d56aac45/base64.cpp#L35-L85
Example:
I ran this code:
output:
Indeed, running the strings back through any random online decoder yields different results:
Using https://cryptii.com/pipes/base64-to-hex:
cpp-base64:

llvm encodeBase64:

Encoding also on this random site gives same results as cpp-base64:

The text was updated successfully, but these errors were encountered: