search for: hasnoninstructionuse

Displaying 4 results from an estimated 4 matches for "hasnoninstructionuse".

Did you mean: hasnoninstructionuser
2010 Oct 28
2
[LLVMdev] global optimizer precision
...9;t make sense to promote non single-value types since we // are just replacing static memory to stack memory. // // If the global is in different address space, don't bring it to stack. if (!GS.HasMultipleAccessingFunctions && GS.AccessingFunction && !GS.HasNonInstructionUser && GV->getType()->getElementType()->isSingleValueType() && GS.AccessingFunction->getName() == "main" && GS.AccessingFunction->hasExternalLinkage() && GV->getType()->getAddressSpace() == 0) { The comment...
2013 Jul 08
1
[LLVMdev] Special cased global-to-local-in-main replacement in GlobalOpt
...t doesn't make sense to promote non single-value types since we // are just replacing static memory to stack memory. // // If the global is in different address space, don't bring it to stack. if (!GS.HasMultipleAccessingFunctions && GS.AccessingFunction && !GS.HasNonInstructionUser && GV->getType()->getElementType()->isSingleValueType() && GS.AccessingFunction->getName() == "main" && GS.AccessingFunction->hasExternalLinkage() && GV->getType()->getAddressSpace() == 0) { >From today'...
2009 Jun 16
3
[LLVMdev] Localizing Globals ?
...he global with a local alloca // in this function. // // NOTE: It doesn't make sense to promote non single-value types since we // are just replacing static memory to stack memory. if (!GS.HasMultipleAccessingFunctions && GS.AccessingFunction && !GS.HasNonInstructionUser && GV->getType()->getElementType()->isSingleValueType() && GS.AccessingFunction->getName() == "main" && GS.AccessingFunction->hasExternalLinkage()) { DOUT << "LOCALIZING GLOBAL: " << *GV; What if...
2013 Aug 02
1
[LLVMdev] replacing GetElementPtrConstantExpr with GetElementPtrInst ... sometimes
...aceAllUsesWith' is a bad idea! I plan to explore the parent node next to verify its type and replace its GetElementPtrConstantExpr operand if it is an instruction. Q: Is this the right direction? Thank you. Robert namespace { struct ValuePair { Value * CE; Value * Inst; }; } static bool hasNonInstructionUse(GlobalVariable *GV) { // first try to replace GetElementPtrConstantExpr with GetElementPtrInst SmallVector<ValuePair,4> Replace; for (Value::use_iterator UI = GV->use_begin(), E = GV->use_end(); UI != E; ++UI) { ConstantExpr * CE = dyn_cast<ConstantExpr>(*UI); if ( C...