similar to: Loop invariant not being optimized

Displaying 16 results from an estimated 16 matches similar to: "Loop invariant not being optimized"

2016 Nov 18
2
Loop invariant not being optimized
I tried changing 'noalias' to 'restrict' in the code and I get: fma.c:17:12: warning: 'restrict' attribute only applies to return values that are pointers It seems like 'noalias' would be the correct attribute here, from the article you linked: "if a function is annotated as noalias, the optimizer can assume that, in addition to the parameters themselves,
2016 Jul 11
2
extra loads in nested for-loop
I was looking at the code generated from the following c code and noticed extra loads in the inner-loop of these nested for-loops: #define DIM 8 #define UNROLL_DIM DIM typedef double InArray[DIM][DIM]; void f1( InArray c, InArray a, InArray b ) { #pragma clang loop unroll_count(UNROLL_DIM) for( int i=0;i<DIM;i++) #pragma clang loop unroll_count(UNROLL_DIM) for( int
2016 Aug 12
4
Invoke loop vectorizer
I'm not compiling it to x86. Should loop optimizer something independent of the target? If so, should the vectorized code on IR level? On Aug 12, 2016 11:39 AM, "Daniel Berlin" <dberlin at dberlin.org> wrote: > cat > test.c > > #define SIZE 128 > > void bar(int *restrict A, int* restrict B,int K) { > > #pragma clang loop vectorize(enable)
2016 Aug 12
2
Invoke loop vectorizer
Hi Daniel, I increased the size of your test to be 128 but -stats still shows no loop optimized... Xiaochu On Aug 12, 2016 11:11 AM, "Daniel Berlin" <dberlin at dberlin.org> wrote: > It's not possible to know that A and B don't alias in this example. It's > almost certainly not profitable to add a runtime check given the size of > the loop. > > >
2016 Aug 12
2
Invoke loop vectorizer
Hi Andrey, Thanks. I found even when loop vectorizer and SLP vectorizer are enabled, my simple test still not get optimized. I also tried clang pragma in my test to force vectorization. What do you think is the problem? Test: #define SIZE 8 void bar(int *A, int* B,int K) { #pragma clang loop vectorize(enable) vectorize_width(2) unroll_count(8) for (int i = 0; i < SIZE; ++i) A[i]
2013 Jul 08
1
[LLVMdev] API break for out-of-tree targets implementing TargetLoweringBase::isFMAFasterThanMulAndAdd
Hello, To any out-of-tree targets, please be aware that I intend to commit a patch that will break the build of any target implementing TargetLoweringBase::isFMAFasterThanMulAndAdd, for the reasons described below. (Basically, the current interface definition is broken and not followed, and no in-tree target was doing the right thing with it, so it is unlikely any out-of-tree target is either...)
2005 Nov 24
1
Extended $ function called $$
This code lets you use standard CSS selectors to get an array of elements. For example, $$("#container div.myElements") would return all subelements of #container that are divs and are of the class myElements. I submitted similar code a while back to the email address for the prototype library but never got a reply. Thought I''d post this in the hopes that some others will find
2016 Oct 25
2
[Help] Add custom pragma
Hi, all. I want to give programmer ability to tell LLVM that certain region of code is expected to get specialized optimization. So, I'm trying to make custom pragma to mark certain region of code and pass this information to LLVM, in the similar way that '#pragma clang loop unroll_count(N)' works. By tracking the framework of loop unroll pragma, I found out it works in the way below.
2016 Oct 25
2
[Help] Add custom pragma
Yes. I checked that file, but I wasn't sure whether that is right one to look at. What is *.td extension btw? When I google it, it says this is for Windows Debug Simulator. Why clang use this extension, which is limited to Windows environment? On Tue, Oct 25, 2016 at 7:00 PM, Vedant Kumar <vsk at apple.com> wrote: > That file is generated by the clang-tblgen tool: > >
2014 Jul 17
4
[LLVMdev] Removing metadata in a pass
Is it OK to remove metadata in an optimization pass? The context is patch http://reviews.llvm.org/D4571 which removes loop unrolling hint metadata after using it to avoid unrolling more than the hint suggests. This is a potential problem because loop unrolling can be run more than once. Example: a loop annotated with "#pragma clang loop unroll_count(2)" which adds hint metadata to the
2016 Aug 11
2
Invoke loop vectorizer
Hi there , I use clang-cl /Qvec test.c to compile the code. But the pass LoopVectorizer is never invoked. I was wondering if this is sufficient to enable auto vectorizer? Thanks, Xiaochu -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160811/8b6cb760/attachment.html>
2016 Oct 25
0
[Help] Add custom pragma
> Yes. I checked that file, but I wasn't sure whether that is right one to look at. It seems promising. I imagine you'd want something like the LoopHint attr. > What is *.td extension btw? The llvm project uses that extension to identify TableGen inputs (http://llvm.org/docs/TableGen/). vedant > On Oct 25, 2016, at 4:12 PM, Sunghyun Park <sunggg at umich.edu> wrote:
2008 Mar 17
1
summary of summaries
Hi, I have a few hundreds files with numerical information of different length but with the same column structure. I use the following code to get summary statistics fplist <- list.files(pattern=".*analysis") for (fp in fplist){ x2 <- read.delim(fp) summary(x2) } Summary gives something like: summary (x2) V1 V2
2019 Aug 02
0
Wine release 4.13
The Wine development release 4.13 is now available. What's new in this release (see below for details): - Support for Passport HTTP redirects. - A bunch of header updates. - Various bug fixes. The source is available from the following locations: https://dl.winehq.org/wine/source/4.x/wine-4.13.tar.xz http://mirrors.ibiblio.org/wine/source/4.x/wine-4.13.tar.xz Binary packages for
2019 May 24
0
Wine release 4.9
The Wine development release 4.9 is now available. What's new in this release (see below for details): - Initial support for installing Plug and Play drivers. - Support for building 16-bit modules in PE format. - A lot of code moved to the new KernelBase DLL. - Various game controller fixes. - Use higher performance system clocks if available. - Various bug fixes. The source is
2015 Nov 02
2
noalias parameter attribute not currently exploited by alias analysis?
I wanted to confirm that my understanding of the situation is correct. For background, I've been working have an optimizer pass for a research architecture which works best when there are large basic blocks and good alias analysis results. I first noticed the issue in rgbcmy01 from eembc-1.1, but have created a simpler test case which demonstrates the same issue which is unencumbered by the