Displaying 20 results from an estimated 36 matches for "wenwangtoddi".
Did you mean:
wenwangtoddy
2018 Jan 06
2
Relationship between clang, opt and llc
Thanks a lot, it is clear to me now.
BTW, for Clang's slowdown, I submit an issue here:
https://github.com/flang-compiler/flang/issues/356
I have no idea about the root cause.
Maybe due to debug symbols. But, I already use -DCMAKE_BUILD_TYPE=Release.
Anyway, I believe there is a bug somewhere.
On Sat, Jan 6, 2018 at 3:43 PM, Craig Topper <craig.topper at gmail.com> wrote:
>
2018 Jan 06
0
Relationship between clang, opt and llc
Why are you using build directions from "flang" which is a fortran compiler
and maintained by different people than the LLVM/clang community? But then
compiling C/C++ code? Their bug database should be used for filing bugs
against the fortran compiler not a C/C++ compiler issue.
~Craig
On Sat, Jan 6, 2018 at 1:04 PM, toddy wang <wenwangtoddy at gmail.com> wrote:
> Thanks a
2018 Jan 09
1
Relationship between clang, opt and llc
//mllvm Options can be dumped by clang -v -help -mllvm and clang -v
--help-hidden
-->
//mllvm Options can be dumped by clang -v -help -mllvm and clang -v
--help-hidden -mllvm
On Tue, Jan 9, 2018 at 3:09 AM, toddy wang <wenwangtoddy at gmail.com> wrote:
> Thanks, Craig.
>
> So, clang -Xclang -disable-llvm-passes actually disables all the LLVM
> passed populated by clang so
2018 Jan 09
3
Relationship between clang, opt and llc
Yes that is what he meant. "-dce, -adce, etc" are command line options
consumed by tools/opt/opt.cpp to give to the PassManagerBuilder that it
creates. The parsing of those options doesn't exist in any of the llvm
library code that is linked into clang. Clang has its own code for
populating a PassManagerBuilder in tools/clang/lib/CodeGen/BackendUtil.cpp
~Craig
On Mon, Jan 8, 2018
2018 Jan 08
2
Relationship between clang, opt and llc
2018-01-08 8:59 GMT-08:00 toddy wang <wenwangtoddy at gmail.com>:
>
>
> On Mon, Jan 8, 2018 at 11:53 AM, Mehdi AMINI <joker.eph at gmail.com> wrote:
>
>>
>>
>> 2018-01-08 8:41 GMT-08:00 toddy wang <wenwangtoddy at gmail.com>:
>>
>>> Hi Medhi,
>>>
>>> It seems -mllvm does not work as expected. Anything wrong?
2018 Jan 09
0
Relationship between clang, opt and llc
Thanks, Craig.
So, clang -Xclang -disable-llvm-passes actually disables all the LLVM
passed populated by clang so that there is no middle-end optimization on bc
files.
clang -O2 LULESH.c //clang is the driver, invoking cc1, cc1as, ld
//options can be passed through to cc1
directly.
//maybe have different names, e.g.
2018 Jan 06
2
Relationship between clang, opt and llc
@Craig and @Michael
After installing clang-5.0 (download from http://releases.llvm.org, does
not have Flang build's slowdown mention above),
1. clang++ -O0 -Xclang -disable-O0-optnone -Xclang -disable-llvm-passes -c
-emit-llvm -o a.bc LULESH.cc; opt -O3 a.bc -o b.bc; llc -O3 -filetype=obj
b.bc -o b.o ; clang++ b.o -o b.out; ./b.out 20
runtime: 2.354069e+01
2. clang++ -O1 -Xclang
2018 Jan 06
0
Relationship between clang, opt and llc
-disable-O0-optnone has no effect with anything other than -O0.
-O0 being passed to clang also causes all functions to be marked noinline.
I don't know if there is a command line option to turn that off.
I recommend passing "-O1 -Xclang -disable-llvm-passes" to clang. Passing
-O0 very specifically means disable optimizations.
~Craig
On Sat, Jan 6, 2018 at 12:25 PM, toddy wang
2018 Jan 09
0
Relationship between clang, opt and llc
Mehdi,
I found -unroll-max-count can be passed w/ -mllvm.
-dce, -adce, etc, are also dumped by 'opt --help-hidden'. However, they
cannot be passed w/ -mllvm.
Is this what "You can't schedule passes this way, only set parameters
like -unroll-threshold=<uint> etc." means?
[twang15 at c89 temp]$ clang++ -mllvm -unroll-max-count=4 -mllvm -dce
-save-temps LULESH.cc
clang
2018 Jan 08
2
Relationship between clang, opt and llc
2018-01-08 8:41 GMT-08:00 toddy wang <wenwangtoddy at gmail.com>:
> Hi Medhi,
>
> It seems -mllvm does not work as expected. Anything wrong?
>
> [twang15 at c92 temp]$ clang++ -O3 -mllvm *-deadargelim* LULESH.cc
> clang (LLVM option parsing): Unknown command line argument
> '-deadargelim'. Try: 'clang (LLVM option parsing) -help'
> clang (LLVM option
2018 Jan 09
1
Is -disable-llvm-passes and -disable-llvm-optzns different?
Thanks for pointing this out.
The following is a more extensive test.
//succeed means dumping help info without Error message.
clang -help #succeed
'clang -help-hidden' #Fail
'clang --help-hidden' #Succeed
clang -mllvm -v -help #Succeed
clang -mllvm -v -help-hidden #Fail
clang -mllvm -v --help-hidden #Succeed
'clang -mllvm -help -c LULESH.cc' #Succeed
'clang -mllvm
2018 Jan 08
0
Relationship between clang, opt and llc
On Mon, Jan 8, 2018 at 11:53 AM, Mehdi AMINI <joker.eph at gmail.com> wrote:
>
>
> 2018-01-08 8:41 GMT-08:00 toddy wang <wenwangtoddy at gmail.com>:
>
>> Hi Medhi,
>>
>> It seems -mllvm does not work as expected. Anything wrong?
>>
>> [twang15 at c92 temp]$ clang++ -O3 -mllvm *-deadargelim* LULESH.cc
>> clang (LLVM option parsing):
2018 Jan 07
2
Relationship between clang, opt and llc
No, I meant LLD, the LLVM linker. This option for LLD is relevant for
exploring different pass pipelines for link time optimization.
It is essentially equivalent to the -passes flag for 'opt'.
Such a flag doesn't make much sense for 'llc' because llc mostly runs
backend passes, which are much more difficult to construct custom pipelines
for (backend passes are often required
2018 Jan 06
1
Relationship between clang, opt and llc
After build LLVM5.0, I found that clang-5.0 is extremely slow.
Even it is built with -DCMAKE_BUILD_TYPE=Release
For building LULESH.cc, it gets stucked at linkage stage.
I build it as instructed from here https://github.com/flang-compiler/flang
Maybe I should submit a bug.
On Fri, Jan 5, 2018 at 8:41 PM, toddy wang <wenwangtoddy at gmail.com> wrote:
> Craig, thanks a lot!
>
>
2018 Jan 08
2
Relationship between clang, opt and llc
2018-01-07 23:16 GMT-08:00 toddy wang <wenwangtoddy at gmail.com>:
> -mllvm <value> Additional arguments to forward to LLVM's option
> processing
>
> This is dumped by clang. I am not sure what I am supposed to put as value
> in order to tune unrolling/inlining threshold.
>
As the help says, this is used to pass argument to LLVM itself. If you
remember
2018 Jan 06
3
Relationship between clang, opt and llc
I don't think "clang -help" prints options about optimizations. Clang
itself doesn't have direct support for fine grained optimization control.
Just the flag for levels -O0/-O1/-O2/-O3. This is intended to be simple and
sufficient interface for most users who just want to compile their code. So
I don't think there's a way to pass just -dse to clang.
opt on the other hand
2018 Jan 08
0
Relationship between clang, opt and llc
Hi Medhi,
It seems -mllvm does not work as expected. Anything wrong?
[twang15 at c92 temp]$ clang++ -O3 -mllvm *-deadargelim* LULESH.cc
clang (LLVM option parsing): Unknown command line argument '-deadargelim'.
Try: 'clang (LLVM option parsing) -help'
clang (LLVM option parsing): Did you mean '-regalloc'?
[twang15 at c92 temp]$ clang++ -O3 -mllvm *deadargelim* LULESH.cc
2018 Jan 08
1
Relationship between clang, opt and llc
On Jan 7, 2018 8:46 PM, "toddy wang" <wenwangtoddy at gmail.com> wrote:
@Sean, here is my summary of several tools.
Format: (ID,tool, input->output, timing, customization, questions)
1. llc, 1 bc -> 1 obj, back-end compile-time (code generation and
machine-dependent optimizations), Difficult to customize pipeline, N/A
2. LLD: all bc files and obj files -> 1 binary
2018 Jan 08
0
Relationship between clang, opt and llc
@Sean, here is my summary of several tools.
Format: (ID,tool, input->output, timing, customization, questions)
1. llc, 1 bc -> 1 obj, back-end compile-time (code generation and
machine-dependent optimizations), Difficult to customize pipeline, N/A
2. LLD: all bc files and obj files -> 1 binary (passing -flto to clang for
*.bc file generation), back-end link-time optimizations and
2018 Jan 06
0
Relationship between clang, opt and llc
What I am trying is to compile a program with different sets of
optimization flags.
If there is no fine-grained control over clang optimization flags, it would
be impossible to achieve what I intend.
Although there is fine-grained control via opt, for a large-scale projects,
clang-opt-llc pipeline may not be a drop-in solution.
On Fri, Jan 5, 2018 at 10:00 PM, Craig Topper <craig.topper at