-
Notifications
You must be signed in to change notification settings - Fork 12.2k
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
Getting started documentation is inaccurate #73
Labels
Comments
Closed
tarunprabhu
pushed a commit
to tarunprabhu/kitsune
that referenced
this issue
Apr 4, 2023
when inlining tasks at an invoke instruction. Addresses issue llvm#73.
pmccormick
pushed a commit
to lanl/kitsune
that referenced
this issue
May 17, 2023
when inlining tasks at an invoke instruction. Addresses issue llvm#73.
stelleg
pushed a commit
to stelleg/llvm-project
that referenced
this issue
Jun 13, 2023
when inlining tasks at an invoke instruction. Addresses issue llvm#73.
tarunprabhu
pushed a commit
to tarunprabhu/kitsune
that referenced
this issue
Jul 25, 2023
when inlining tasks at an invoke instruction. Addresses issue llvm#73.
tarunprabhu
pushed a commit
to tarunprabhu/kitsune
that referenced
this issue
Sep 26, 2023
when inlining tasks at an invoke instruction. Addresses issue llvm#73.
tarunprabhu
pushed a commit
to tarunprabhu/kitsune
that referenced
this issue
Oct 12, 2023
when inlining tasks at an invoke instruction. Addresses issue llvm#73.
DavidSpickett
referenced
this issue
in DavidSpickett/llvm-project
Nov 1, 2023
This removes explicit invalidation of vg and svg that was done in `GDBRemoteRegisterContext::AArch64Reconfigure`. This was in fact covering up a bug elsehwere. Register information says that a write to vg also invalidates svg (it does not unless you are in streaming mode, but we decided to keep it simple and say it always does). This invalidation was not being applied until *after* AArch64Reconfigure was called. This meant that without those manual invalidates this happened: * vg is written * svg is not invalidated * Reconfigure uses the written vg value * Reconfigure uses the *old* svg value I have moved the AArch64Reconfigure call to after we've processed the invalidations caused by the register write, so we no longer need the manual invalidates in AArch64Reconfigure. In addition I have changed the order in which expedited registers as parsed. These registers come with a stop notification and include, amongst others, vg and svg. So now we: * Parse them and update register values (including vg and svg) * AArch64Reconfigure, which uses those values, and invalidates every register, because offsets may have changed. * Parse the expedited registers again, knowing that none of the values will have changed due to the scaling. This means we use the expedited registers during the reconfigure, but the invalidate does not mean we throw all of them away. The cost is we parse them twice client side, but this is cheap compared to a network packet, and is limited to AArch64 targets only. On a system with SVE and SME, these are the packets sent for a step: ``` (lldb) b-remote.async> < 803> read packet: $T05thread:p1f80.1f80;name:main.o;threads:1f80;thread-pcs:000000000040056c<...>a1:0800000000000000;d9:0400000000000000;reason:trace;#fc intern-state < 21> send packet: $xfffffffff200,200#5e intern-state < 516> read packet: $e4f2ffffffff000000<...>#71 intern-state < 15> send packet: $Z0,400568,4#4d intern-state < 6> read packet: $OK#9a dbg.evt-handler < 16> send packet: $jThreadsInfo#c1 dbg.evt-handler < 224> read packet: $[{"name":"main.o","reason":"trace","registers":{"161":"0800000000000000",<...>}],"signal":5,"tid":8064}]]#73 ``` You can see there are no extra register reads which means we're using the expedited registers. For a write to vg: ``` (lldb) register write vg 4 lldb < 37> send packet: $Pa1=0400000000000000;thread:1f80;#4a lldb < 6> read packet: $OK#9a lldb < 20> send packet: $pa1;thread:1f80;#29 lldb < 20> read packet: $0400000000000000#04 lldb < 20> send packet: $pd9;thread:1f80;#34 lldb < 20> read packet: $0400000000000000#04 ``` There is the initial P write, and lldb correctly assumes that SVG is invalidated by this also so we read back the new vg and svg values afterwards.
DavidSpickett
added a commit
that referenced
this issue
Nov 2, 2023
…vg (#70914) This removes explicit invalidation of vg and svg that was done in `GDBRemoteRegisterContext::AArch64Reconfigure`. This was in fact covering up a bug elsehwere. Register information says that a write to vg also invalidates svg (it does not unless you are in streaming mode, but we decided to keep it simple and say it always does). This invalidation was not being applied until *after* AArch64Reconfigure was called. This meant that without those manual invalidates this happened: * vg is written * svg is not invalidated * Reconfigure uses the written vg value * Reconfigure uses the *old* svg value I have moved the AArch64Reconfigure call to after we've processed the invalidations caused by the register write, so we no longer need the manual invalidates in AArch64Reconfigure. In addition I have changed the order in which expedited registers as parsed. These registers come with a stop notification and include, amongst others, vg and svg. So now we: * Parse them and update register values (including vg and svg) * AArch64Reconfigure, which uses those values, and invalidates every register, because offsets may have changed. * Parse the expedited registers again, knowing that none of the values will have changed due to the scaling. This means we use the expedited registers during the reconfigure, but the invalidate does not mean we throw all of them away. The cost is we parse them twice client side, but this is cheap compared to a network packet, and is limited to AArch64 targets only. On a system with SVE and SME, these are the packets sent for a step: ``` (lldb) b-remote.async> < 803> read packet: $T05thread:p1f80.1f80;name:main.o;threads:1f80;thread-pcs:000000000040056c<...>a1:0800000000000000;d9:0400000000000000;reason:trace;#fc intern-state < 21> send packet: $xfffffffff200,200#5e intern-state < 516> read packet: $e4f2ffffffff000000<...>#71 intern-state < 15> send packet: $Z0,400568,4#4d intern-state < 6> read packet: $OK#9a dbg.evt-handler < 16> send packet: $jThreadsInfo#c1 dbg.evt-handler < 224> read packet: $[{"name":"main.o","reason":"trace","registers":{"161":"0800000000000000",<...>}],"signal":5,"tid":8064}]]#73 ``` You can see there are no extra register reads which means we're using the expedited registers. For a write to vg: ``` (lldb) register write vg 4 lldb < 37> send packet: $Pa1=0400000000000000;thread:1f80;#4a lldb < 6> read packet: $OK#9a lldb < 20> send packet: $pa1;thread:1f80;#29 lldb < 20> read packet: $0400000000000000#04 lldb < 20> send packet: $pd9;thread:1f80;#34 lldb < 20> read packet: $0400000000000000#04 ``` There is the initial P write, and lldb correctly assumes that SVG is invalidated by this also so we read back the new vg and svg values afterwards.
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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Nov 24 13:52:08 2023 +0000 Code cleanup and formatting. commit 6ef312d8799d05324d956a819c2e078505d00ee4 Author: TB Schardl <neboat@mit.edu> Date: Sun Nov 12 20:10:57 2023 +0000 Fix bugs for rebase onto LLVM 17.0.4 commit 1f6d36945cbb4529b7a83e5eb557f02f7e9c4dfc Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Oct 9 10:25:43 2023 +0000 [test/Tapir] Fix requirement for test that needs X86 target. commit 6e75058f3cc757eb7ef959dcd3d1361d20595338 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Oct 13 23:27:59 2023 +0000 [DRFScopedNoAliasAA] Fix a compiler warning. commit 76c49de053a605163c212d5f59ccccc6600608e4 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sat Sep 16 14:13:50 2023 -0400 Simplify headers in README.md commit 59cdaa58f19432befdad8806db5f6bf5809d2c97 Author: Tao B. Schardl <neboat@mit.edu> Date: Sat Sep 16 14:10:42 2023 -0400 Fix headers in README.md commit a488d8bf61588a8798888309bf85dfdb96e2b30f Author: Tao B. Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Sep 15 12:33:50 2023 +0000 [README] Rename LLVM README file. commit dfdf56660eb70df5f2cd3c55717f7ed00f59461c Author: John F. Carr <jfc@mit.edu> Date: Wed Sep 6 12:14:08 2023 -0400 Remove unused HyperToken attribute commit 5dcd8bcef85c451791da5f6b2717665a4d15c674 Author: TB Schardl <neboat@mit.edu> Date: Fri Sep 1 20:21:27 2023 -0400 [test/Cilk] Fix tests to accommodate different constructor ABIs. commit a2a5e20b00da185d01f9caf510006efdadef560b Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Thu Aug 31 14:33:25 2023 -0400 Use BuildBuiltinCallExpr for hyper_lookup too commit a78944f376cb512cd3d7069ed16454e019bc972f Author: John F. Carr <jfc@mit.edu> Date: Wed Aug 30 16:42:08 2023 -0400 Use BuildBuiltinCallExpr to generate call to __builtin_addressof commit 5cac64f4f56f42e90e5eda94d494b14d833f99c5 Author: John F. Carr <jfc@mit.edu> Date: Thu Aug 24 10:13:21 2023 -0400 Look through _Hyperobject in delete commit 8a409dfc1fc889ee3e4020208899dce3b2bc7c9b Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Wed Jul 26 11:57:41 2023 +0000 [clang] Convert more instances of Optional to std::optional. commit 5e6c4f2974822d28abb52e851d86b318657e8a20 Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 23 22:30:06 2023 +0000 [test/Tapir] Remove tests using old pass manager. commit c8e60b12aa8c07a97a4ca57fab76e0bfde227317 Author: John F. Carr <jfc@mit.edu> Date: Fri Jul 21 18:57:22 2023 -0400 Compute memory effects of outlined function commit 008a2e069ddb68c9843727d1f9d911eea2ca3dcd Author: John F. Carr <jfc@mit.edu> Date: Thu Jul 20 20:32:17 2023 -0400 Use new memory effects interface for outlined function commit c3c430f335c47a7e142f0abac315a3a68d240c12 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Mon Jun 5 13:47:24 2023 -0400 Call overloaded unary operator on hyperobject commit 2c24a1354caa121ed28daa9c5f7149063761afa5 Author: John F. Carr <jfc@mit.edu> Date: Mon Jun 5 15:34:56 2023 -0400 Allow hyperobject view lookup in overload resolution commit 2c8940f87fb5056b7f63630b49633dde363a6e1c Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Jul 3 16:30:07 2023 -0400 Fix bugs for rebase onto LLVM 16.0.6 commit ee2dba003c86a78ac8870b5d67889e6df5e97303 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon May 29 14:12:32 2023 +0000 [github] Reenable tests on GitHub Actions. commit 80110eff05f6edfd427af5293f380d990928fbfd Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon May 22 01:52:35 2023 +0000 [Tapir] Code formatting. commit 7f44fab557139b1e61ccb9c7105b6b483c85f5be Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Tue Apr 18 01:14:31 2023 +0000 Fix bugs for rebase onto LLVM 15.0.7. commit 0b9ca933ffec4892d942a0725d3d3ff4763a3332 Author: Tao B. Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> Date: Sat Feb 25 13:42:18 2023 -0500 Fix crashes on bad hyperobject declarations commit 4f43a60975c503c698dbde9aac31e33d8f731204 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> Date: Tue Jan 3 16:22:19 2023 -0500 Test case for OpenCilk issue 157 commit 91590ae258da4a08b22e29ca0df060336b205083 Author: John F. Carr <jfc@mit.edu> 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 <jfc@mit.edu> 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 <jfc@mit.edu> Date: Tue Dec 27 14:53:11 2022 -0500 Fix crash on type error in Cilk for statement commit 8f4bcb58ba33d7406263d80455c28aba5a7b218c Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Nov 4 00:06:26 2022 +0000 [OpenCilkABI] Fix typo in comments. commit aa64c25ee1e20078dc9375d3c2a4382cf5c8000f Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Wed Oct 26 09:56:54 2022 -0400 Demangle mangled hyperobject type commit ff0cb780b62bbc8c081414db8fc26ffe34c5b19f Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat16@gmail.com> 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 <neboat@mit.edu> Date: Mon Sep 19 01:21:53 2022 +0000 [test/Tapir] Update requirements on SLP-vectorization test. commit 307e3d7c452167b728ebcb20f256ae3c6651b506 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Mon Sep 5 06:35:43 2022 -0400 Hyperobject lookups need special handling in any dependent context commit 0e31a81c0c1620e5526308057bd4c54433269e41 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> 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 <jfc@mit.edu> Date: Thu Aug 11 13:04:03 2022 -0400 Do not try to link null bitcode module commit 096f06752fee07f997892321732065471f9cfcce Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Aug 25 11:09:59 2022 +0000 [github] Make workflows consistent with workflows in mainline LLVM. commit 7a24497661eea1267b1df503542e04bd824d3dbc Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sun Aug 21 02:01:32 2022 +0000 [github] Update llvm-project-tests based on upstream changes. commit c2f58be9762b72edf4ac7a038a18ce41ef4a07e6 Author: TB Schardl <neboat@mit.edu> Date: Sun Aug 21 01:56:53 2022 +0000 [github] Disable issue-subscriber action. commit 35c54228228ef79e1458da1eb37a748f3f24ca2f Author: John F. Carr <jfc@mit.edu> Date: Sun Jul 24 12:47:07 2022 -0400 Fix crash on undeclared reducer callback commit 672bb71d9272a0867562e147058810df2400151e Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 20 11:33:16 2022 +0000 [github] Update workflows for release. commit 615c152cec47318479e38c7e78aae6eadb8d5989 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> Date: Mon Jul 18 13:45:19 2022 -0400 Test for hyperobject with constructor but no destructor commit 683ff7fdeb85fc5943c71285c8cf4215f28b7f44 Author: John F. Carr <jfc@mit.edu> Date: Mon Jul 18 10:17:13 2022 -0400 Fix test for trivial destructor commit cb5dbb6e36d31a3720eb294f28eb459e1e26af91 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Sun Jul 10 14:45:12 2022 -0400 Merge reducer destructor callback into reduce callback. commit 1930b5aef735a070dabdf5d1656ccbcfd6fb829f Author: John F. Carr <jfc@mit.edu> Date: Sun Jul 10 14:23:01 2022 -0400 Visit statment children of HyperobjectType commit 9ff353d37b34ebc270792588675735e80ebc97af Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 10 20:48:53 2022 +0000 [CREDITS] Expand CREDITS.TXT to reflect recent contributions. commit 451ce36119e7547bcd4068976d15483c6cda1d8b Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 10 20:46:01 2022 +0000 [test/Tapir] Fix llvm test failues on non-x86 systems. commit 8321ebf8e6e19f46e4ceb48d465c590d9be65067 Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 10 20:45:24 2022 +0000 [test/Cilk] Fix clang test failures on non-x86 systems. commit a508e80246f815e447db539e4db81d8992064d9a Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Wed Jul 6 23:48:28 2022 +0000 [bindings/python] Update diagnostics test. commit ed514c2530691a5624ef20f4f5b03583e80e69b3 Author: John F. Carr <jfc@mit.edu> Date: Wed Jul 6 16:12:01 2022 -0400 Improve compatibility testing of hyperobject types commit 42a01ebcdcf8a9ac6db44ed9d5dae644f7d9ac42 Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 19:33:24 2022 +0000 Fix a little formatting with clang-format. commit f2959caf0f419591cbf4b26b3a823df6f02c70f6 Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 19:22:13 2022 +0000 [github] Cleanup path. commit 7d3ffda22243175e0c7b1a52ca8ba42d6c59b0f9 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Wed Jul 6 12:04:08 2022 -0400 Fix rebuild of hyperobject reference in template expansion commit 04db56e81f8b7d9684a08a47cf417079bf2ff019 Author: John F. Carr <jfc@mit.edu> Date: Wed Jul 6 11:18:59 2022 -0400 Test of reducer += inside a template expansion commit f738cbe7884ba00f9b1b4e33793a983889c732cd Author: John F. Carr <jfc@mit.edu> Date: Wed Jul 6 11:14:38 2022 -0400 Check that llvm.hyper.lookup is called only once commit 794bda39b9704f541960a1bc11f367f467e4bf62 Author: John F. Carr <jfc@mit.edu> 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 <jfc@mit.edu> 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 <jfc@mit.edu> Date: Sun Jul 3 13:33:00 2022 -0400 Try to unregister reducers the correct number of times commit c3178cc4a30d5b10844ffc642ec101f41c62187d Author: John F. Carr <jfc@mit.edu> Date: Fri Jul 1 12:04:29 2022 -0400 XFAIL test with duplicate unregister call commit 2bbb3e5fdc7bbd88bc7fa27895f3c9f15825b85b Author: John F. Carr <jfc@mit.edu> Date: Wed Jun 29 16:09:34 2022 -0400 Fix rebuild of hyperobject in using declaration commit de6d421bb9029fa25e4f2edd0b322556145b7434 Author: John F. Carr <jfc@mit.edu> Date: Tue Jun 21 13:57:40 2022 -0400 Clean up reducer callback order commit 635399a93aac7cbb7e7a7a76cafc790f23f30817 Author: John F. Carr <jfc@mit.edu> Date: Fri Jun 17 08:04:02 2022 -0400 Stricter type checking of reducer callback commit 32b2d8cd83676f12099d61a340477b99660fb64d Author: John F. Carr <jfc@mit.edu> Date: Thu Jun 16 16:54:12 2022 -0400 Handle overloaded function as reducer callback commit 1ad8fb0ec3f43beaaf9d02788e48dfca2662edf6 Author: John F. Carr <jfc@mit.edu> Date: Thu Jun 16 11:01:22 2022 -0400 Add noundef to expected LLVM IR commit 61bea1ff3305b0121b912ad44ce5e0355404a0cd Author: John F. Carr <jfc@mit.edu> Date: Thu Jun 16 09:57:52 2022 -0400 Syntactic hyperobjects commit 66e55994cb95312f4a25bb48c582cb8f0df70066 Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 15:28:20 2022 +0000 [OpenCilkABI] Replace a SmallVector with an array. commit 89d05d95e4ab7533c4b2526968f0150e8e80e19a Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 15:27:43 2022 +0000 [CilkSanitizer] Remove unused variables. commit 639dc0f74ca81837f888e146dd329b814ba24d2d Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jun 30 21:18:09 2022 +0000 [OpenCilkABI] Adjust diagnostic handling for cleaner error messages. commit 5a9148a66b7bb8c394a841fbed0b866eaa98ab54 Author: TB Schardl <neboat@mit.edu> Date: Thu Jun 30 21:15:34 2022 +0000 [CudaABI] Resolve compiler warning temporarily. commit 8cea22dd0f232c533076029988a18b08017a3611 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Jun 24 22:22:44 2022 +0000 [Kaleidoscope/Tapir] Update Tapir Kaleidoscope example for LLVM 14. commit 3b1b87304aef097a88de3e40af110825bcb4e999 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <stelleg@lanl.gov>. commit 6f01c4f0a5a475ed166c41e8486e97e3ffbfa42c Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jun 23 17:58:06 2022 +0000 [test/Tapir] Fix test case for rebase onto LLVM 14. commit f66e80d84bebab348805349c443b4d9bb5f11a80 Author: TB Schardl <neboat@mit.edu> Date: Thu Mar 24 19:22:06 2022 +0000 [LoopUnroll] Put custom GraphTraits in llvm namespace, to appease GCC. commit 59b4c1c88f598a5452cd2455851838c0b5d4d347 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Fri Mar 11 11:52:24 2022 -0500 Read __cilkrts_stack_frame alignment from bitcode if available commit 02012923412b9310c713fa41a55600aaacf94256 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Tue Jun 21 12:49:31 2022 +0000 [OpenCilkABI] Fix compiler warning about unused variable. commit cb26ec1ad0e0cd1be88e9e9f99c165ed3493aba0 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Jun 13 11:27:19 2022 +0000 [Tapir] Remove some uses of getElementType. commit 6b7df525dafe13bd85ef2dc45e0c20812378041f Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sun Jun 12 14:36:15 2022 +0000 [test/Cilk] Add triple command-line argument to test. commit 66f1485b58a794d4db9f17fb168f3aa91eb7e9bd Author: TB Schardl <neboat@mit.edu> Date: Sun Jun 12 14:34:40 2022 +0000 [cindex.py] Incorporate Cilk changes into Python bindings. commit 3d8b1e881c1e0d1285f07ddfac99f0898d908b81 Author: TB Schardl <neboat@mit.edu> Date: Sat Jun 11 21:06:15 2022 +0000 [github] Fix GitHub workflows for opencilk-project. commit 004a118d1f18670af1499720318d4d09c5940c5d Author: TB Schardl <neboat@mit.edu> Date: Sat Jun 11 20:59:23 2022 +0000 Bug fixes for rebase onto LLVM 14.0.5 commit 9626886e087a11dcfaffb8998499aabfe2855a12 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Mar 10 01:14:28 2022 +0000 [llvm/test] Cleanup and fix a couple Tapir regression tests. commit 3a36939d4a5217c21dae4f567972112900bea426 Author: TB Schardl <neboat@mit.edu> Date: Mon Mar 7 22:58:48 2022 +0000 Bug fixes for rebase onto LLVM 13.0.1 commit 269b232fe59a569a8c1fc6294bf30f5752c6fd38 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Wed Feb 16 14:55:52 2022 +0000 [cmake] Add more dependencies between components. commit 34504b8abbab440563f728c517900c373fd04b7f Author: George Stelle <stelleg@lanl.gov> Date: Wed Oct 27 09:05:52 2021 -0600 [cmake] Added IRReader dependency to instrumentation component commit 20452488ed2428f9f46e8ab6f36776feb23ae955 Author: TB Schardl <neboat@mit.edu> Date: Sun Jan 9 00:34:33 2022 +0000 [test/Tapir] Fix output path for GCOV test. commit 755042ce8700e5051cd7fc03289a718824a54357 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> commit 1b0608b28fa1954d27bab2859e9cf174d9789da8 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <1577182+ailiop@users.noreply.github.com> Date: Tue Sep 7 20:13:03 2021 +0000 Create issue template for bug reports commit 463b18d8708ea71b85cebc0b5fe165527cc71fcd Author: William M. Leiserson <willtor@mit.edu> 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 <willtor@mit.edu> Date: Fri Jun 25 15:04:48 2021 -0400 [Tapir] Update OCaml bindings. commit 84ac2833abfb2037cc0d74e9a6934a233abf26e3 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sun Aug 8 22:24:25 2021 -0400 [GVN] Prevent GVN from splitting critical detach-continue edges. commit afef9ca56015cd17a667ff1e0e98c8b43bc2a5e4 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jul 22 21:25:31 2021 +0000 [StmtCilk] Cleanup implementation of CilkSpawnStmt. commit 671a5eaf1f53881640c560335e06ff0b9b8c6395 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jun 3 14:38:08 2021 -0400 [test/Tapir] Mark regression tests requiring an x86_64 target. commit fbc80f0d6f86bb924d39073ad04d9584ecbb03dc Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Apr 30 11:43:24 2021 +0000 [InstCombine] Optimize tests for removing Tapir intrinsics. commit 79043b03bb7a0c573f8c1048a1bfce6ba1096d13 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Apr 26 12:31:34 2021 +0000 Bug fixes for rebase onto LLVM 12.0.0 commit a6a7624642aa524ffebf45a64d56278dbddf503f Author: TB Schardl <neboat@mit.edu> Date: Mon Apr 5 13:07:08 2021 +0000 [LoopUtils] Fix typo in stripmine.enable attribute name. commit fe52c8f8fecbe1cd0f2e236a4c1c87638df667a9 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Mar 22 03:30:09 2021 +0000 [CommonArgs] Prevent Cilksan from being linked twice when dynamically linked. commit 82a1f870afce0225f0e657f3d898e7140907645d Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Tue Mar 9 19:24:24 2021 +0000 Bug fixes for rebase onto LLVM 11.1.0 commit 600300bc4c1c17ba04d2e3dd7da202b37e826c48 Author: TB Schardl <neboat@mit.edu> 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…
zhanyi22333
pushed a commit
to zhanyi22333/llvm-project
that referenced
this issue
Mar 7, 2024
* [Clang][XTHeadVector] implement 12.6 `vnsra/vnsrl` Reference: ruyisdk#57 * [Clang][XTHeadVector] implement 12.6 `vnsra/vnsrl` wrappers
boomanaiden154
added a commit
to boomanaiden154/llvm-project
that referenced
this issue
Mar 22, 2024
Currently, there is a failure condition seen in some blocks where the annotator finds a segfault, tells exegesis to map a page there, and then the block fails again at the same address. This needs some debugging, but currently it will be helpful if we can just log a warning message and skip this basic block.
RevySR
pushed a commit
to revyos/llvm-project
that referenced
this issue
Apr 3, 2024
* [Clang][XTHeadVector] implement 12.6 `vnsra/vnsrl` Reference: ruyisdk#57 * [Clang][XTHeadVector] implement 12.6 `vnsra/vnsrl` wrappers
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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Nov 24 13:52:08 2023 +0000 Code cleanup and formatting. commit 6ef312d8799d05324d956a819c2e078505d00ee4 Author: TB Schardl <neboat@mit.edu> Date: Sun Nov 12 20:10:57 2023 +0000 Fix bugs for rebase onto LLVM 17.0.4 commit 1f6d36945cbb4529b7a83e5eb557f02f7e9c4dfc Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Oct 9 10:25:43 2023 +0000 [test/Tapir] Fix requirement for test that needs X86 target. commit 6e75058f3cc757eb7ef959dcd3d1361d20595338 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Oct 13 23:27:59 2023 +0000 [DRFScopedNoAliasAA] Fix a compiler warning. commit 76c49de053a605163c212d5f59ccccc6600608e4 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sat Sep 16 14:13:50 2023 -0400 Simplify headers in README.md commit 59cdaa58f19432befdad8806db5f6bf5809d2c97 Author: Tao B. Schardl <neboat@mit.edu> Date: Sat Sep 16 14:10:42 2023 -0400 Fix headers in README.md commit a488d8bf61588a8798888309bf85dfdb96e2b30f Author: Tao B. Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Sep 15 12:33:50 2023 +0000 [README] Rename LLVM README file. commit dfdf56660eb70df5f2cd3c55717f7ed00f59461c Author: John F. Carr <jfc@mit.edu> Date: Wed Sep 6 12:14:08 2023 -0400 Remove unused HyperToken attribute commit 5dcd8bcef85c451791da5f6b2717665a4d15c674 Author: TB Schardl <neboat@mit.edu> Date: Fri Sep 1 20:21:27 2023 -0400 [test/Cilk] Fix tests to accommodate different constructor ABIs. commit a2a5e20b00da185d01f9caf510006efdadef560b Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Thu Aug 31 14:33:25 2023 -0400 Use BuildBuiltinCallExpr for hyper_lookup too commit a78944f376cb512cd3d7069ed16454e019bc972f Author: John F. Carr <jfc@mit.edu> Date: Wed Aug 30 16:42:08 2023 -0400 Use BuildBuiltinCallExpr to generate call to __builtin_addressof commit 5cac64f4f56f42e90e5eda94d494b14d833f99c5 Author: John F. Carr <jfc@mit.edu> Date: Thu Aug 24 10:13:21 2023 -0400 Look through _Hyperobject in delete commit 8a409dfc1fc889ee3e4020208899dce3b2bc7c9b Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Wed Jul 26 11:57:41 2023 +0000 [clang] Convert more instances of Optional to std::optional. commit 5e6c4f2974822d28abb52e851d86b318657e8a20 Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 23 22:30:06 2023 +0000 [test/Tapir] Remove tests using old pass manager. commit c8e60b12aa8c07a97a4ca57fab76e0bfde227317 Author: John F. Carr <jfc@mit.edu> Date: Fri Jul 21 18:57:22 2023 -0400 Compute memory effects of outlined function commit 008a2e069ddb68c9843727d1f9d911eea2ca3dcd Author: John F. Carr <jfc@mit.edu> Date: Thu Jul 20 20:32:17 2023 -0400 Use new memory effects interface for outlined function commit c3c430f335c47a7e142f0abac315a3a68d240c12 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Mon Jun 5 13:47:24 2023 -0400 Call overloaded unary operator on hyperobject commit 2c24a1354caa121ed28daa9c5f7149063761afa5 Author: John F. Carr <jfc@mit.edu> Date: Mon Jun 5 15:34:56 2023 -0400 Allow hyperobject view lookup in overload resolution commit 2c8940f87fb5056b7f63630b49633dde363a6e1c Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Jul 3 16:30:07 2023 -0400 Fix bugs for rebase onto LLVM 16.0.6 commit ee2dba003c86a78ac8870b5d67889e6df5e97303 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon May 29 14:12:32 2023 +0000 [github] Reenable tests on GitHub Actions. commit 80110eff05f6edfd427af5293f380d990928fbfd Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon May 22 01:52:35 2023 +0000 [Tapir] Code formatting. commit 7f44fab557139b1e61ccb9c7105b6b483c85f5be Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Tue Apr 18 01:14:31 2023 +0000 Fix bugs for rebase onto LLVM 15.0.7. commit 0b9ca933ffec4892d942a0725d3d3ff4763a3332 Author: Tao B. Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> Date: Sat Feb 25 13:42:18 2023 -0500 Fix crashes on bad hyperobject declarations commit 4f43a60975c503c698dbde9aac31e33d8f731204 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> Date: Tue Jan 3 16:22:19 2023 -0500 Test case for OpenCilk issue 157 commit 91590ae258da4a08b22e29ca0df060336b205083 Author: John F. Carr <jfc@mit.edu> 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 <jfc@mit.edu> 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 <jfc@mit.edu> Date: Tue Dec 27 14:53:11 2022 -0500 Fix crash on type error in Cilk for statement commit 8f4bcb58ba33d7406263d80455c28aba5a7b218c Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Nov 4 00:06:26 2022 +0000 [OpenCilkABI] Fix typo in comments. commit aa64c25ee1e20078dc9375d3c2a4382cf5c8000f Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Wed Oct 26 09:56:54 2022 -0400 Demangle mangled hyperobject type commit ff0cb780b62bbc8c081414db8fc26ffe34c5b19f Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat16@gmail.com> 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 <neboat@mit.edu> Date: Mon Sep 19 01:21:53 2022 +0000 [test/Tapir] Update requirements on SLP-vectorization test. commit 307e3d7c452167b728ebcb20f256ae3c6651b506 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Mon Sep 5 06:35:43 2022 -0400 Hyperobject lookups need special handling in any dependent context commit 0e31a81c0c1620e5526308057bd4c54433269e41 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> 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 <jfc@mit.edu> Date: Thu Aug 11 13:04:03 2022 -0400 Do not try to link null bitcode module commit 096f06752fee07f997892321732065471f9cfcce Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Aug 25 11:09:59 2022 +0000 [github] Make workflows consistent with workflows in mainline LLVM. commit 7a24497661eea1267b1df503542e04bd824d3dbc Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sun Aug 21 02:01:32 2022 +0000 [github] Update llvm-project-tests based on upstream changes. commit c2f58be9762b72edf4ac7a038a18ce41ef4a07e6 Author: TB Schardl <neboat@mit.edu> Date: Sun Aug 21 01:56:53 2022 +0000 [github] Disable issue-subscriber action. commit 35c54228228ef79e1458da1eb37a748f3f24ca2f Author: John F. Carr <jfc@mit.edu> Date: Sun Jul 24 12:47:07 2022 -0400 Fix crash on undeclared reducer callback commit 672bb71d9272a0867562e147058810df2400151e Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 20 11:33:16 2022 +0000 [github] Update workflows for release. commit 615c152cec47318479e38c7e78aae6eadb8d5989 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> Date: Mon Jul 18 13:45:19 2022 -0400 Test for hyperobject with constructor but no destructor commit 683ff7fdeb85fc5943c71285c8cf4215f28b7f44 Author: John F. Carr <jfc@mit.edu> Date: Mon Jul 18 10:17:13 2022 -0400 Fix test for trivial destructor commit cb5dbb6e36d31a3720eb294f28eb459e1e26af91 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Sun Jul 10 14:45:12 2022 -0400 Merge reducer destructor callback into reduce callback. commit 1930b5aef735a070dabdf5d1656ccbcfd6fb829f Author: John F. Carr <jfc@mit.edu> Date: Sun Jul 10 14:23:01 2022 -0400 Visit statment children of HyperobjectType commit 9ff353d37b34ebc270792588675735e80ebc97af Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 10 20:48:53 2022 +0000 [CREDITS] Expand CREDITS.TXT to reflect recent contributions. commit 451ce36119e7547bcd4068976d15483c6cda1d8b Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 10 20:46:01 2022 +0000 [test/Tapir] Fix llvm test failues on non-x86 systems. commit 8321ebf8e6e19f46e4ceb48d465c590d9be65067 Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 10 20:45:24 2022 +0000 [test/Cilk] Fix clang test failures on non-x86 systems. commit a508e80246f815e447db539e4db81d8992064d9a Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Wed Jul 6 23:48:28 2022 +0000 [bindings/python] Update diagnostics test. commit ed514c2530691a5624ef20f4f5b03583e80e69b3 Author: John F. Carr <jfc@mit.edu> Date: Wed Jul 6 16:12:01 2022 -0400 Improve compatibility testing of hyperobject types commit 42a01ebcdcf8a9ac6db44ed9d5dae644f7d9ac42 Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 19:33:24 2022 +0000 Fix a little formatting with clang-format. commit f2959caf0f419591cbf4b26b3a823df6f02c70f6 Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 19:22:13 2022 +0000 [github] Cleanup path. commit 7d3ffda22243175e0c7b1a52ca8ba42d6c59b0f9 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Wed Jul 6 12:04:08 2022 -0400 Fix rebuild of hyperobject reference in template expansion commit 04db56e81f8b7d9684a08a47cf417079bf2ff019 Author: John F. Carr <jfc@mit.edu> Date: Wed Jul 6 11:18:59 2022 -0400 Test of reducer += inside a template expansion commit f738cbe7884ba00f9b1b4e33793a983889c732cd Author: John F. Carr <jfc@mit.edu> Date: Wed Jul 6 11:14:38 2022 -0400 Check that llvm.hyper.lookup is called only once commit 794bda39b9704f541960a1bc11f367f467e4bf62 Author: John F. Carr <jfc@mit.edu> 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 <jfc@mit.edu> 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 <jfc@mit.edu> Date: Sun Jul 3 13:33:00 2022 -0400 Try to unregister reducers the correct number of times commit c3178cc4a30d5b10844ffc642ec101f41c62187d Author: John F. Carr <jfc@mit.edu> Date: Fri Jul 1 12:04:29 2022 -0400 XFAIL test with duplicate unregister call commit 2bbb3e5fdc7bbd88bc7fa27895f3c9f15825b85b Author: John F. Carr <jfc@mit.edu> Date: Wed Jun 29 16:09:34 2022 -0400 Fix rebuild of hyperobject in using declaration commit de6d421bb9029fa25e4f2edd0b322556145b7434 Author: John F. Carr <jfc@mit.edu> Date: Tue Jun 21 13:57:40 2022 -0400 Clean up reducer callback order commit 635399a93aac7cbb7e7a7a76cafc790f23f30817 Author: John F. Carr <jfc@mit.edu> Date: Fri Jun 17 08:04:02 2022 -0400 Stricter type checking of reducer callback commit 32b2d8cd83676f12099d61a340477b99660fb64d Author: John F. Carr <jfc@mit.edu> Date: Thu Jun 16 16:54:12 2022 -0400 Handle overloaded function as reducer callback commit 1ad8fb0ec3f43beaaf9d02788e48dfca2662edf6 Author: John F. Carr <jfc@mit.edu> Date: Thu Jun 16 11:01:22 2022 -0400 Add noundef to expected LLVM IR commit 61bea1ff3305b0121b912ad44ce5e0355404a0cd Author: John F. Carr <jfc@mit.edu> Date: Thu Jun 16 09:57:52 2022 -0400 Syntactic hyperobjects commit 66e55994cb95312f4a25bb48c582cb8f0df70066 Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 15:28:20 2022 +0000 [OpenCilkABI] Replace a SmallVector with an array. commit 89d05d95e4ab7533c4b2526968f0150e8e80e19a Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 15:27:43 2022 +0000 [CilkSanitizer] Remove unused variables. commit 639dc0f74ca81837f888e146dd329b814ba24d2d Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jun 30 21:18:09 2022 +0000 [OpenCilkABI] Adjust diagnostic handling for cleaner error messages. commit 5a9148a66b7bb8c394a841fbed0b866eaa98ab54 Author: TB Schardl <neboat@mit.edu> Date: Thu Jun 30 21:15:34 2022 +0000 [CudaABI] Resolve compiler warning temporarily. commit 8cea22dd0f232c533076029988a18b08017a3611 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Jun 24 22:22:44 2022 +0000 [Kaleidoscope/Tapir] Update Tapir Kaleidoscope example for LLVM 14. commit 3b1b87304aef097a88de3e40af110825bcb4e999 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <stelleg@lanl.gov>. commit 6f01c4f0a5a475ed166c41e8486e97e3ffbfa42c Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jun 23 17:58:06 2022 +0000 [test/Tapir] Fix test case for rebase onto LLVM 14. commit f66e80d84bebab348805349c443b4d9bb5f11a80 Author: TB Schardl <neboat@mit.edu> Date: Thu Mar 24 19:22:06 2022 +0000 [LoopUnroll] Put custom GraphTraits in llvm namespace, to appease GCC. commit 59b4c1c88f598a5452cd2455851838c0b5d4d347 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Fri Mar 11 11:52:24 2022 -0500 Read __cilkrts_stack_frame alignment from bitcode if available commit 02012923412b9310c713fa41a55600aaacf94256 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Tue Jun 21 12:49:31 2022 +0000 [OpenCilkABI] Fix compiler warning about unused variable. commit cb26ec1ad0e0cd1be88e9e9f99c165ed3493aba0 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Jun 13 11:27:19 2022 +0000 [Tapir] Remove some uses of getElementType. commit 6b7df525dafe13bd85ef2dc45e0c20812378041f Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sun Jun 12 14:36:15 2022 +0000 [test/Cilk] Add triple command-line argument to test. commit 66f1485b58a794d4db9f17fb168f3aa91eb7e9bd Author: TB Schardl <neboat@mit.edu> Date: Sun Jun 12 14:34:40 2022 +0000 [cindex.py] Incorporate Cilk changes into Python bindings. commit 3d8b1e881c1e0d1285f07ddfac99f0898d908b81 Author: TB Schardl <neboat@mit.edu> Date: Sat Jun 11 21:06:15 2022 +0000 [github] Fix GitHub workflows for opencilk-project. commit 004a118d1f18670af1499720318d4d09c5940c5d Author: TB Schardl <neboat@mit.edu> Date: Sat Jun 11 20:59:23 2022 +0000 Bug fixes for rebase onto LLVM 14.0.5 commit 9626886e087a11dcfaffb8998499aabfe2855a12 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Mar 10 01:14:28 2022 +0000 [llvm/test] Cleanup and fix a couple Tapir regression tests. commit 3a36939d4a5217c21dae4f567972112900bea426 Author: TB Schardl <neboat@mit.edu> Date: Mon Mar 7 22:58:48 2022 +0000 Bug fixes for rebase onto LLVM 13.0.1 commit 269b232fe59a569a8c1fc6294bf30f5752c6fd38 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Wed Feb 16 14:55:52 2022 +0000 [cmake] Add more dependencies between components. commit 34504b8abbab440563f728c517900c373fd04b7f Author: George Stelle <stelleg@lanl.gov> Date: Wed Oct 27 09:05:52 2021 -0600 [cmake] Added IRReader dependency to instrumentation component commit 20452488ed2428f9f46e8ab6f36776feb23ae955 Author: TB Schardl <neboat@mit.edu> Date: Sun Jan 9 00:34:33 2022 +0000 [test/Tapir] Fix output path for GCOV test. commit 755042ce8700e5051cd7fc03289a718824a54357 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> commit 1b0608b28fa1954d27bab2859e9cf174d9789da8 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <1577182+ailiop@users.noreply.github.com> Date: Tue Sep 7 20:13:03 2021 +0000 Create issue template for bug reports commit 463b18d8708ea71b85cebc0b5fe165527cc71fcd Author: William M. Leiserson <willtor@mit.edu> 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 <willtor@mit.edu> Date: Fri Jun 25 15:04:48 2021 -0400 [Tapir] Update OCaml bindings. commit 84ac2833abfb2037cc0d74e9a6934a233abf26e3 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sun Aug 8 22:24:25 2021 -0400 [GVN] Prevent GVN from splitting critical detach-continue edges. commit afef9ca56015cd17a667ff1e0e98c8b43bc2a5e4 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jul 22 21:25:31 2021 +0000 [StmtCilk] Cleanup implementation of CilkSpawnStmt. commit 671a5eaf1f53881640c560335e06ff0b9b8c6395 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jun 3 14:38:08 2021 -0400 [test/Tapir] Mark regression tests requiring an x86_64 target. commit fbc80f0d6f86bb924d39073ad04d9584ecbb03dc Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Apr 30 11:43:24 2021 +0000 [InstCombine] Optimize tests for removing Tapir intrinsics. commit 79043b03bb7a0c573f8c1048a1bfce6ba1096d13 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Apr 26 12:31:34 2021 +0000 Bug fixes for rebase onto LLVM 12.0.0 commit a6a7624642aa524ffebf45a64d56278dbddf503f Author: TB Schardl <neboat@mit.edu> Date: Mon Apr 5 13:07:08 2021 +0000 [LoopUtils] Fix typo in stripmine.enable attribute name. commit fe52c8f8fecbe1cd0f2e236a4c1c87638df667a9 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Mar 22 03:30:09 2021 +0000 [CommonArgs] Prevent Cilksan from being linked twice when dynamically linked. commit 82a1f870afce0225f0e657f3d898e7140907645d Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Tue Mar 9 19:24:24 2021 +0000 Bug fixes for rebase onto LLVM 11.1.0 commit 600300bc4c1c17ba04d2e3dd7da202b37e826c48 Author: TB Schardl <neboat@mit.edu> Date: Thu Mar 4 21:08:55 2021 +0000 …
RevySR
pushed a commit
to revyos/llvm-project
that referenced
this issue
Jul 27, 2024
* [Clang][XTHeadVector] implement 12.6 `vnsra/vnsrl` Reference: ruyisdk#57 * [Clang][XTHeadVector] implement 12.6 `vnsra/vnsrl` wrappers
faisalv
pushed a commit
to faisalv/llvm-project
that referenced
this issue
Aug 4, 2024
- Improve efficiency by doing fewer tentative parses during reflection. - Respect scope precedence during reflection. - Fix several different parsing bugs, try to adhere more closely to the P2996 spec. Closes issue llvm#73.
alexanderguy
pushed a commit
to alexanderguy/llvm-project
that referenced
this issue
Sep 25, 2024
Following the alterations made in solana-labs/rbpf#489, this PR removes the neg instructions and changes the semantics of sub when one of the operands is an immediate. sub r1, 2 now means r1 = 2 - r1, instead of r1 = r1 - 2. neg r1 is represented as r1 = 0 - r1. This is the second task in solana-labs/solana#34250.
tarunprabhu
added a commit
to tarunprabhu/kitsune
that referenced
this issue
Oct 2, 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) are mostly retained. All credit for OpenCilk contributions go to the individuals listed in the commit messages below. commit 9e7b5b83a06d24f18d53bce2ae84ad23e8629566 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Nov 24 13:52:08 2023 +0000 Code cleanup and formatting. commit 6ef312d8799d05324d956a819c2e078505d00ee4 Author: TB Schardl <neboat@mit.edu> Date: Sun Nov 12 20:10:57 2023 +0000 Fix bugs for rebase onto LLVM 17.0.4 commit 1f6d36945cbb4529b7a83e5eb557f02f7e9c4dfc Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Oct 9 10:25:43 2023 +0000 [test/Tapir] Fix requirement for test that needs X86 target. commit 6e75058f3cc757eb7ef959dcd3d1361d20595338 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Oct 13 23:27:59 2023 +0000 [DRFScopedNoAliasAA] Fix a compiler warning. commit 76c49de053a605163c212d5f59ccccc6600608e4 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sat Sep 16 14:13:50 2023 -0400 Simplify headers in README.md commit 59cdaa58f19432befdad8806db5f6bf5809d2c97 Author: Tao B. Schardl <neboat@mit.edu> Date: Sat Sep 16 14:10:42 2023 -0400 Fix headers in README.md commit a488d8bf61588a8798888309bf85dfdb96e2b30f Author: Tao B. Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Sep 15 12:33:50 2023 +0000 [README] Rename LLVM README file. commit dfdf56660eb70df5f2cd3c55717f7ed00f59461c Author: John F. Carr <jfc@mit.edu> Date: Wed Sep 6 12:14:08 2023 -0400 Remove unused HyperToken attribute commit 5dcd8bcef85c451791da5f6b2717665a4d15c674 Author: TB Schardl <neboat@mit.edu> Date: Fri Sep 1 20:21:27 2023 -0400 [test/Cilk] Fix tests to accommodate different constructor ABIs. commit a2a5e20b00da185d01f9caf510006efdadef560b Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Thu Aug 31 14:33:25 2023 -0400 Use BuildBuiltinCallExpr for hyper_lookup too commit a78944f376cb512cd3d7069ed16454e019bc972f Author: John F. Carr <jfc@mit.edu> Date: Wed Aug 30 16:42:08 2023 -0400 Use BuildBuiltinCallExpr to generate call to __builtin_addressof commit 5cac64f4f56f42e90e5eda94d494b14d833f99c5 Author: John F. Carr <jfc@mit.edu> Date: Thu Aug 24 10:13:21 2023 -0400 Look through _Hyperobject in delete commit 8a409dfc1fc889ee3e4020208899dce3b2bc7c9b Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Wed Jul 26 11:57:41 2023 +0000 [clang] Convert more instances of Optional to std::optional. commit 5e6c4f2974822d28abb52e851d86b318657e8a20 Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 23 22:30:06 2023 +0000 [test/Tapir] Remove tests using old pass manager. commit c8e60b12aa8c07a97a4ca57fab76e0bfde227317 Author: John F. Carr <jfc@mit.edu> Date: Fri Jul 21 18:57:22 2023 -0400 Compute memory effects of outlined function commit 008a2e069ddb68c9843727d1f9d911eea2ca3dcd Author: John F. Carr <jfc@mit.edu> Date: Thu Jul 20 20:32:17 2023 -0400 Use new memory effects interface for outlined function commit c3c430f335c47a7e142f0abac315a3a68d240c12 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Mon Jun 5 13:47:24 2023 -0400 Call overloaded unary operator on hyperobject commit 2c24a1354caa121ed28daa9c5f7149063761afa5 Author: John F. Carr <jfc@mit.edu> Date: Mon Jun 5 15:34:56 2023 -0400 Allow hyperobject view lookup in overload resolution commit 2c8940f87fb5056b7f63630b49633dde363a6e1c Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Jul 3 16:30:07 2023 -0400 Fix bugs for rebase onto LLVM 16.0.6 commit ee2dba003c86a78ac8870b5d67889e6df5e97303 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon May 29 14:12:32 2023 +0000 [github] Reenable tests on GitHub Actions. commit 80110eff05f6edfd427af5293f380d990928fbfd Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon May 22 01:52:35 2023 +0000 [Tapir] Code formatting. commit 7f44fab557139b1e61ccb9c7105b6b483c85f5be Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Tue Apr 18 01:14:31 2023 +0000 Fix bugs for rebase onto LLVM 15.0.7. commit 0b9ca933ffec4892d942a0725d3d3ff4763a3332 Author: Tao B. Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> Date: Sat Feb 25 13:42:18 2023 -0500 Fix crashes on bad hyperobject declarations commit 4f43a60975c503c698dbde9aac31e33d8f731204 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> Date: Tue Jan 3 16:22:19 2023 -0500 Test case for OpenCilk issue 157 commit 91590ae258da4a08b22e29ca0df060336b205083 Author: John F. Carr <jfc@mit.edu> 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 <jfc@mit.edu> 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 <jfc@mit.edu> Date: Tue Dec 27 14:53:11 2022 -0500 Fix crash on type error in Cilk for statement commit 8f4bcb58ba33d7406263d80455c28aba5a7b218c Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Nov 4 00:06:26 2022 +0000 [OpenCilkABI] Fix typo in comments. commit aa64c25ee1e20078dc9375d3c2a4382cf5c8000f Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Wed Oct 26 09:56:54 2022 -0400 Demangle mangled hyperobject type commit ff0cb780b62bbc8c081414db8fc26ffe34c5b19f Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat16@gmail.com> 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 <neboat@mit.edu> Date: Mon Sep 19 01:21:53 2022 +0000 [test/Tapir] Update requirements on SLP-vectorization test. commit 307e3d7c452167b728ebcb20f256ae3c6651b506 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Mon Sep 5 06:35:43 2022 -0400 Hyperobject lookups need special handling in any dependent context commit 0e31a81c0c1620e5526308057bd4c54433269e41 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> 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 <jfc@mit.edu> Date: Thu Aug 11 13:04:03 2022 -0400 Do not try to link null bitcode module commit 096f06752fee07f997892321732065471f9cfcce Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Aug 25 11:09:59 2022 +0000 [github] Make workflows consistent with workflows in mainline LLVM. commit 7a24497661eea1267b1df503542e04bd824d3dbc Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sun Aug 21 02:01:32 2022 +0000 [github] Update llvm-project-tests based on upstream changes. commit c2f58be9762b72edf4ac7a038a18ce41ef4a07e6 Author: TB Schardl <neboat@mit.edu> Date: Sun Aug 21 01:56:53 2022 +0000 [github] Disable issue-subscriber action. commit 35c54228228ef79e1458da1eb37a748f3f24ca2f Author: John F. Carr <jfc@mit.edu> Date: Sun Jul 24 12:47:07 2022 -0400 Fix crash on undeclared reducer callback commit 672bb71d9272a0867562e147058810df2400151e Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 20 11:33:16 2022 +0000 [github] Update workflows for release. commit 615c152cec47318479e38c7e78aae6eadb8d5989 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> Date: Mon Jul 18 13:45:19 2022 -0400 Test for hyperobject with constructor but no destructor commit 683ff7fdeb85fc5943c71285c8cf4215f28b7f44 Author: John F. Carr <jfc@mit.edu> Date: Mon Jul 18 10:17:13 2022 -0400 Fix test for trivial destructor commit cb5dbb6e36d31a3720eb294f28eb459e1e26af91 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Sun Jul 10 14:45:12 2022 -0400 Merge reducer destructor callback into reduce callback. commit 1930b5aef735a070dabdf5d1656ccbcfd6fb829f Author: John F. Carr <jfc@mit.edu> Date: Sun Jul 10 14:23:01 2022 -0400 Visit statment children of HyperobjectType commit 9ff353d37b34ebc270792588675735e80ebc97af Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 10 20:48:53 2022 +0000 [CREDITS] Expand CREDITS.TXT to reflect recent contributions. commit 451ce36119e7547bcd4068976d15483c6cda1d8b Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 10 20:46:01 2022 +0000 [test/Tapir] Fix llvm test failues on non-x86 systems. commit 8321ebf8e6e19f46e4ceb48d465c590d9be65067 Author: TB Schardl <neboat@mit.edu> Date: Sun Jul 10 20:45:24 2022 +0000 [test/Cilk] Fix clang test failures on non-x86 systems. commit a508e80246f815e447db539e4db81d8992064d9a Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Wed Jul 6 23:48:28 2022 +0000 [bindings/python] Update diagnostics test. commit ed514c2530691a5624ef20f4f5b03583e80e69b3 Author: John F. Carr <jfc@mit.edu> Date: Wed Jul 6 16:12:01 2022 -0400 Improve compatibility testing of hyperobject types commit 42a01ebcdcf8a9ac6db44ed9d5dae644f7d9ac42 Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 19:33:24 2022 +0000 Fix a little formatting with clang-format. commit f2959caf0f419591cbf4b26b3a823df6f02c70f6 Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 19:22:13 2022 +0000 [github] Cleanup path. commit 7d3ffda22243175e0c7b1a52ca8ba42d6c59b0f9 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Wed Jul 6 12:04:08 2022 -0400 Fix rebuild of hyperobject reference in template expansion commit 04db56e81f8b7d9684a08a47cf417079bf2ff019 Author: John F. Carr <jfc@mit.edu> Date: Wed Jul 6 11:18:59 2022 -0400 Test of reducer += inside a template expansion commit f738cbe7884ba00f9b1b4e33793a983889c732cd Author: John F. Carr <jfc@mit.edu> Date: Wed Jul 6 11:14:38 2022 -0400 Check that llvm.hyper.lookup is called only once commit 794bda39b9704f541960a1bc11f367f467e4bf62 Author: John F. Carr <jfc@mit.edu> 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 <jfc@mit.edu> 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 <jfc@mit.edu> Date: Sun Jul 3 13:33:00 2022 -0400 Try to unregister reducers the correct number of times commit c3178cc4a30d5b10844ffc642ec101f41c62187d Author: John F. Carr <jfc@mit.edu> Date: Fri Jul 1 12:04:29 2022 -0400 XFAIL test with duplicate unregister call commit 2bbb3e5fdc7bbd88bc7fa27895f3c9f15825b85b Author: John F. Carr <jfc@mit.edu> Date: Wed Jun 29 16:09:34 2022 -0400 Fix rebuild of hyperobject in using declaration commit de6d421bb9029fa25e4f2edd0b322556145b7434 Author: John F. Carr <jfc@mit.edu> Date: Tue Jun 21 13:57:40 2022 -0400 Clean up reducer callback order commit 635399a93aac7cbb7e7a7a76cafc790f23f30817 Author: John F. Carr <jfc@mit.edu> Date: Fri Jun 17 08:04:02 2022 -0400 Stricter type checking of reducer callback commit 32b2d8cd83676f12099d61a340477b99660fb64d Author: John F. Carr <jfc@mit.edu> Date: Thu Jun 16 16:54:12 2022 -0400 Handle overloaded function as reducer callback commit 1ad8fb0ec3f43beaaf9d02788e48dfca2662edf6 Author: John F. Carr <jfc@mit.edu> Date: Thu Jun 16 11:01:22 2022 -0400 Add noundef to expected LLVM IR commit 61bea1ff3305b0121b912ad44ce5e0355404a0cd Author: John F. Carr <jfc@mit.edu> Date: Thu Jun 16 09:57:52 2022 -0400 Syntactic hyperobjects commit 66e55994cb95312f4a25bb48c582cb8f0df70066 Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 15:28:20 2022 +0000 [OpenCilkABI] Replace a SmallVector with an array. commit 89d05d95e4ab7533c4b2526968f0150e8e80e19a Author: TB Schardl <neboat@mit.edu> Date: Wed Jul 6 15:27:43 2022 +0000 [CilkSanitizer] Remove unused variables. commit 639dc0f74ca81837f888e146dd329b814ba24d2d Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jun 30 21:18:09 2022 +0000 [OpenCilkABI] Adjust diagnostic handling for cleaner error messages. commit 5a9148a66b7bb8c394a841fbed0b866eaa98ab54 Author: TB Schardl <neboat@mit.edu> Date: Thu Jun 30 21:15:34 2022 +0000 [CudaABI] Resolve compiler warning temporarily. commit 8cea22dd0f232c533076029988a18b08017a3611 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Jun 24 22:22:44 2022 +0000 [Kaleidoscope/Tapir] Update Tapir Kaleidoscope example for LLVM 14. commit 3b1b87304aef097a88de3e40af110825bcb4e999 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <stelleg@lanl.gov>. commit 6f01c4f0a5a475ed166c41e8486e97e3ffbfa42c Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jun 23 17:58:06 2022 +0000 [test/Tapir] Fix test case for rebase onto LLVM 14. commit f66e80d84bebab348805349c443b4d9bb5f11a80 Author: TB Schardl <neboat@mit.edu> Date: Thu Mar 24 19:22:06 2022 +0000 [LoopUnroll] Put custom GraphTraits in llvm namespace, to appease GCC. commit 59b4c1c88f598a5452cd2455851838c0b5d4d347 Author: TB Schardl <neboat@mit.edu> 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 <jfc@mit.edu> Date: Fri Mar 11 11:52:24 2022 -0500 Read __cilkrts_stack_frame alignment from bitcode if available commit 02012923412b9310c713fa41a55600aaacf94256 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Tue Jun 21 12:49:31 2022 +0000 [OpenCilkABI] Fix compiler warning about unused variable. commit cb26ec1ad0e0cd1be88e9e9f99c165ed3493aba0 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Jun 13 11:27:19 2022 +0000 [Tapir] Remove some uses of getElementType. commit 6b7df525dafe13bd85ef2dc45e0c20812378041f Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sun Jun 12 14:36:15 2022 +0000 [test/Cilk] Add triple command-line argument to test. commit 66f1485b58a794d4db9f17fb168f3aa91eb7e9bd Author: TB Schardl <neboat@mit.edu> Date: Sun Jun 12 14:34:40 2022 +0000 [cindex.py] Incorporate Cilk changes into Python bindings. commit 3d8b1e881c1e0d1285f07ddfac99f0898d908b81 Author: TB Schardl <neboat@mit.edu> Date: Sat Jun 11 21:06:15 2022 +0000 [github] Fix GitHub workflows for opencilk-project. commit 004a118d1f18670af1499720318d4d09c5940c5d Author: TB Schardl <neboat@mit.edu> Date: Sat Jun 11 20:59:23 2022 +0000 Bug fixes for rebase onto LLVM 14.0.5 commit 9626886e087a11dcfaffb8998499aabfe2855a12 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Mar 10 01:14:28 2022 +0000 [llvm/test] Cleanup and fix a couple Tapir regression tests. commit 3a36939d4a5217c21dae4f567972112900bea426 Author: TB Schardl <neboat@mit.edu> Date: Mon Mar 7 22:58:48 2022 +0000 Bug fixes for rebase onto LLVM 13.0.1 commit 269b232fe59a569a8c1fc6294bf30f5752c6fd38 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Wed Feb 16 14:55:52 2022 +0000 [cmake] Add more dependencies between components. commit 34504b8abbab440563f728c517900c373fd04b7f Author: George Stelle <stelleg@lanl.gov> Date: Wed Oct 27 09:05:52 2021 -0600 [cmake] Added IRReader dependency to instrumentation component commit 20452488ed2428f9f46e8ab6f36776feb23ae955 Author: TB Schardl <neboat@mit.edu> Date: Sun Jan 9 00:34:33 2022 +0000 [test/Tapir] Fix output path for GCOV test. commit 755042ce8700e5051cd7fc03289a718824a54357 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <jfc@mit.edu> commit 1b0608b28fa1954d27bab2859e9cf174d9789da8 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <1577182+ailiop@users.noreply.github.com> Date: Tue Sep 7 20:13:03 2021 +0000 Create issue template for bug reports commit 463b18d8708ea71b85cebc0b5fe165527cc71fcd Author: William M. Leiserson <willtor@mit.edu> 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 <willtor@mit.edu> Date: Fri Jun 25 15:04:48 2021 -0400 [Tapir] Update OCaml bindings. commit 84ac2833abfb2037cc0d74e9a6934a233abf26e3 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Sun Aug 8 22:24:25 2021 -0400 [GVN] Prevent GVN from splitting critical detach-continue edges. commit afef9ca56015cd17a667ff1e0e98c8b43bc2a5e4 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jul 22 21:25:31 2021 +0000 [StmtCilk] Cleanup implementation of CilkSpawnStmt. commit 671a5eaf1f53881640c560335e06ff0b9b8c6395 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> Date: Thu Jun 3 14:38:08 2021 -0400 [test/Tapir] Mark regression tests requiring an x86_64 target. commit fbc80f0d6f86bb924d39073ad04d9584ecbb03dc Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Fri Apr 30 11:43:24 2021 +0000 [InstCombine] Optimize tests for removing Tapir intrinsics. commit 79043b03bb7a0c573f8c1048a1bfce6ba1096d13 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Apr 26 12:31:34 2021 +0000 Bug fixes for rebase onto LLVM 12.0.0 commit a6a7624642aa524ffebf45a64d56278dbddf503f Author: TB Schardl <neboat@mit.edu> Date: Mon Apr 5 13:07:08 2021 +0000 [LoopUtils] Fix typo in stripmine.enable attribute name. commit fe52c8f8fecbe1cd0f2e236a4c1c87638df667a9 Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Mon Mar 22 03:30:09 2021 +0000 [CommonArgs] Prevent Cilksan from being linked twice when dynamically linked. commit 82a1f870afce0225f0e657f3d898e7140907645d Author: TB Schardl <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> 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 <neboat@mit.edu> Date: Tue Mar 9 19:24:24 2021 +0000 Bug fixes for rebase onto LLVM 11.1.0 commit 600300bc4c1c17ba04d2e3dd7da202b37e826c48 Author: TB Schardl <neboat@mit.edu> Date: Thu Mar 4 21:08:55 2021 +0000 …
kadircet
added a commit
to kadircet/llvm-project
that referenced
this issue
Dec 3, 2024
following ASAN failure is fixed with this patch. We store cleanups in EvalInfo, which are usually run with certain ScopeRAII objects. We can have temporaries in the cleanup stack, backed by CallStackFrame. If such temporaries aren't destroyed before the enclosing CallStackFrame, we end up accessing the freed temporary to run the cleanup. ``` ================================================================= ==553356==ERROR: AddressSanitizer: heap-use-after-free on address 0x7c63f05a65b0 at pc 0x561e4add6ae7 bp 0x7fff430f7770 sp 0x7fff430f7768 READ of size 4 at 0x7c63f05a65b0 thread T0 #0 0x561e4add6ae6 in clang::APValue::operator=(clang::APValue&&) third_party/llvm/llvm-project/clang/lib/AST/APValue.cpp:394:9 #1 0x561e4b41fd0b in (anonymous namespace)::Cleanup::endLifetime((anonymous namespace)::EvalInfo&, bool) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:749:27 #2 0x561e4b4d42a7 in (anonymous namespace)::ScopeRAII<((anonymous namespace)::ScopeKind)1>::cleanup((anonymous namespace)::EvalInfo&, bool, unsigned int) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:1449:41 llvm#3 0x561e4b4246ec in destroy third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:1427:17 llvm#4 0x561e4b4246ec in ~ScopeRAII third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:1433:9 llvm#5 0x561e4b4246ec in EvaluateCond((anonymous namespace)::EvalInfo&, clang::VarDecl const*, clang::Expr const*, bool&) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5185:1 llvm#6 0x561e4b41ea8c in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5555:17 llvm#7 0x561e4b423755 in EvaluateLoopBody((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5221:24 llvm#8 0x561e4b41d597 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5635:28 llvm#9 0x561e4b41d341 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5521:28 llvm#10 0x561e4b40113c in HandleFunctionCall(clang::SourceLocation, clang::FunctionDecl const*, (anonymous namespace)::LValue const*, clang::Expr const*, llvm::ArrayRef<clang::Expr const*>, (anonymous namespace)::CallRef, clang::Stmt const*, (anonymous namespace)::EvalInfo&, clang::APValue&, (anonymous namespace)::LValue const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6520:24 llvm#11 0x561e4b4c9652 in handleCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8332:10 llvm#12 0x561e4b4c9652 in VisitCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8132:10 llvm#13 0x561e4b4c9652 in visitNonBuiltinCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9749:28 llvm#14 0x561e4b4c9652 in (anonymous namespace)::PointerExprEvaluator::VisitCallExpr(clang::CallExpr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9763:12 llvm#15 0x561e4b4c3e5b in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::PointerExprEvaluator, bool>::Visit(clang::Stmt const*) blaze-out/k8-opt-asan/genfiles/third_party/llvm/llvm-project/clang/include/clang/AST/StmtNodes.inc llvm#16 0x561e4b3ff820 in EvaluatePointer third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9458:60 llvm#17 0x561e4b3ff820 in Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16343:10 llvm#18 0x561e4b41f204 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5511:17 llvm#19 0x561e4b41d341 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5521:28 llvm#20 0x561e4b40113c in HandleFunctionCall(clang::SourceLocation, clang::FunctionDecl const*, (anonymous namespace)::LValue const*, clang::Expr const*, llvm::ArrayRef<clang::Expr const*>, (anonymous namespace)::CallRef, clang::Stmt const*, (anonymous namespace)::EvalInfo&, clang::APValue&, (anonymous namespace)::LValue const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6520:24 llvm#21 0x561e4b4c9652 in handleCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8332:10 llvm#22 0x561e4b4c9652 in VisitCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8132:10 llvm#23 0x561e4b4c9652 in visitNonBuiltinCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9749:28 llvm#24 0x561e4b4c9652 in (anonymous namespace)::PointerExprEvaluator::VisitCallExpr(clang::CallExpr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9763:12 llvm#25 0x561e4b4c3e5b in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::PointerExprEvaluator, bool>::Visit(clang::Stmt const*) blaze-out/k8-opt-asan/genfiles/third_party/llvm/llvm-project/clang/include/clang/AST/StmtNodes.inc llvm#26 0x561e4b3ff820 in EvaluatePointer third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9458:60 llvm#27 0x561e4b3ff820 in Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16343:10 llvm#28 0x561e4b4ad3c2 in EvaluateAsBooleanCondition third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:2742:8 llvm#29 0x561e4b4ad3c2 in (anonymous namespace)::IntExprEvaluator::VisitCastExpr(clang::CastExpr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:14877:10 llvm#30 0x561e4b49f192 in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt const*) third_party/llvm/llvm-project/clang/include/clang/AST/StmtVisitor.h llvm#31 0x561e4b3ff8af in Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16339:41 llvm#32 0x561e4b4a0dd2 in EvaluateAsBooleanCondition third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:2742:8 llvm#33 0x561e4b4a0dd2 in (anonymous namespace)::IntExprEvaluator::VisitUnaryOperator(clang::UnaryOperator const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:14795:10 llvm#34 0x561e4b49f0db in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt const*) third_party/llvm/llvm-project/clang/include/clang/AST/StmtVisitor.h llvm#35 0x561e4b3ff8af in Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16339:41 llvm#36 0x561e4b3fbe35 in EvaluateAsRValue((anonymous namespace)::EvalInfo&, clang::Expr const*, clang::APValue&) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16455:8 llvm#37 0x561e4b3fc278 in clang::Expr::EvaluateForOverflow(clang::ASTContext const&) const third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16903:11 llvm#38 0x561e4a020e69 in clang::Sema::CheckForIntOverflow(clang::Expr const*) third_party/crosstool/v18/stable/src/libcxx/include/__memory/uninitialized_algorithms.h llvm#39 0x561e4a021cd7 in clang::Sema::CheckCompletedExpr(clang::Expr*, clang::SourceLocation, bool) third_party/llvm/llvm-project/clang/lib/Sema/SemaChecking.cpp:12989:5 llvm#40 0x561e4a4b9d2e in clang::Sema::ActOnFinishFullExpr(clang::Expr*, clang::SourceLocation, bool, bool, bool) third_party/llvm/llvm-project/clang/lib/Sema/SemaExprCXX.cpp:9225:3 llvm#41 0x561e4a372e20 in MakeFullExpr third_party/llvm/llvm-project/clang/include/clang/Sema/Sema.h:7292:9 llvm#42 0x561e4a372e20 in clang::Sema::ActOnCondition(clang::Scope*, clang::SourceLocation, clang::Expr*, clang::Sema::ConditionKind, bool) third_party/llvm/llvm-project/clang/lib/Sema/SemaExpr.cpp:20363:26 llvm#43 0x561e49b5407d in clang::Parser::ParseCXXCondition(clang::ActionResult<clang::Stmt*, true>*, clang::SourceLocation, clang::Sema::ConditionKind, bool, clang::Parser::ForRangeInfo*, bool) third_party/llvm/llvm-project/clang/lib/Parse/ParseExprCXX.cpp:2204:20 llvm#44 0x561e49c000a8 in clang::Parser::ParseParenExprOrCondition(clang::ActionResult<clang::Stmt*, true>*, clang::Sema::ConditionResult&, clang::SourceLocation, clang::Sema::ConditionKind, clang::SourceLocation&, clang::SourceLocation&) third_party/llvm/llvm-project/clang/lib/Parse/ParseStmt.cpp:1376:12 llvm#45 0x561e49bf6c2f in clang::Parser::ParseIfStatement(clang::SourceLocation*) third_party/llvm/llvm-project/clang/lib/Parse/ParseStmt.cpp:1587:9 llvm#46 0x561e49bf2d6d in clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) third_party/llvm/llvm-project/clang/lib/Parse/ParseStmt.cpp:325:12 llvm#47 0x561e49bf0a6e in clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) third_party/llvm/llvm-project/clang/lib/Parse/ParseStmt.cpp:125:20 llvm#48 0x561e49bff57d in clang::Parser::ParseCompoundStatementBody(bool) third_party/llvm/llvm-project/clang/lib/Parse/ParseStmt.cpp:1267:11 llvm#49 0x561e49c0136e in clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) third_party/llvm/llvm-project/clang/lib/Parse/ParseStmt.cpp:2577:21 llvm#50 0x561e49afa4fd in clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp:1520:10 llvm#51 0x561e49ba6e44 in clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) third_party/llvm/llvm-project/clang/lib/Parse/ParseDecl.cpp:2460:17 llvm#52 0x561e49af8746 in clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp:1244:10 llvm#53 0x561e49af79f8 in clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp:1266:12 llvm#54 0x561e49af5d96 in clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp:1069:14 llvm#55 0x561e49b6c42c in clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:276:7 llvm#56 0x561e49b6c5d7 in clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:298:3 llvm#57 0x561e49b6b7c3 in clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) third_party/llvm/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp:253:3 llvm#58 0x561e49ba337a in clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) third_party/llvm/llvm-project/clang/lib/Parse/ParseDecl.cpp llvm#59 0x561e49af563a in clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp:985:14 llvm#60 0x561e49af3779 in clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) third_party/llvm/llvm-project/clang/lib/Parse/Parser.cpp:758:12 llvm#61 0x561e49aec6ae in clang::ParseAST(clang::Sema&, bool, bool) third_party/llvm/llvm-project/clang/lib/Parse/ParseAST.cpp:171:20 llvm#62 0x561e496f13ae in clang::ASTFrontendAction::ExecuteAction() third_party/llvm/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1191:3 llvm#63 0x561e496f0874 in clang::FrontendAction::Execute() third_party/llvm/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1077:8 llvm#64 0x561e49644511 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) third_party/llvm/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1062:33 llvm#65 0x561e47ffe1b9 in clang::ExecuteCompilerInvocation(clang::CompilerInstance*) third_party/llvm/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:296:25 llvm#66 0x561e47fee631 in cc1_main(llvm::ArrayRef<char const*>, char const*, void*) third_party/llvm/llvm-project/clang/tools/driver/cc1_main.cpp:286:15 llvm#67 0x561e47fe9912 in ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) third_party/llvm/llvm-project/clang/tools/driver/driver.cpp:218:12 llvm#68 0x561e47fec7e6 in operator() third_party/llvm/llvm-project/clang/tools/driver/driver.cpp:360:14 llvm#69 0x561e47fec7e6 in int llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**, llvm::ToolContext const&)::$_0>(long, llvm::SmallVectorImpl<char const*>&) third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12 #70 0x561e498bc531 in operator() third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12 llvm#71 0x561e498bc531 in operator() third_party/llvm/llvm-project/clang/lib/Driver/Job.cpp:437:34 llvm#72 0x561e498bc531 in void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__u::optional<llvm::StringRef>>, std::__u::basic_string<char, std::__u::char_traits<char>, std::__u::allocator<char>>*, bool*) const::$_0>(long) third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12 llvm#73 0x561e4ff969e8 in operator() third_party/llvm/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12 llvm#74 0x561e4ff969e8 in llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) third_party/llvm/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:426:3 llvm#75 0x561e498bb331 in clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__u::optional<llvm::StringRef>>, std::__u::basic_string<char, std::__u::char_traits<char>, std::__u::allocator<char>>*, bool*) const third_party/llvm/llvm-project/clang/lib/Driver/Job.cpp:437:12 llvm#76 0x561e49860e38 in clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const third_party/llvm/llvm-project/clang/lib/Driver/Compilation.cpp:196:15 llvm#77 0x561e49861154 in clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__u::pair<int, clang::driver::Command const*>>&, bool) const third_party/llvm/llvm-project/clang/lib/Driver/Compilation.cpp:250:19 llvm#78 0x561e49886037 in clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__u::pair<int, clang::driver::Command const*>>&) third_party/llvm/llvm-project/clang/lib/Driver/Driver.cpp:1968:5 llvm#79 0x561e47fe8c7d in clang_main(int, char**, llvm::ToolContext const&) third_party/llvm/llvm-project/clang/tools/driver/driver.cpp:396:21 llvm#80 0x561e47fe6ae7 in main blaze-out/k8-opt-asan/bin/third_party/llvm/llvm-project/clang/clang-driver.cpp:17:10 llvm#81 0x7fb3f13c33d3 in __libc_start_main (/usr/grte/v5/lib64/libc.so.6+0x613d3) (BuildId: 9a996398ce14a94560b0c642eb4f6e94) llvm#82 0x561e47f0a229 in _start /usr/grte/v5/debug-src/src/csu/../sysdeps/x86_64/start.S:120 0x7c63f05a65b0 is located 48 bytes inside of 104-byte region [0x7c63f05a6580,0x7c63f05a65e8) freed by thread T0 here: #0 0x561e47fe5342 in operator delete(void*, unsigned long) third_party/llvm/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:155:3 #1 0x561e4b4c2fcc in __libcpp_operator_delete<void *, unsigned long> third_party/crosstool/v18/stable/src/libcxx/include/new:286:3 #2 0x561e4b4c2fcc in __do_deallocate_handle_size<> third_party/crosstool/v18/stable/src/libcxx/include/new:310:10 llvm#3 0x561e4b4c2fcc in __libcpp_deallocate third_party/crosstool/v18/stable/src/libcxx/include/new:323:12 llvm#4 0x561e4b4c2fcc in deallocate third_party/crosstool/v18/stable/src/libcxx/include/__memory/allocator.h:135:7 llvm#5 0x561e4b4c2fcc in deallocate third_party/crosstool/v18/stable/src/libcxx/include/__memory/allocator_traits.h:313:9 llvm#6 0x561e4b4c2fcc in std::__u::__tree<std::__u::__value_type<std::__u::pair<void const*, unsigned int>, clang::APValue>, std::__u::__map_value_compare<std::__u::pair<void const*, unsigned int>, std::__u::__value_type<std::__u::pair<void const*, unsigned int>, clang::APValue>, std::__u::less<std::__u::pair<void const*, unsigned int>>, true>, std::__u::allocator<std::__u::__value_type<std::__u::pair<void const*, unsigned int>, clang::APValue>>>::destroy(std::__u::__tree_node<std::__u::__value_type<std::__u::pair<void const*, unsigned int>, clang::APValue>, void*>*) third_party/crosstool/v18/stable/src/libcxx/include/__tree:1549:5 llvm#7 0x561e4b400340 in ~__tree third_party/crosstool/v18/stable/src/libcxx/include/__tree:1539:3 llvm#8 0x561e4b400340 in ~map third_party/crosstool/v18/stable/src/libcxx/include/map:1138:112 llvm#9 0x561e4b400340 in (anonymous namespace)::CallStackFrame::~CallStackFrame() third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:1524:1 llvm#10 0x561e4b49697b in HandleConstructorCall(clang::Expr const*, (anonymous namespace)::LValue const&, (anonymous namespace)::CallRef, clang::CXXConstructorDecl const*, (anonymous namespace)::EvalInfo&, clang::APValue&) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6742:1 llvm#11 0x561e4b400cca in HandleConstructorCall(clang::Expr const*, (anonymous namespace)::LValue const&, llvm::ArrayRef<clang::Expr const*>, clang::CXXConstructorDecl const*, (anonymous namespace)::EvalInfo&, clang::APValue&) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6753:10 llvm#12 0x561e4b45cfae in (anonymous namespace)::RecordExprEvaluator::VisitCXXConstructExpr(clang::CXXConstructExpr const*, clang::QualType) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:10792:10 llvm#13 0x561e4b45dae7 in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::RecordExprEvaluator, bool>::Visit(clang::Stmt const*) blaze-out/k8-opt-asan/genfiles/third_party/llvm/llvm-project/clang/include/clang/AST/StmtNodes.inc llvm#14 0x561e4b3f963e in EvaluateRecord third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:10917:50 llvm#15 0x561e4b3f963e in EvaluateInPlace(clang::APValue&, (anonymous namespace)::EvalInfo&, (anonymous namespace)::LValue const&, clang::Expr const*, bool) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16425:14 llvm#16 0x561e4b3ff0b3 in EvaluateCallArg(clang::ParmVarDecl const*, clang::Expr const*, (anonymous namespace)::CallRef, (anonymous namespace)::EvalInfo&, bool) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6403:8 llvm#17 0x561e4b440530 in EvaluateArgs(llvm::ArrayRef<clang::Expr const*>, (anonymous namespace)::CallRef, (anonymous namespace)::EvalInfo&, clang::FunctionDecl const*, bool) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6442:10 llvm#18 0x561e4b4a503e in handleCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8298:12 llvm#19 0x561e4b4a503e in VisitCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8132:10 llvm#20 0x561e4b4a503e in (anonymous namespace)::IntExprEvaluator::VisitCallExpr(clang::CallExpr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:12700:33 llvm#21 0x561e4b49f1a5 in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt const*) third_party/llvm/llvm-project/clang/include/clang/AST/StmtVisitor.h llvm#22 0x561e4b3ff8af in Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16339:41 llvm#23 0x561e4b424658 in EvaluateAsBooleanCondition third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:2742:8 llvm#24 0x561e4b424658 in EvaluateCond((anonymous namespace)::EvalInfo&, clang::VarDecl const*, clang::Expr const*, bool&) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5182:8 llvm#25 0x561e4b41ea8c in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5555:17 llvm#26 0x561e4b423755 in EvaluateLoopBody((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5221:24 llvm#27 0x561e4b41d597 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5635:28 llvm#28 0x561e4b41d341 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5521:28 llvm#29 0x561e4b40113c in HandleFunctionCall(clang::SourceLocation, clang::FunctionDecl const*, (anonymous namespace)::LValue const*, clang::Expr const*, llvm::ArrayRef<clang::Expr const*>, (anonymous namespace)::CallRef, clang::Stmt const*, (anonymous namespace)::EvalInfo&, clang::APValue&, (anonymous namespace)::LValue const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6520:24 llvm#30 0x561e4b4c9652 in handleCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8332:10 llvm#31 0x561e4b4c9652 in VisitCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8132:10 llvm#32 0x561e4b4c9652 in visitNonBuiltinCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9749:28 llvm#33 0x561e4b4c9652 in (anonymous namespace)::PointerExprEvaluator::VisitCallExpr(clang::CallExpr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9763:12 llvm#34 0x561e4b4c3e5b in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::PointerExprEvaluator, bool>::Visit(clang::Stmt const*) blaze-out/k8-opt-asan/genfiles/third_party/llvm/llvm-project/clang/include/clang/AST/StmtNodes.inc llvm#35 0x561e4b3ff820 in EvaluatePointer third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9458:60 llvm#36 0x561e4b3ff820 in Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16343:10 llvm#37 0x561e4b41f204 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5511:17 llvm#38 0x561e4b41d341 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5521:28 llvm#39 0x561e4b40113c in HandleFunctionCall(clang::SourceLocation, clang::FunctionDecl const*, (anonymous namespace)::LValue const*, clang::Expr const*, llvm::ArrayRef<clang::Expr const*>, (anonymous namespace)::CallRef, clang::Stmt const*, (anonymous namespace)::EvalInfo&, clang::APValue&, (anonymous namespace)::LValue const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6520:24 llvm#40 0x561e4b4c9652 in handleCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8332:10 llvm#41 0x561e4b4c9652 in VisitCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8132:10 llvm#42 0x561e4b4c9652 in visitNonBuiltinCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9749:28 llvm#43 0x561e4b4c9652 in (anonymous namespace)::PointerExprEvaluator::VisitCallExpr(clang::CallExpr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9763:12 llvm#44 0x561e4b4c3e5b in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::PointerExprEvaluator, bool>::Visit(clang::Stmt const*) blaze-out/k8-opt-asan/genfiles/third_party/llvm/llvm-project/clang/include/clang/AST/StmtNodes.inc llvm#45 0x561e4b3ff820 in EvaluatePointer third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9458:60 llvm#46 0x561e4b3ff820 in Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16343:10 llvm#47 0x561e4b4ad3c2 in EvaluateAsBooleanCondition third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:2742:8 llvm#48 0x561e4b4ad3c2 in (anonymous namespace)::IntExprEvaluator::VisitCastExpr(clang::CastExpr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:14877:10 llvm#49 0x561e4b49f192 in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt const*) third_party/llvm/llvm-project/clang/include/clang/AST/StmtVisitor.h previously allocated by thread T0 here: #0 0x561e47fe46bd in operator new(unsigned long) third_party/llvm/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:86:3 #1 0x561e4b424d00 in __libcpp_operator_new<unsigned long> third_party/crosstool/v18/stable/src/libcxx/include/new:277:10 #2 0x561e4b424d00 in __libcpp_allocate third_party/crosstool/v18/stable/src/libcxx/include/new:301:10 llvm#3 0x561e4b424d00 in allocate third_party/crosstool/v18/stable/src/libcxx/include/__memory/allocator.h:120:32 llvm#4 0x561e4b424d00 in allocate third_party/crosstool/v18/stable/src/libcxx/include/__memory/allocator_traits.h:281:16 llvm#5 0x561e4b424d00 in __construct_node<const std::__u::piecewise_construct_t &, std::__u::tuple<std::__u::pair<const void *, unsigned int> &&>, std::__u::tuple<> > third_party/crosstool/v18/stable/src/libcxx/include/__tree:1820:21 llvm#6 0x561e4b424d00 in std::__u::pair<std::__u::__tree_iterator<std::__u::__value_type<std::__u::pair<void const*, unsigned int>, clang::APValue>, std::__u::__tree_node<std::__u::__value_type<std::__u::pair<void const*, unsigned int>, clang::APValue>, void*>*, long>, bool> std::__u::__tree<std::__u::__value_type<std::__u::pair<void const*, unsigned int>, clang::APValue>, std::__u::__map_value_compare<std::__u::pair<void const*, unsigned int>, std::__u::__value_type<std::__u::pair<void const*, unsigned int>, clang::APValue>, std::__u::less<std::__u::pair<void const*, unsigned int>>, true>, std::__u::allocator<std::__u::__value_type<std::__u::pair<void const*, unsigned int>, clang::APValue>>>::__emplace_unique_key_args<std::__u::pair<void const*, unsigned int>, std::__u::piecewise_construct_t const&, std::__u::tuple<std::__u::pair<void const*, unsigned int>&&>, std::__u::tuple<>>(std::__u::pair<void const*, unsigned int> const&, std::__u::piecewise_construct_t const&, std::__u::tuple<std::__u::pair<void const*, unsigned int>&&>&&, std::__u::tuple<>&&) third_party/crosstool/v18/stable/src/libcxx/include/__tree:1787:25 llvm#7 0x561e4b424a03 in operator[] third_party/crosstool/v18/stable/src/libcxx/include/map:1531:8 llvm#8 0x561e4b424a03 in (anonymous namespace)::CallStackFrame::createLocal(clang::APValue::LValueBase, void const*, clang::QualType, (anonymous namespace)::ScopeKind) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:1963:21 llvm#9 0x561e4b42bd95 in clang::APValue& (anonymous namespace)::CallStackFrame::createTemporary<clang::Expr>(clang::Expr const*, clang::QualType, (anonymous namespace)::ScopeKind, (anonymous namespace)::LValue&) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:1944:10 llvm#10 0x561e4b3ffd17 in Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16367:27 llvm#11 0x561e4b40429c in handleLValueToRValueConversion((anonymous namespace)::EvalInfo&, clang::Expr const*, clang::QualType, (anonymous namespace)::LValue const&, clang::APValue&, bool) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:4518:12 llvm#12 0x561e4b496e9c in handleTrivialCopy((anonymous namespace)::EvalInfo&, clang::ParmVarDecl const*, clang::Expr const*, clang::APValue&, bool) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6469:10 llvm#13 0x561e4b494fdd in HandleConstructorCall(clang::Expr const*, (anonymous namespace)::LValue const&, (anonymous namespace)::CallRef, clang::CXXConstructorDecl const*, (anonymous namespace)::EvalInfo&, clang::APValue&) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6582:12 llvm#14 0x561e4b400cca in HandleConstructorCall(clang::Expr const*, (anonymous namespace)::LValue const&, llvm::ArrayRef<clang::Expr const*>, clang::CXXConstructorDecl const*, (anonymous namespace)::EvalInfo&, clang::APValue&) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6753:10 llvm#15 0x561e4b45cfae in (anonymous namespace)::RecordExprEvaluator::VisitCXXConstructExpr(clang::CXXConstructExpr const*, clang::QualType) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:10792:10 llvm#16 0x561e4b45dae7 in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::RecordExprEvaluator, bool>::Visit(clang::Stmt const*) blaze-out/k8-opt-asan/genfiles/third_party/llvm/llvm-project/clang/include/clang/AST/StmtNodes.inc llvm#17 0x561e4b3f963e in EvaluateRecord third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:10917:50 llvm#18 0x561e4b3f963e in EvaluateInPlace(clang::APValue&, (anonymous namespace)::EvalInfo&, (anonymous namespace)::LValue const&, clang::Expr const*, bool) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16425:14 llvm#19 0x561e4b3ff0b3 in EvaluateCallArg(clang::ParmVarDecl const*, clang::Expr const*, (anonymous namespace)::CallRef, (anonymous namespace)::EvalInfo&, bool) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6403:8 llvm#20 0x561e4b440530 in EvaluateArgs(llvm::ArrayRef<clang::Expr const*>, (anonymous namespace)::CallRef, (anonymous namespace)::EvalInfo&, clang::FunctionDecl const*, bool) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6442:10 llvm#21 0x561e4b4a503e in handleCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8298:12 llvm#22 0x561e4b4a503e in VisitCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8132:10 llvm#23 0x561e4b4a503e in (anonymous namespace)::IntExprEvaluator::VisitCallExpr(clang::CallExpr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:12700:33 llvm#24 0x561e4b49f1a5 in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt const*) third_party/llvm/llvm-project/clang/include/clang/AST/StmtVisitor.h llvm#25 0x561e4b3ff8af in Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16339:41 llvm#26 0x561e4b424658 in EvaluateAsBooleanCondition third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:2742:8 llvm#27 0x561e4b424658 in EvaluateCond((anonymous namespace)::EvalInfo&, clang::VarDecl const*, clang::Expr const*, bool&) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5182:8 llvm#28 0x561e4b41ea8c in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5555:17 llvm#29 0x561e4b423755 in EvaluateLoopBody((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5221:24 llvm#30 0x561e4b41d597 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5635:28 llvm#31 0x561e4b41d341 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5521:28 llvm#32 0x561e4b40113c in HandleFunctionCall(clang::SourceLocation, clang::FunctionDecl const*, (anonymous namespace)::LValue const*, clang::Expr const*, llvm::ArrayRef<clang::Expr const*>, (anonymous namespace)::CallRef, clang::Stmt const*, (anonymous namespace)::EvalInfo&, clang::APValue&, (anonymous namespace)::LValue const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6520:24 llvm#33 0x561e4b4c9652 in handleCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8332:10 llvm#34 0x561e4b4c9652 in VisitCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8132:10 llvm#35 0x561e4b4c9652 in visitNonBuiltinCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9749:28 llvm#36 0x561e4b4c9652 in (anonymous namespace)::PointerExprEvaluator::VisitCallExpr(clang::CallExpr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9763:12 llvm#37 0x561e4b4c3e5b in clang::StmtVisitorBase<llvm::make_const_ptr, (anonymous namespace)::PointerExprEvaluator, bool>::Visit(clang::Stmt const*) blaze-out/k8-opt-asan/genfiles/third_party/llvm/llvm-project/clang/include/clang/AST/StmtNodes.inc llvm#38 0x561e4b3ff820 in EvaluatePointer third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9458:60 llvm#39 0x561e4b3ff820 in Evaluate(clang::APValue&, (anonymous namespace)::EvalInfo&, clang::Expr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:16343:10 llvm#40 0x561e4b41f204 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5511:17 llvm#41 0x561e4b41d341 in EvaluateStmt((anonymous namespace)::StmtResult&, (anonymous namespace)::EvalInfo&, clang::Stmt const*, clang::SwitchCase const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:5521:28 llvm#42 0x561e4b40113c in HandleFunctionCall(clang::SourceLocation, clang::FunctionDecl const*, (anonymous namespace)::LValue const*, clang::Expr const*, llvm::ArrayRef<clang::Expr const*>, (anonymous namespace)::CallRef, clang::Stmt const*, (anonymous namespace)::EvalInfo&, clang::APValue&, (anonymous namespace)::LValue const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:6520:24 llvm#43 0x561e4b4c9652 in handleCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8332:10 llvm#44 0x561e4b4c9652 in VisitCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:8132:10 llvm#45 0x561e4b4c9652 in visitNonBuiltinCallExpr third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9749:28 llvm#46 0x561e4b4c9652 in (anonymous namespace)::PointerExprEvaluator::VisitCallExpr(clang::CallExpr const*) third_party/llvm/llvm-project/clang/lib/AST/ExprConstant.cpp:9763:12 ```
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Trying to add a backend and kept running into an error saying that my backend was not in the project.
I was following https://llvm.org/docs/WritingAnLLVMBackend.html#id7 that never mentions that you have to add your
target/backend
as sub dir in the LLVMBuild.txt in the target directory...(at least that was the fix for me)
[frustration]When the getting started docs are not accurate it makes it very difficult...[/frustration]
The text was updated successfully, but these errors were encountered: