search for: deadstoreelimin

Displaying 20 results from an estimated 55 matches for "deadstoreelimin".

Did you mean: deadstoreelim
2009 Nov 04
2
[LLVMdev] DeadStoreElimination: do better without TargetData
The attached patch makes DeadStoreElimination able to remove stores in store-store dependencies when the operand types are equal, even if there is no TargetData available. / Hans -------------- next part -------------- A non-text attachment was scrubbed... Name: DeadStoreElimination.patch Type: text/x-patch Size: 812 bytes Desc: not av...
2009 Nov 04
0
[LLVMdev] DeadStoreElimination: do better without TargetData
Re-posting with better-looking code. Hans Wennborg wrote: > The attached patch makes DeadStoreElimination able to remove stores in > store-store dependencies when the operand types are equal, even if there > is no TargetData available. > > / Hans > > > ------------------------------------------------------------------------ > > _____________________________________...
2016 Dec 28
1
Help for DeadStoreElimination cross-block dependence
Hi all, I am working on a project that requires LLVM DeadStoreElimination However, when I look through the code in Transforms/Scalar/DeadStoreElimination.cpp, I see the following: // Ignore any store where we can't find a local dependence. // FIXME: cross-block DSE would be fun. :) if (!InstDep.isDef() && !InstDep.isClobber()) continue...
2009 Nov 04
5
[LLVMdev] DeadStoreElimination: do better without TargetData
On Nov 4, 2009, at 7:21 AM, Hans Wennborg wrote: > Re-posting with better-looking code. Thanks, do you have a testcase showing what this does? -Chris > > Hans Wennborg wrote: >> The attached patch makes DeadStoreElimination able to remove stores >> in store-store dependencies when the operand types are equal, even >> if there is no TargetData available. >> / Hans >> ------------------------------------------------------------------------ >> _______________________________________...
2009 Nov 04
0
[LLVMdev] DeadStoreElimination: do better without TargetData
...Chris Lattner wrote: > > On Nov 4, 2009, at 7:21 AM, Hans Wennborg wrote: > >> Re-posting with better-looking code. > > Thanks, do you have a testcase showing what this does? > > -Chris > >> >> Hans Wennborg wrote: >>> The attached patch makes DeadStoreElimination able to remove stores >>> in store-store dependencies when the operand types are equal, even if >>> there is no TargetData available. >>> / Hans >>> ------------------------------------------------------------------------ >>> _____________________...
2009 Nov 05
1
[LLVMdev] DeadStoreElimination: do better without TargetData
Hans Wennborg wrote: > Sorry, I admit my e-mail was a bit unclear. > Here is an example: > > declare void @foo() > > define void @f(i32* noalias %p) { > store i32 1, i32* %p; <-- This is dead > call void @foo() > store i32 2, i32 *%p > ret void > } Hold up. Is this correct? "noalias: This indicates that the pointer
2009 Nov 06
0
[LLVMdev] DeadStoreElimination: do better without TargetData
On Nov 5, 2009, at 1:59 PM, Hans Wennborg wrote: > My apologies for not replying sooner; I've been away from keyboard all > day today. > >> Thanks, applied here: >> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091102/090396.html >> >> >> I'd appreciate it if you could resend your other patches in patch >> format >> like
2011 Oct 06
2
[LLVMdev] A potential bug
Hi all, There might be a bug in DeadStoreElimination.cpp. This pass eliminates stores backwards aggressively in an end BB. It does not check dependencies on stores in an end BB though. For example, 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. %c...
2014 Oct 24
4
[LLVMdev] Cross-Block Dead Store Elimination
Hi, It looks like the DeadStoreElimination optimization doesn't work across BasicBlock boundaries. The project I'm working on (https://github.com/trailofbits/mcsema), would tremendously benefit from even simple cross-block DSE. There was a patch to do non-local DSE few years ago (http://lists.cs.uiuc.edu/pipermail/llvmdev/201...
2011 Oct 06
2
[LLVMdev] A potential bug
On Thu, Oct 6, 2011 at 2:20 PM, Eli Friedman <eli.friedman at gmail.com> wrote: > On Thu, Oct 6, 2011 at 2:12 PM, Zeng Bin <ezengbin at gmail.com> wrote: >> Hi all, >> >> There might be a bug in DeadStoreElimination.cpp. This pass eliminates >> stores backwards aggressively in an end BB. It does not check dependencies >> on stores in an end BB though. For example, in this code snippet: >>   ... >> 1.  %sum.safe_r47.pre-phi = phi i64* [ %sum.safe_r47.pre, >> %entry.for.end_cri...
2011 Oct 06
0
[LLVMdev] A potential bug
On Thu, Oct 6, 2011 at 2:12 PM, Zeng Bin <ezengbin at gmail.com> wrote: > Hi all, > > There might be a bug in DeadStoreElimination.cpp. This pass eliminates > stores backwards aggressively in an end BB. It does not check dependencies > on stores in an end BB though. For example, in this code snippet: >   ... > 1.  %sum.safe_r47.pre-phi = phi i64* [ %sum.safe_r47.pre, > %entry.for.end_crit_edge ], [ %sum.saf...
2009 Sep 08
2
[LLVMdev] LLVM 2.6 Branch Fails to Compile
...VM 2.6 Release Branch doesn't compile for me on Mac OS X. The following patch seems to fix it (it adds a missing include file to get WeakVH defined). Has anyone else seen this breakage, or is it possible that I've got the wrong branch checked out? -- John T. Index: lib/Transforms/Scalar/DeadStoreElimination.cpp =================================================================== --- lib/Transforms/Scalar/DeadStoreElimination.cpp (revision 81219) +++ lib/Transforms/Scalar/DeadStoreElimination.cpp (working copy) @@ -30,6 +30,8 @@ #include "llvm/Target/TargetData.h" #include &qu...
2011 Oct 06
0
[LLVMdev] A potential bug
...<eli.friedman at gmail.com> wrote: > On Thu, Oct 6, 2011 at 2:20 PM, Eli Friedman <eli.friedman at gmail.com> > wrote: > > On Thu, Oct 6, 2011 at 2:12 PM, Zeng Bin <ezengbin at gmail.com> wrote: > >> Hi all, > >> > >> There might be a bug in DeadStoreElimination.cpp. This pass eliminates > >> stores backwards aggressively in an end BB. It does not check > dependencies > >> on stores in an end BB though. For example, in this code snippet: > >> ... > >> 1. %sum.safe_r47.pre-phi = phi i64* [ %sum.safe_r47.pre, &g...
2011 Oct 06
1
[LLVMdev] A potential bug
...; wrote: >> >> On Thu, Oct 6, 2011 at 2:20 PM, Eli Friedman <eli.friedman at gmail.com> >> wrote: >> > On Thu, Oct 6, 2011 at 2:12 PM, Zeng Bin <ezengbin at gmail.com> wrote: >> >> Hi all, >> >> >> >> There might be a bug in DeadStoreElimination.cpp. This pass eliminates >> >> stores backwards aggressively in an end BB. It does not check >> >> dependencies >> >> on stores in an end BB though. For example, in this code snippet: >> >>   ... >> >> 1.  %sum.safe_r47.pre-phi = phi...
2011 Oct 13
2
[LLVMdev] pass utilizing MemoryDependenceAnalysis?
...getAnalysis<MemoryDependenceAnalysis>(); The results in:        addRequired called        Assertion failed: (ResultPass && "getAnalysis*() called on an analysis that was not " "'required' by pass!"), function getAnalysisID I do not know why. I noticed the DeadStoreElimination pass also uses this, but it does not use RegisterPass (like mine and the docs show). Instead it has lines like:        INITIALIZE_PASS_DEPENDENCY(MemoryDependenceAnalysis) This gives me:        error: C++ requires a type specifier for all declarations What is the correct way todo this?
2017 Jul 16
4
PartialAlias: different start addresses
...n LocA.Size == LocB.Size ? MustAlias : PartialAlias; > >> > >> > >> I grepped for clients of MustAlias: > >> ~/llvm/lib/Transforms $ grep -Rl MustAlias . > >> ./ObjCARC/ObjCARCOpts.cpp > >> ./ObjCARC/ProvenanceAnalysis.cpp > >> ./Scalar/DeadStoreElimination.cpp > >> ./Scalar/GVN.cpp > >> ./Scalar/LICM.cpp > >> ./Scalar/LoopVersioningLICM.cpp > >> ./Scalar/MemCpyOptimizer.cpp > >> ./Scalar/MergedLoadStoreMotion.cpp > >> ./Scalar/NewGVN.cpp > >> ./Utils/VNCoercion.cpp > >> >...
2017 Jul 15
2
PartialAlias: different start addresses
...cA.Ptr == LocB.Ptr) >> return LocA.Size == LocB.Size ? MustAlias : PartialAlias; >> >> >> I grepped for clients of MustAlias: >> ~/llvm/lib/Transforms $ grep -Rl MustAlias . >> ./ObjCARC/ObjCARCOpts.cpp >> ./ObjCARC/ProvenanceAnalysis.cpp >> ./Scalar/DeadStoreElimination.cpp >> ./Scalar/GVN.cpp >> ./Scalar/LICM.cpp >> ./Scalar/LoopVersioningLICM.cpp >> ./Scalar/MemCpyOptimizer.cpp >> ./Scalar/MergedLoadStoreMotion.cpp >> ./Scalar/NewGVN.cpp >> ./Utils/VNCoercion.cpp >> >> I glanced over all the uses in thes...
2017 Jul 15
2
PartialAlias: different start addresses
...und out why ;) It's true that the CFL AAs have this code: if (LocA.Ptr == LocB.Ptr) return LocA.Size == LocB.Size ? MustAlias : PartialAlias; I grepped for clients of MustAlias: ~/llvm/lib/Transforms $ grep -Rl MustAlias . ./ObjCARC/ObjCARCOpts.cpp ./ObjCARC/ProvenanceAnalysis.cpp ./Scalar/DeadStoreElimination.cpp ./Scalar/GVN.cpp ./Scalar/LICM.cpp ./Scalar/LoopVersioningLICM.cpp ./Scalar/MemCpyOptimizer.cpp ./Scalar/MergedLoadStoreMotion.cpp ./Scalar/NewGVN.cpp ./Utils/VNCoercion.cpp I glanced over all the uses in these files and I couldn't find any usage that requires sizes to match. Actual...
2012 Oct 30
1
[LLVMdev] Error when trying to chain two llvm transform passes
On Oct 30, 2012, at 3:15 PM, Krzysztof Parzyszek <kparzysz at codeaurora.org> wrote: > On 10/30/2012 4:10 PM, Ashwin kumar wrote: >> >> Assertion failed: (PI && "Expected required passes to be initialized"), >> function schedulePass, file PassManager.cpp, line 597. >> >> >> I register the passes using RegisterPass function call.
2004 Sep 02
0
[LLVMdev] Problem with CVS LLVM build in obj != src dir case
...cker::remove(llvm::FreeInst*)': /home/wanderer/pkg/build/llvm/src/llvm/lib/Analysis/AliasSetTracker.cpp:366: warning: passing negative value `-0x000000001' for converting 2 of `llvm::AliasSet* llvm::AliasSetTracker::findAliasSetForPointer(const llvm::Value*, unsigned int)' Compiling DeadStoreElimination.cpp /home/wanderer/pkg/build/llvm/src/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp: In member function `bool<unnamed>::DSE::runOnBasicBlock(llvm::BasicBlock&)': /home/wanderer/pkg/build/llvm/src/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:72: warning: passing neg...