[llvm-dev] Regarding Usage of opt
Mehdi Amini via llvm-dev
llvm-dev at lists.llvm.org
Mon Mar 7 00:48:45 PST 2016
Hi,
> On Mar 7, 2016, at 12:40 AM, Chengnian Sun via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi All,
>
> I run into another problem with "opt-trunk -loop-data-prefetch". The pass is in Transforms/Scalar/LoopDataPrefetch.cpp. How to avoid the following assertion failure, or I should just avoiding using this pass in isolation?
>
> Thank you.
>
> =============================================================
>
> $: opt-trunk -loop-data-prefetch t.c_000.bc -o temp.bc
> opt-trunk: /tmp/llvm-builder/llvm-source-trunk/lib/Transforms/Scalar/LoopDataPrefetch.cpp:102: virtual bool {anonymous}::LoopDataPrefetch::runOnFunction(llvm::Function&): Assertion `TTI->getCacheLineSize() && "Cache line size is not set for target"' failed.
This assertions is telling you that the TTI seems not well initialized.
Also, usually the test suite is a good source of example to see how to run passes:
$ grep loop-data-prefetch test/ -R
test//Transforms/LoopDataPrefetch/PowerPC/basic.ll:; RUN: opt -mcpu=a2 -loop-data-prefetch -S < %s | FileCheck %s
Here notice how the cpu is defined on the command line.
--
Mehdi
> 0 opt-trunk 0x00000000018249b5 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
> 1 opt-trunk 0x0000000001822946 llvm::sys::RunSignalHandlers() + 54
> 2 opt-trunk 0x0000000001822b64
> 3 libpthread.so.0 0x00007f6b3f3e1340
> 4 libc.so.6 0x00007f6b3e5ffcc9 gsignal + 57
> 5 libc.so.6 0x00007f6b3e6030d8 abort + 328
> 6 libc.so.6 0x00007f6b3e5f8b86
> 7 libc.so.6 0x00007f6b3e5f8c32
> 8 opt-trunk 0x00000000016d9e1c
> 9 opt-trunk 0x00000000014877e3 llvm::FPPassManager::runOnFunction(llvm::Function&) + 643
> 10 opt-trunk 0x0000000001487e2b llvm::legacy::PassManagerImpl::run(llvm::Module&) + 619
> 11 opt-trunk 0x00000000006f9ce9 main + 7353
> 12 libc.so.6 0x00007f6b3e5eaec5 __libc_start_main + 245
> 13 opt-trunk 0x0000000000738368
> Stack dump:
> 0. Program arguments: opt-trunk -loop-data-prefetch t.c_000.bc -o temp.bc
> 1. Running pass 'Function Pass Manager' on module 't.c_000.bc'.
> 2. Running pass 'Loop Data Prefetch' on function '@main'
> Aborted (core dumped)
> $:
>
>
> On Fri, Mar 4, 2016 at 12:44 AM, Chengnian Sun <chengniansun at gmail.com <mailto:chengniansun at gmail.com>> wrote:
> Hi,
>
> I am new to llvm, and recently am playing with opt. I want to use opt to apply one optimization pass to a .bc file. However, I encounter some problems which I failed to find the answers on the internet. Any suggestions are highly appreciated.
>
> Question 1:
>
> For example, I issued the following command
>
> $: opt-trunk -si-lower-control-flow t.c_00.bc -o t.c_01.bc
>
> Then I got the following error,
>
> -------------------------------------------------------------- Error Start --------------------------------------------------------------
> Pass 'SI Lower control flow pseudo instructions' is not initialized.
>
> Verify if there is a pass dependency cycle.
>
> Required Passes:
>
> opt-trunk: /tmp/llvm-builder/llvm-source-trunk/lib/IR/LegacyPassManager.cpp:668: void llvm::PMTopLevelManager::schedulePass(llvm::Pass*): Assertion `PI && "Expected required passes to be initialized"' failed.
>
>
>
> -------------------------------------------------------------- Error End --------------------------------------------------------------
> Question 2:
>
> Some passes depend on other dependencies. Is there any convenient way to get the dependency for a specific pass?
>
> Thank you and best regards,
>
> Chengnian.
>
>
>
>
> --
> Best Regards.
>
> Chengnian SUN.
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160307/08641d16/attachment.html>
More information about the llvm-dev
mailing list