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

Dynamic Memory Issue #1

Open
Stefan-Mada opened this issue Oct 14, 2021 · 0 comments
Open

Dynamic Memory Issue #1

Stefan-Mada opened this issue Oct 14, 2021 · 0 comments

Comments

@Stefan-Mada
Copy link

Unsure whether dynamic memory is supported, but here is what I found:

Source file:

int* function(){
	int* arr = new int[10];
	return arr;
}

Compiled using:
clang++ -I -march=native -mavx2 -O3 -Werror -S -emit-llvm function.cpp -o function.ll

Called supervec using:
$HOME/llvm/build/bin/opt -enable-new-pm=0 -load $HOME/minotaur/build/minotaur.so -so -S function.ll


Sketches output:
---------Sketches------------
(copy reservedconst)
-----------------------------

----------------------------------------
define * @_Z8functionv.1.2(* %_reservedc_0) nonnull nofree {
%0:
  %1 = malloc i64 40, nonnull
  %2 = bitcast * %1 to *
  ret * %2
}
=>
define * @_Z8functionv.1(* %_reservedc_0) nonnull nofree {
%0:
  %1 = malloc i64 40, nonnull
  ret * %_reservedc_0
}
;result
* %_reservedc_0 = pointer(non-local, block_id=1, offset=0)
opt: /home/stefan/llvm/llvm/lib/IR/Value.cpp:502: void llvm::Value::doRAUW(llvm::Value*, llvm::Value::ReplaceMetadataUses): Assertion `New && "Value::replaceAllUsesWith(<null>) is invalid!"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /home/stefan/llvm/build/bin/opt -enable-new-pm=0 -load /home/stefan/minotaur/build/minotaur.so -so -S function.ll
1.	Running pass 'Function Pass Manager' on module 'function.ll'.
2.	Running pass 'Superoptimizer' on function '@_Z8functionv'
 #0 0x00007fad412d7c14 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x00007fad412d4c9e SignalHandler(int) Signals.cpp:0:0
 #2 0x00007fad40d11210 (/lib/x86_64-linux-gnu/libc.so.6+0x46210)
 #3 0x00007fad40d1118b raise /build/glibc-eX1tMB/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #4 0x00007fad40cf0859 abort /build/glibc-eX1tMB/glibc-2.31/stdlib/abort.c:81:7
 #5 0x00007fad40cf0729 get_sysdep_segment_value /build/glibc-eX1tMB/glibc-2.31/intl/loadmsgcat.c:509:8
 #6 0x00007fad40cf0729 _nl_load_domain /build/glibc-eX1tMB/glibc-2.31/intl/loadmsgcat.c:970:34
 #7 0x00007fad40d01f36 (/lib/x86_64-linux-gnu/libc.so.6+0x36f36)
 #8 0x00007fad41655723 (/home/stefan/llvm/build/bin/../lib/libLLVMCore.so.14git+0x2ea723)
 #9 0x00007fad3f95102e minotaur::synthesize(llvm::Function&, llvm::TargetLibraryInfo*) (/home/stefan/minotaur/build/minotaur.so+0x7b02e)
#10 0x00007fad415dd7d3 llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/stefan/llvm/build/bin/../lib/libLLVMCore.so.14git+0x2727d3)
#11 0x00007fad415dda19 llvm::FPPassManager::runOnModule(llvm::Module&) (/home/stefan/llvm/build/bin/../lib/libLLVMCore.so.14git+0x272a19)
#12 0x00007fad415dec23 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/stefan/llvm/build/bin/../lib/libLLVMCore.so.14git+0x273c23)
#13 0x000055761ab9ffc4 main (/home/stefan/llvm/build/bin/opt+0x27fc4)
#14 0x00007fad40cf20b3 __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/../csu/libc-start.c:342:3
#15 0x000055761aba0e7e _start (/home/stefan/llvm/build/bin/opt+0x28e7e)
Aborted (core dumped)
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

1 participant