search for: optimiz

Displaying 20 results from an estimated 77 matches for "optimiz".

Did you mean: optimize
2013 Jul 18
4
[LLVMdev] About LLVM switch instruction
Hi Mark, This will workaround the problem of "default" branch restriction on the switch instruction. The trouble with this technique is that it will trump later optimization phases such as constant propagation. When a block was part of a case, because of the knowledge of the case value, the block was a candidate for better optimization. However, when we move the body of the case into the default, the knowledge of the case value is lost and the body is less optimiz...
2012 Nov 16
3
[LLVMdev] Is this a missed (simple) optimization?
I think this is a missed optimization, but maybe I'm missing some significant piece of knowledge(!) as to why this might not be optimizable :) Test case... int A; // some global int B; // some global void Test(int *Out) { *Out = A; // Can't this be optimized away? *Out = B; }; The...
2015 Nov 11
2
SROA and volatile memcpy/memset
...how we can access it as it would be in the case of a device access. The broken up loads and stores are legal in the sense that they won't cause any hardware issues, however they would take longer to execute because the resulting instructions would be marked as volatile and thus "non-optimizable". -Krzysztof -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
2013 Jul 18
0
[LLVMdev] About LLVM switch instruction
On Jul 17, 2013, at 10:09 PM, Milind Chabbi <Milind.Chabbi at rice.edu> wrote: > Hi Mark, > > This will workaround the problem of "default" branch restriction on > the switch instruction. The trouble with this technique is that it > will trump later optimization phases such as constant propagation. > When a block was part of a case, because of the knowledge of the case > value, the block was a candidate for better optimization. However, > when we move the body of the case into the default, the knowledge of > the case value is lost and the...
2012 Nov 16
0
[LLVMdev] Is this a missed (simple) optimization?
Hi, If the function was called Test(&B) then the first store would affect the second load. Tim. On Fri, Nov 16, 2012 at 11:58 AM, AnonW <wayne.phillips at gmail.com> wrote: > I think this is a missed optimization, but maybe I'm missing some significant > piece of knowledge(!) as to why this might not be optimizable :) Test > case... > > int A; // some global > int B; // some global > > void Test(int *Out) > { > *Out = A; // Can't this be optimiz...
2013 Jul 18
0
[LLVMdev] About LLVM switch instruction
...hanks Hongbin On Thu, Jul 18, 2013 at 1:09 PM, Milind Chabbi <Milind.Chabbi at rice.edu>wrote: > Hi Mark, > > This will workaround the problem of "default" branch restriction on > the switch instruction. The trouble with this technique is that it > will trump later optimization phases such as constant propagation. > When a block was part of a case, because of the knowledge of the case > value, the block was a candidate for better optimization. However, > when we move the body of the case into the default, the knowledge of > the case value is lost and the...
2013 Dec 01
2
[LLVMdev] "Mapping High-Level Constructs to LLVM IR" Github URL
...ng of > certain constructs. I don't think that we currently have any documentation > targeted at language frontend writers; I would really like to see this > document evolve into that. > > E.g., what are the different ways to do lambdas and what are their > tradeoffs regarding optimizability, etc.; or a discussion of the various > function attributes (e.g. noalias) which are vital for getting the best > performance out of the optimizers (many languages semantically don't have > aliasing issues (or fewer than C/C++ at least!), and this needs to be > communicated t...
2013 Jul 18
2
[LLVMdev] About LLVM switch instruction
...13 at 1:09 PM, Milind Chabbi <Milind.Chabbi at rice.edu> > wrote: >> >> Hi Mark, >> >> This will workaround the problem of "default" branch restriction on >> the switch instruction. The trouble with this technique is that it >> will trump later optimization phases such as constant propagation. >> When a block was part of a case, because of the knowledge of the case >> value, the block was a candidate for better optimization. However, >> when we move the body of the case into the default, the knowledge of >> the case value...
2014 May 22
4
[LLVMdev] RFC: Indexing of structs vs arrays in getelementpointer
...tween basic blocks in cases where doing so would improve the ability of instcombine to merge into more complicated addressing mode (r209049 and r209065). After some build to failures it was rolled back. I now have a patch that no longer causes the regressions I was seeing, but it also no longer can optimize the case I was trying to optimize. As several other people have shown me optimization cases where the patch does work for them I am going to commit it again once I write some new test cases people who have access to the relevant (failing) configs can verify that it works for them, but I wanted to...
2013 Dec 01
0
[LLVMdev] "Mapping High-Level Constructs to LLVM IR" Github URL
...ecisions regarding the lowering of certain constructs. I don't think that we currently have any documentation targeted at language frontend writers; I would really like to see this document evolve into that. E.g., what are the different ways to do lambdas and what are their tradeoffs regarding optimizability, etc.; or a discussion of the various function attributes (e.g. noalias) which are vital for getting the best performance out of the optimizers (many languages semantically don't have aliasing issues (or fewer than C/C++ at least!), and this needs to be communicated to the optimizer; cur...
2019 Jun 11
2
[RFC] Coding Standards: "prefer `int` for regular arithmetic, use `unsigned` only for bitmask and when you intend to rely on wrapping behavior."
...I expect this is covered > in them, but it also seems odd to me to use int in a loop when > indexing in a container (something that can't always be avoided), > given the types of size() etc. The reason to use int as an index in loops is for its algebraic properties, which allows some optimizations (vectorization, for example), where unsigned would cause problems. Basically, the optimizer can assume overflow is undefined behavior and optimize accordingly. +10000 for preferring signed unless there's a good reason for unsigned. -David
2011 Jan 02
3
[LLVMdev] LLVM for ARM target
...ils-2.21 (downloaded from gnu.org)   Steps:   $ ./configure --target=arm-unknown-linux-gnueabi --program-prefix=arm- --prefix =/llvm/arm --with-sysroot=/llvm/arms/sys-root   $ make   $ make install   2. Install LLVM   Steps   $ ../llvm-src/configure --target=arm-linux --prefix=/llvm/arm --disable-optimiz ed --enable-bindings=none --disable-multilib --disable-bootstrap --with-sysroot =/llvm/arms/sys-root --with-binutils-include=/llvm/binutils-2.21/include --with -llvmgccdir=/llvm/llvm-gcc-4.2   $ make   $ make install   3. Install LLVM-GCC   Steps:   $ ../llvm-gcc/configure --target=arm-linux --prog...
2013 Dec 01
0
[LLVMdev] "Mapping High-Level Constructs to LLVM IR" Github URL
...onstructs. I don't think that we currently have any documentation >> targeted at language frontend writers; I would really like to see this >> document evolve into that. >> >> E.g., what are the different ways to do lambdas and what are their >> tradeoffs regarding optimizability, etc.; or a discussion of the various >> function attributes (e.g. noalias) which are vital for getting the best >> performance out of the optimizers (many languages semantically don't have >> aliasing issues (or fewer than C/C++ at least!), and this needs to be >&gt...
2010 May 28
4
[LLVMdev] Combining Branch Statements - Missing Optimization Pass?
I have some LLVM IR after the optimization passes defined in createStandardModulePasses with the optimization level set to 3. It contains what appears to me to be an easily optimizable branch statement. In particular, note in the code below that at the end of the "loop" BasicBlock that there is a conditional branch where in...
2011 Jan 02
0
[LLVMdev] LLVM for ARM target
...--target=arm-unknown-linux-gnueabi --program-prefix=arm- --prefix > =/llvm/arm --with-sysroot=/llvm/arms/sys-root > > $ make > > $ make install > > > 2. Install LLVM > > Steps > > $ ../llvm-src/configure --target=arm-linux --prefix=/llvm/arm --disable-optimiz > ed --enable-bindings=none --disable-multilib --disable-bootstrap --with-sysroot > =/llvm/arms/sys-root --with-binutils-include=/llvm/binutils-2.21/include --with > -llvmgccdir=/llvm/llvm-gcc-4.2 > > $ make > > $ make install > > 3. Install LLVM-GCC > > Ste...
2013 Jul 18
0
[LLVMdev] About LLVM switch instruction
...efault block, a block associated with a case value will become the default block of the swhich instruction, since a switch instruction always requires a default block. But when a block associated with a case value become the default block, the associated case value is lost and may confuse the later optimizations such as constant propagation. To prevent such information lost when you eliminate the default block and make a block associated with a case value will become the default block, you can attach a metadata[1] to the switch instruction to provide the case value of the default block. In order to...
2018 Jul 26
3
RFC: What is the real behavior for the minnum/maxnum intrinsics?
...23 July 2018 at 11:56, Arsenault, Matthew via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > >> Hi, >> >> >> The specification for the llvm.minnum/llvm.maxnum intrinsics is too unclear >> right now to usefully optimize. There are two problems. First the expected >> behavior for signaling NaNs needs to be clarified. Second, whether the >> returned value is expected to be canonicalized (as if by llvm.canonicalize). >> >> Currently according to the LangRef: >> >> Follows the IE...
2010 May 28
0
[LLVMdev] Combining Branch Statements - Missing Optimization Pass?
The thread here should help. http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-May/031624.html On May 28, 2010, at 6:35 AMPDT, Curtis Faith wrote: > I have some LLVM IR after the optimization passes defined in createStandardModulePasses with the optimization level set to 3. It contains what appears to me to be an easily optimizable branch statement. > > In particular, note in the code below that at the end of the "loop" BasicBlock that there is a conditional branch...
2007 Aug 16
3
e c30ac536947f7330943f8de9c33f70ef2d5994e7
...''content?'':sioc+''content'', limit:7, offset:0, order: {p:''date'',d:''desc''}} as well as plain keyword search of literals. the underlying indices are visible in and implemented using the store itself. designed with optimizability / hackability in mind, to invent the partitioning/distribution to meet your needs, adjust the editing method to send all edits to an Utu chan or RDF-over-JSON-over-Jabber to viewers, mirror data to a beastly SPARQL engine, etc. http://whats-your.name/e/e.tar.gz water is the mongrel lay...
2016 Feb 16
2
WebKit B3 (was LLVM Weekly - #110, Feb 8th 2016)
...http://www.philipreames.com/Blog/2016/02/15/quick-thoughts-on-webkits-b3/ <http://www.philipreames.com/Blog/2016/02/15/quick-thoughts-on-webkits-b3/> Thanks for sharing. I think it’s worth noting that what you are doing would be considered 5th tier for WebKit, since you already had a decent optimizing backend without LLVM. You also have more room for background compilation threads and aren’t benchmarking on a MacBook Air. Andy > > Philip > > On 02/15/2016 03:12 PM, Andrew Trick via llvm-dev wrote: >> >>> On Feb 9, 2016, at 9:55 AM, Rafael Espíndola via llvm-dev...