search for: eliminated

Displaying 20 results from an estimated 9087 matches for "eliminated".

Did you mean: eliminate
2010 May 19
2
[LLVMdev] Intrinsics and dead instruction/code elimination
...ion is whether representing code as an intrinsic limits further dead instruction/code elimination. In this case, the intrinsic will produce an arithmetic operation followed by a setcc on overflow on x86. Given the first store is dead, the first setcc on overflow instruction is also dead and can be eliminated. Is LLVM capable of such elimination with intrinsics, or is the expectation that an optimisation pass replace llvm.*.with.overflow.* intrinsics with their corresponding non-intrinsic arithmetics operations in order to achieve the same result, or is there another solution? > > Intrinsics shou...
2010 May 19
2
[LLVMdev] Intrinsics and dead instruction/code elimination
...ion is whether representing code as an intrinsic limits further dead instruction/code elimination. In this case, the intrinsic will produce an arithmetic operation followed by a setcc on overflow on x86. Given the first store is dead, the first setcc on overflow instruction is also dead and can be eliminated. Is LLVM capable of such elimination with intrinsics, or is the expectation that an optimisation pass replace llvm.*.with.overflow.* intrinsics with their corresponding non-intrinsic arithmetics operations in order to achieve the same result, or is there another solution? Thanks in advance
2011 Oct 06
2
[LLVMdev] A potential bug
...le, in this code snippet: ... 1. %sum.safe_r47.pre-phi = phi i64* [ %sum.safe_r47.pre, %entry.for.end_crit_edge ], [ %sum.safe_r42, %for.body ] 2. %call9 = call i32 @gettimeofday(%struct.timeval* %end, %struct.timeval* null) nounwind 3. %0 = bitcast %struct.timeval* %start to i64* // eliminated by HandleEndBlock in DeadStoreElimination.cpp 4. %1 = bitcast %struct.timeval* %agg.tmp to i64* // eliminated ... 5. %tmp49 = load i64* %0, align 8 // eliminated ... 6. store i64 %tmp49, i64* %1, align 8 // eliminated ... 7. %2 = bitcast %...
2012 Sep 12
3
[LLVMdev] dead store elimination with external functions
Here is an llvm ir of a module. It seems that "b1" should be eliminated by dead store elimination. But it did not. Could anyone explain why and how "b1" can be eliminated? Thanks, -Peng %0 = type { [3 x [1 x i32]] } declare %0 @external_fcn3(i32, i32, i32, i32, [3 x [1 x i32]]*) define i32 @f3(i32 %a) readnone { entry: %b1 = alloca [3 x [1 x i32]] %...
2007 Jan 04
4
[LLVMdev] Effective Sign Extension Elimination
Hey all, Now that we have sign/zero extensions, have people given thought to the elimination of these? There's a paper I downloaded a few years ago called "Effective Sign Extension Elimination" by M. Kawahito, H. Komatsu, and T. Nakatani. I only have a dead tree copy of it, though. But I can share it as much as I can. -bw
2010 May 19
0
[LLVMdev] Intrinsics and dead instruction/code elimination
...ion is whether representing code as an intrinsic limits further dead instruction/code elimination. In this case, the intrinsic will produce an arithmetic operation followed by a setcc on overflow on x86. Given the first store is dead, the first setcc on overflow instruction is also dead and can be eliminated. Is LLVM capable of such elimination with intrinsics, or is the expectation that an optimisation pass replace llvm.*.with.overflow.* intrinsics with their corresponding non-intrinsic arithmetics operations in order to achieve the same result, or is there another solution? Intrinsics should be opti...
2019 Sep 02
2
virtual subregister liveness?
On Fri, 2019-08-30 at 10:03 -0700, Quentin Colombet wrote: > > On Aug 30, 2019, at 8:31 AM, Jesper Antonsson via llvm-dev < > > llvm-dev at lists.llvm.org> wrote: > > > > Hi, > > > > After dead-mi-elimination I'm experiencing a machine verifier > > failure > > at this virtual subregister write: > > > > %5.sub1 = COPY undef
2011 Oct 06
2
[LLVMdev] A potential bug
...%sum.safe_r47.pre-phi = phi i64* [ %sum.safe_r47.pre, >> %entry.for.end_crit_edge ], [ %sum.safe_r42, %for.body ] >> 2.  %call9 = call i32 @gettimeofday(%struct.timeval* %end, %struct.timeval* >> null) nounwind >> 3.  %0 = bitcast %struct.timeval* %start to i64*           // eliminated by >> HandleEndBlock in DeadStoreElimination.cpp >> 4.  %1 = bitcast %struct.timeval* %agg.tmp to i64*     // eliminated ... >> 5.  %tmp49 = load i64* %0, align 8                             // eliminated >> ... >> 6.  store i64 %tmp49, i64* %1, align 8                ...
2012 Sep 12
0
[LLVMdev] dead store elimination with external functions
Hi Peng, > Here is an llvm ir of a module. It seems that "b1" should be eliminated by dead > store elimination. But it did not. > > Could anyone explain why and how "b1" can be eliminated? > > Thanks, > -Peng > > %0 = type { [3 x [1 x i32]] } > > declare %0 @external_fcn3(i32, i32, i32, i32, [3 x [1 x i32]]*) > > define i32 @f3(i32 %...
2010 May 19
0
[LLVMdev] Intrinsics and dead instruction/code elimination
...CFLAGS register via a setcc instruction is no longer needed. I assume nothing is able to perform such optimisation on intrinsics and my guess is that the only option is, as I said, a pass which rewrites the first intrinsic to just its corresponding arithmetic instruction once a pass has dead store eliminated the first store. Is this the case? I believe so, but you should write a testcase and see for yourself. -Chris
2010 Oct 05
3
[LLVMdev] [LLVMDev] Phi elimination: Who does what
Aye, between all current register allocators the 'AU.addRequiredID(PHIEliminationID);' will cause phi's to be eliminated to copies, but this misses the point of my question. What I am asking, is how does stack know that the value of the variable which the resulting value of the phi is currently allocated at. For instance take the instruction: Machine Basic Block (mbb) 12 reg16666 = phi reg17777 (mbb 10), reg18888 (...
2010 May 19
1
[LLVMdev] Intrinsics and dead instruction/code elimination
...CFLAGS register via a setcc instruction is no longer needed. I assume nothing is able to perform such optimisation on intrinsics and my guess is that the only option is, as I said, a pass which rewrites the first intrinsic to just its corresponding arithmetic instruction once a pass has dead store eliminated the first store. Is this the case? > > I believe so, but you should write a testcase and see for yourself. I'll certainly do that before I start implementing additional intrinsics, since the llvm.*.with.overflow.* intrinsics are a simple subset of the overall optimisations I'm inter...
2007 Jan 04
0
[LLVMdev] Effective Sign Extension Elimination
On Thu, 4 Jan 2007, Bill Wendling wrote: > Now that we have sign/zero extensions, have people given thought to > the elimination of these? There's a paper I downloaded a few years > ago called "Effective Sign Extension Elimination" by M. Kawahito, H. > Komatsu, and T. Nakatani. Sign extension elimination is most useful in the backend, when targeting processors like
2010 Oct 05
2
[LLVMdev] [LLVMDev] Phi elimination: Who does what
When doing phi elimination, does one have to communicate with the stack space at all? The problem I see is two distinctly different registers may have two distinctly different stack spaces. When these registers are combined in a phi, the values the registers point to needs to be moved, combined, or otherwise taken care of. I understand this is the job of the stack space colorer, but when doing phi
2011 Oct 06
0
[LLVMdev] A potential bug
...  ... > 1.  %sum.safe_r47.pre-phi = phi i64* [ %sum.safe_r47.pre, > %entry.for.end_crit_edge ], [ %sum.safe_r42, %for.body ] > 2.  %call9 = call i32 @gettimeofday(%struct.timeval* %end, %struct.timeval* > null) nounwind > 3.  %0 = bitcast %struct.timeval* %start to i64*           // eliminated by > HandleEndBlock in DeadStoreElimination.cpp > 4.  %1 = bitcast %struct.timeval* %agg.tmp to i64*     // eliminated ... > 5.  %tmp49 = load i64* %0, align 8                             // eliminated > ... > 6.  store i64 %tmp49, i64* %1, align 8                         // eliminat...
2019 Aug 30
2
virtual subregister liveness?
Hi, After dead-mi-elimination I'm experiencing a machine verifier failure at this virtual subregister write: %5.sub1 = COPY undef %11 The machine verifier essentially complains that the rest of the register is undefined (a subregister write implies a "read" of the other parts). So the problem is that dead-mi-elimination has removed the previously existing defines of %5.sub0.
2012 Feb 22
2
[LLVMdev] Eliminating copies between overlapping register classes
Hi, I have two register classes A and B, where A contains a subset of the registers in B: A = [R0, R1, R2, ... R128] B = [RO, R1, R2, ... R128, T0, T1, T2, ... T128] I am using the Greedy Register Allocator, and I would expect the register allocator to eliminate this copy: %vreg0<def> = COPY %vreg1; B:%vreg0 A:%vreg1 but instead I end up with %R0<def> = COPY %R1 Is there
2005 Nov 09
3
Eliminate old kernels
Hi. Is there any commad for eliminate old kernels from grub instead of edit manually grub.conf and eliminate the files from /boot? Iago. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.centos.org/pipermail/centos/attachments/20051109/36a7fafa/attachment.html>
2012 Apr 23
2
[LLVMdev] Eliminating the 'void' type
Hello Chris The general concept is to replace void with {}. Void is a weird type in >> that it is only allowed as the return value of functions and as the type of >> instructions like store. It seems better (though also not particularly >> high priority) to eliminate it to make the type system more consistent. >> > MVT::isVoid and Type::VoidTyID (getVoidTy) have
2010 Oct 05
0
[LLVMdev] [LLVMDev] Phi elimination: Who does what
At the moment, phi elimination happens before register allocation, so there can be no phis between memory locations. Cameron On Oct 5, 2010, at 4:19 PM, Jeff Kunkel wrote: > When doing phi elimination, does one have to communicate with the > stack space at all? The problem I see is two distinctly different > registers may have two distinctly different stack spaces. When these >