search for: loopmicroopbuffersize

Displaying 8 results from an estimated 8 matches for "loopmicroopbuffersize".

2016 Dec 16
1
help/hints/suggestions/tips please: how to give _generic_ compilation for a particular ISA a non-zero LoopMicroOpBufferSize?
Dear all, Some benchmarking experimentation I`ve done recently -- all on AArch64 -- has shown that it might be beneficial for all AArch64 targets to have a positive LoopMicroOpBufferSize, whereas the default that applies to all ISAs seems to be zero. Although I`ve tried going as far down the rabbit hole as I can, I haven`t found a way to set DefaultLoopMicroOpBufferSize on a per-ISA basis or to change the generic AArch64 model. I`ve searched for anything that might create an I...
2014 May 23
2
[LLVMdev] clang -O2 versus opt -O2 | llc | clang
...ation and changes the output. > > I've not tracked down quite how Clang sets that extra > "-unroll-runtime" option (I'd be interested to know myself, actually, > having failed). It doesn't, but the backend can by overriding TTI::getUnrollingPreferences or setting LoopMicroOpBufferSize in the processor scheduling model. -Hal > > Cheers. > > Tim. > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > -- Hal Fink...
2014 May 23
2
[LLVMdev] clang -O2 versus opt -O2 | llc | clang
I'm investigating a miscompilation bug ( http://llvm.org/bugs/show_bug.cgi?id=19823 ), but I've run into a problem: the output of the program is different when I compile the IR with clang compared to opt | llc | clang. Any clues on how to resolve this difference? $ ./opt -O1 19823.ll | ./llc | ./clang -x assembler - -o a.out ; ./a.out ; echo $? 1 $ ./opt -O2 19823.ll | ./llc | ./clang -x
2018 Mar 02
0
[RFC] llvm-mca: a static performance analysis tool
...OpCache in > the hardware frontend to speedup the throughput in the presence of tight loops. > The presence of these buffers complicates the decoding logic, and requires > knowledge on the branch predictor too. Class 'SchedMachineModel' in tablegen > provides a field named 'LoopMicroOpBufferSize' which is used to describe loop > buffers. However, the purpose of that field is to enable loop unrolling of > tight loops; essentially, it affects the cost model used by pass loop-unroll. > > By design, the tool only cares about the out-of-order portion of a processor, > and c...
2018 Mar 01
9
[RFC] llvm-mca: a static performance analysis tool
...edicated LoopBuffer/OpCache in the hardware frontend to speedup the throughput in the presence of tight loops. The presence of these buffers complicates the decoding logic, and requires knowledge on the branch predictor too. Class 'SchedMachineModel' in tablegen provides a field named 'LoopMicroOpBufferSize' which is used to describe loop buffers. However, the purpose of that field is to enable loop unrolling of tight loops; essentially, it affects the cost model used by pass loop-unroll. By design, the tool only cares about the out-of-order portion of a processor, and consequently doesn't t...
2018 Mar 02
0
[RFC] llvm-mca: a static performance analysis tool
...gt; the hardware frontend to speedup the throughput in the presence of > tight loops. > The presence of these buffers complicates the decoding logic, and requires > knowledge on the branch predictor too.  Class 'SchedMachineModel' in > tablegen > provides a field named 'LoopMicroOpBufferSize' which is used to > describe loop > buffers.  However, the purpose of that field is to enable loop > unrolling of > tight loops; essentially, it affects the cost model used by pass > loop-unroll. > > By design, the tool only cares about the out-of-order portion of a &gt...
2018 Mar 02
0
[RFC] llvm-mca: a static performance analysis tool
...> the hardware frontend to speedup the throughput in the presence of tight > loops. > The presence of these buffers complicates the decoding logic, and requires > knowledge on the branch predictor too. Class 'SchedMachineModel' in > tablegen > provides a field named 'LoopMicroOpBufferSize' which is used to describe > loop > buffers. However, the purpose of that field is to enable loop unrolling of > tight loops; essentially, it affects the cost model used by pass > loop-unroll. > > By design, the tool only cares about the out-of-order portion of a > process...
2018 Mar 02
5
[RFC] llvm-mca: a static performance analysis tool
...> the hardware frontend to speedup the throughput in the presence of tight > loops. > The presence of these buffers complicates the decoding logic, and requires > knowledge on the branch predictor too. Class 'SchedMachineModel' in > tablegen > provides a field named 'LoopMicroOpBufferSize' which is used to describe > loop > buffers. However, the purpose of that field is to enable loop unrolling of > tight loops; essentially, it affects the cost model used by pass > loop-unroll. > > By design, the tool only cares about the out-of-order portion of a > process...