search for: mmob

Displaying 9 results from an estimated 9 matches for "mmob".

Did you mean: mob
2016 Feb 03
2
[buildSchedGraph] memory dependencies
...|| !MIb->hasOneMemOperand()) return true; + // If mem-operands show that the same address Value is used by both + // ("normal") instructions, simply check offsets and sizes of the + // accesses. + MachineMemOperand *MMOa = *MIa->memoperands_begin(); + MachineMemOperand *MMOb = *MIb->memoperands_begin(); + const Value *VALa = MMOa->getValue(); + const Value *VALb = MMOb->getValue(); + if (VALa == VALb && + !MIa->hasUnmodeledSideEffects() && !MIb->hasUnmodeledSideEffects() && + !MIa->hasOrderedMemoryRef() &&...
2012 Mar 01
0
[LLVMdev] problem with inlining pass
Hi Jochen, > My llvm version is 3.0 release. > I have a module generated by clang. When I optimize it, I first add an > inlining pass (llvm::createFunctionInliningPass), then these passes: > - own FunctionPass > - llvm::createPromoteMemoryToRegisterPass > - llvm::createInstructionCombiningPass > - llvm::createDeadInstEliminationPass > - llvm::createDeadStoreEliminationPass
2012 Feb 29
2
[LLVMdev] problem with inlining pass
Hi! My llvm version is 3.0 release. I have a module generated by clang. When I optimize it, I first add an inlining pass (llvm::createFunctionInliningPass), then these passes: - own FunctionPass - llvm::createPromoteMemoryToRegisterPass - llvm::createInstructionCombiningPass - llvm::createDeadInstEliminationPass - llvm::createDeadStoreEliminationPass - new llvm::DominatorTree() - new
2013 Apr 18
2
[LLVMdev] alias analysis in backend
...ther than the trivial case of overlap > // checking. > // - These offsets never wrap and never step outside > // of allocated objects. > // - There should never be any negative offsets here. > // > ... > > int64_t MinOffset = std::min(MMOa->getOffset(), MMOb->getOffset()); > int64_t Overlapa = MMOa->getSize() + MMOa->getOffset() - MinOffset; > int64_t Overlapb = MMOb->getSize() + MMOb->getOffset() - MinOffset; > > AliasAnalysis::AliasResult AAResult = AA->alias( > AliasAnalysis::Location(MMOa->getValue(), Overla...
2013 Apr 17
0
[LLVMdev] alias analysis in backend
...d // cannot affect queries other than the trivial case of overlap // checking. // - These offsets never wrap and never step outside // of allocated objects. // - There should never be any negative offsets here. // ... int64_t MinOffset = std::min(MMOa->getOffset(), MMOb->getOffset()); int64_t Overlapa = MMOa->getSize() + MMOa->getOffset() - MinOffset; int64_t Overlapb = MMOb->getSize() + MMOb->getOffset() - MinOffset; AliasAnalysis::AliasResult AAResult = AA->alias( AliasAnalysis::Location(MMOa->getValue(), Overlapa,...
2013 Apr 17
2
[LLVMdev] alias analysis in backend
Hi Hal, Thanks. How about a symbol with two different immediate offsets - the Value* would be the same, right? I don't see how AliasAnalysis::Location would handle this... And BasicAliasAnalysis does if (V1 == V2) return MustAlias; , so I'm not sure how this would be done .. ? /Jonas > -----Original Message----- > From: Hal Finkel [mailto:hfinkel at anl.gov] > Sent:
2012 Mar 01
3
[LLVMdev] Aliasing bug or feature?
...0, 0x3df4e70, 0x3d9c130<Mem:ST1[@s]> [ID=4] // This is a store to s Underlying Values: @q = common global i8* null, align 4 @s = common global i8 0, align 1 The way inquiry is made is similar to DAGCombiner::isAlias() SDNode *SDN1; SDNode *SDN2; MachineMemOperand *MMOa; MachineMemOperand *MMOb; ... const MachineSDNode *MNb = dyn_cast<MachineSDNode>(SDN2); const MachineSDNode *MNa = dyn_cast<MachineSDNode>(SDN1); ... MMOa = !MNa->memoperands_empty() ? (*MNa->memoperands_begin()) : NULL; MMOb = !MNb->memoperands_empty() ?...
2013 Apr 18
0
[LLVMdev] alias analysis in backend
...checking. > > // - These offsets never wrap and never step outside > > // of allocated objects. > > // - There should never be any negative offsets here. > > // > > ... > > > > int64_t MinOffset = std::min(MMOa->getOffset(), > > MMOb->getOffset()); > > int64_t Overlapa = MMOa->getSize() + MMOa->getOffset() - > > MinOffset; > > int64_t Overlapb = MMOb->getSize() + MMOb->getOffset() - > > MinOffset; > > > > AliasAnalysis::AliasResult AAResult = AA->alias( > > Alia...
2011 Nov 09
1
[LLVMdev] .debug_info section size in arm executable
On Nov 9, 2011, at 2:12 PM, Chris Lattner wrote: > On Nov 9, 2011, at 1:08 PM, Jim Grosbach wrote: >>> On Nov 9, 2011, at 10:49 AM, Jim Grosbach wrote: >>>>> >>>>> It's not good, but people do it. Also constructing enums via & and | etc. It'd be nice to be able to get the name of whatever it is that the code generator actually produced :)