Skip to content
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

get wrong result when compile c to wasm with -ffreestanding flag #78

Closed
elvin-du opened this issue Dec 25, 2019 · 1 comment
Closed

Comments

@elvin-du
Copy link

compile pow function that musl standard c library to wasm using clang, when with -ffreestanding flag, will get wrong result. for example:

#include <math.h>
void printdf(double a):
void test(){
         printdf(pow((double)2.0, (double)0.3));
}

use following command to compile:

clang  --target=wasm32 -ffreestanding ............... -o test.wasm

the function print 1,not 1.2311444133449163.

I test using all following version of clang, the results are the same, all are 1.

version:

v4.0, v7.0, v9.0

but, if I do not with -ffreestanding flag, all the result are 1.2311444133449163.

test environment:

OS:

apple, and centos

arch:

x86-64

@elvin-du
Copy link
Author

elvin-du commented Jan 6, 2020

sorry, I got the answer. It's not the problem of clang, but it's the bug of VM that i used.

@elvin-du elvin-du closed this as completed Jan 6, 2020
stelleg pushed a commit to lanl/kitsune that referenced this issue Feb 21, 2020
jamesmth pushed a commit to jamesmth/llvm-project that referenced this issue Dec 5, 2022
This patch fixes a corruption of the stack pointer and several registers in any AVR interrupt with non-empty stack frame.  Previously, the callee-saved registers were popped before restoring the stack pointer, causing the pointer math to use the wrong base value while also corrupting the caller's register.  This change fixes the code to restore the stack pointer last before exiting the interrupt service routine.

https://bugs.llvm.org/show_bug.cgi?id=47253

Reviewed By: dylanmckay

Differential Revision: https://reviews.llvm.org/D87735

Patch by Andrew Dona-Couch.
tarunprabhu pushed a commit to tarunprabhu/kitsune that referenced this issue Apr 4, 2023
tarunprabhu pushed a commit to tarunprabhu/kitsune that referenced this issue Apr 4, 2023
stack is not sunk into a setjmp construct, specifically, between the
longjmp destination and the test.  Addresses issue llvm#78.
trevor-m pushed a commit to trevor-m/llvm-project that referenced this issue Apr 20, 2023
Summary:
feature coverage is a useful signal that is available during the merge
process, but was not printed previously.

Output example:

```
$ ./fuzzer -use_value_profile=1 -merge=1 new_corpus/ seed_corpus/
INFO: Seed: 1676551929
INFO: Loaded 1 modules   (2380 inline 8-bit counters): 2380 [0x90d180, 0x90dacc), 
INFO: Loaded 1 PC tables (2380 PCs): 2380 [0x684018,0x68d4d8), 
MERGE-OUTER: 180 files, 78 in the initial corpus
MERGE-OUTER: attempt 1
INFO: Seed: 1676574577
INFO: Loaded 1 modules   (2380 inline 8-bit counters): 2380 [0x90d180, 0x90dacc), 
INFO: Loaded 1 PC tables (2380 PCs): 2380 [0x684018,0x68d4d8), 
INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 1048576 bytes
MERGE-INNER: using the control file '/tmp/libFuzzerTemp.111754.txt'
MERGE-INNER: 180 total files; 0 processed earlier; will process 180 files now
llvm#1	pulse  cov: 134 ft: 330 exec/s: 0 rss: 37Mb
llvm#2	pulse  cov: 142 ft: 462 exec/s: 0 rss: 38Mb
llvm#4	pulse  cov: 152 ft: 651 exec/s: 0 rss: 38Mb
llvm#8	pulse  cov: 152 ft: 943 exec/s: 0 rss: 38Mb
llvm#16	pulse  cov: 520 ft: 2783 exec/s: 0 rss: 39Mb
llvm#32	pulse  cov: 552 ft: 3280 exec/s: 0 rss: 41Mb
llvm#64	pulse  cov: 576 ft: 3641 exec/s: 0 rss: 50Mb
llvm#78	LOADED cov: 602 ft: 3936 exec/s: 0 rss: 88Mb
llvm#128	pulse  cov: 611 ft: 3996 exec/s: 0 rss: 93Mb
llvm#180	DONE   cov: 611 ft: 4016 exec/s: 0 rss: 155Mb
MERGE-OUTER: succesfull in 1 attempt(s)
MERGE-OUTER: the control file has 39741 bytes
MERGE-OUTER: consumed 0Mb (37Mb rss) to parse the control file
MERGE-OUTER: 9 new files with 80 new features added; 9 new coverage edges
```

Reviewers: hctim, morehouse

Reviewed By: morehouse

Subscribers: delcypher, #sanitizers, llvm-commits, kcc

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D66030

llvm-svn: 368617
pmccormick pushed a commit to lanl/kitsune that referenced this issue May 17, 2023
pmccormick pushed a commit to lanl/kitsune that referenced this issue May 17, 2023
stack is not sunk into a setjmp construct, specifically, between the
longjmp destination and the test.  Addresses issue llvm#78.
stelleg pushed a commit to stelleg/llvm-project that referenced this issue Jun 13, 2023
stelleg pushed a commit to stelleg/llvm-project that referenced this issue Jun 13, 2023
stack is not sunk into a setjmp construct, specifically, between the
longjmp destination and the test.  Addresses issue llvm#78.
tarunprabhu pushed a commit to tarunprabhu/kitsune that referenced this issue Jul 25, 2023
stack is not sunk into a setjmp construct, specifically, between the
longjmp destination and the test.  Addresses issue llvm#78.
searlmc1 referenced this issue in ROCm/llvm-project Aug 23, 2023
jeffreytan81 pushed a commit to jeffreytan81/llvm-project that referenced this issue Sep 21, 2023
… provider

We noticed some performance issue while in lldb-vscode for grabing the name of the SBValue.
Profiling shows SBValue::GetName() can cause synthetic children provider of shared/unique_ptr
to deference underlying object and complete it type.

This patch lazily moves the dereference from synthetic child provider's Update() method to
GetChildAtIndex() so that SBValue::GetName() won't trigger the slow code path.

Here is the culprit slow code path:
```
...
frame llvm#59: 0x00007ff4102e0660 liblldb.so.15`SymbolFileDWARF::CompleteType(this=<unavailable>, compiler_type=0x00007ffdd9829450) at SymbolFileDWARF.cpp:1567:25 [opt]
...
frame llvm#67: 0x00007ff40fdf9bd4 liblldb.so.15`lldb_private::ValueObject::Dereference(this=0x0000022bb5dfe980, error=0x00007ffdd9829970) at ValueObject.cpp:2672:41 [opt]
frame llvm#68: 0x00007ff41011bb0a liblldb.so.15`(anonymous namespace)::LibStdcppSharedPtrSyntheticFrontEnd::Update(this=0x000002298fb94380) at LibStdcpp.cpp:403:40 [opt]
frame llvm#69: 0x00007ff41011af9a liblldb.so.15`lldb_private::formatters::LibStdcppSharedPtrSyntheticFrontEndCreator(lldb_private::CXXSyntheticChildren*, std::shared_ptr<lldb_private::ValueObject>) [inlined] (anonymous namespace)::LibStdcppSharedPtrSyntheticFrontEnd::LibStdcppSharedPtrSyntheticFrontEnd(this=0x000002298fb94380, valobj_sp=<unavailable>) at LibStdcpp.cpp:371:5 [opt]
...
frame llvm#78: 0x00007ff40fdf6e42 liblldb.so.15`lldb_private::ValueObject::CalculateSyntheticValue(this=0x000002296c66a500) at ValueObject.cpp:1836:27 [opt]
frame llvm#79: 0x00007ff40fdf1939 liblldb.so.15`lldb_private::ValueObject::GetSyntheticValue(this=<unavailable>) at ValueObject.cpp:1867:3 [opt]
frame llvm#80: 0x00007ff40fc89008 liblldb.so.15`ValueImpl::GetSP(this=0x0000022c71b90de0, stop_locker=0x00007ffdd9829d00, lock=0x00007ffdd9829d08, error=0x00007ffdd9829d18) at SBValue.cpp:141:46 [opt]
frame llvm#81: 0x00007ff40fc7d82a liblldb.so.15`lldb::SBValue::GetSP(ValueLocker&) const [inlined] ValueLocker::GetLockedSP(this=0x00007ffdd9829d00, in_value=<unavailable>) at SBValue.cpp:208:21 [opt]
frame llvm#82: 0x00007ff40fc7d817 liblldb.so.15`lldb::SBValue::GetSP(this=0x00007ffdd9829d90, locker=0x00007ffdd9829d00) const at SBValue.cpp:1047:17 [opt]
frame llvm#83: 0x00007ff40fc7da6f liblldb.so.15`lldb::SBValue::GetName(this=0x00007ffdd9829d90) at SBValue.cpp:294:32 [opt]
...
```

Differential Revision: https://reviews.llvm.org/D159542
jeffreytan81 pushed a commit that referenced this issue Sep 21, 2023
#67069)

We noticed some performance issue while in lldb-vscode for grabing the
name of the SBValue. Profiling shows SBValue::GetName() can cause
synthetic children provider of shared/unique_ptr to deference underlying
object and complete it type.

This patch lazily moves the dereference from synthetic child provider's
Update() method to GetChildAtIndex() so that SBValue::GetName() won't
trigger the slow code path.

Here is the culprit slow code path:
```
...
frame #59: 0x00007ff4102e0660 liblldb.so.15`SymbolFileDWARF::CompleteType(this=<unavailable>, compiler_type=0x00007ffdd9829450) at SymbolFileDWARF.cpp:1567:25 [opt]
...
frame #67: 0x00007ff40fdf9bd4 liblldb.so.15`lldb_private::ValueObject::Dereference(this=0x0000022bb5dfe980, error=0x00007ffdd9829970) at ValueObject.cpp:2672:41 [opt]
frame #68: 0x00007ff41011bb0a liblldb.so.15`(anonymous namespace)::LibStdcppSharedPtrSyntheticFrontEnd::Update(this=0x000002298fb94380) at LibStdcpp.cpp:403:40 [opt]
frame #69: 0x00007ff41011af9a liblldb.so.15`lldb_private::formatters::LibStdcppSharedPtrSyntheticFrontEndCreator(lldb_private::CXXSyntheticChildren*, std::shared_ptr<lldb_private::ValueObject>) [inlined] (anonymous namespace)::LibStdcppSharedPtrSyntheticFrontEnd::LibStdcppSharedPtrSyntheticFrontEnd(this=0x000002298fb94380, valobj_sp=<unavailable>) at LibStdcpp.cpp:371:5 [opt]
...
frame #78: 0x00007ff40fdf6e42 liblldb.so.15`lldb_private::ValueObject::CalculateSyntheticValue(this=0x000002296c66a500) at ValueObject.cpp:1836:27 [opt]
frame #79: 0x00007ff40fdf1939 liblldb.so.15`lldb_private::ValueObject::GetSyntheticValue(this=<unavailable>) at ValueObject.cpp:1867:3 [opt]
frame #80: 0x00007ff40fc89008 liblldb.so.15`ValueImpl::GetSP(this=0x0000022c71b90de0, stop_locker=0x00007ffdd9829d00, lock=0x00007ffdd9829d08, error=0x00007ffdd9829d18) at SBValue.cpp:141:46 [opt]
frame #81: 0x00007ff40fc7d82a liblldb.so.15`lldb::SBValue::GetSP(ValueLocker&) const [inlined] ValueLocker::GetLockedSP(this=0x00007ffdd9829d00, in_value=<unavailable>) at SBValue.cpp:208:21 [opt]
frame #82: 0x00007ff40fc7d817 liblldb.so.15`lldb::SBValue::GetSP(this=0x00007ffdd9829d90, locker=0x00007ffdd9829d00) const at SBValue.cpp:1047:17 [opt]
frame #83: 0x00007ff40fc7da6f liblldb.so.15`lldb::SBValue::GetName(this=0x00007ffdd9829d90) at SBValue.cpp:294:32 [opt]
...
```

Differential Revision: https://reviews.llvm.org/D159542
tarunprabhu pushed a commit to tarunprabhu/kitsune that referenced this issue Sep 26, 2023
tarunprabhu pushed a commit to tarunprabhu/kitsune that referenced this issue Sep 26, 2023
stack is not sunk into a setjmp construct, specifically, between the
longjmp destination and the test.  Addresses issue llvm#78.
tarunprabhu pushed a commit to tarunprabhu/kitsune that referenced this issue Oct 12, 2023
tarunprabhu pushed a commit to tarunprabhu/kitsune that referenced this issue Oct 12, 2023
stack is not sunk into a setjmp construct, specifically, between the
longjmp destination and the test.  Addresses issue llvm#78.
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…
lanza pushed a commit to lanza/llvm-project that referenced this issue Feb 22, 2024
This PR adds a dedicated `cir.float` type for representing
floating-point types. There are several issues linked to this PR: llvm#5,
llvm#78, and llvm#90.
RevySR pushed a commit to revyos/llvm-project that referenced this issue Apr 3, 2024
…msge` (llvm#78)

* [Clang][XTHeadVector] implement 12.7 `vmseq/vmsne/vmslt/vmsgt/vmsle/vmsge`

* [Clang][XTHeadVector] test 12.7 `vmseq/vmsne/vmslt/vmsgt/vmsle/vmsge`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants