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...