Displaying 3 results from an estimated 3 matches for "decomposegepexpression".
2012 Nov 09
3
[LLVMdev] inttoptr and basicaa
...at nothing inside basicaa processes inttoptr; the fall
through case of using TBAA (int and long long in this case) is executed and
NoAlias is returned as the pointer types are different.
I have two questions.
1) Is it safe for basicaa to reason about inttoptr in a manner similar to
aliasGEP (using decomposeGEPExpression to symbolically evaluate the
pointer).
2) If the answer to the above is no, then shouldn't basicaa treat the above
conservatively before it looks at TBAA ?
Thanks,
Pranav
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
by The Linux Foundation
2012 Nov 09
0
[LLVMdev] inttoptr and basicaa
...cesses inttoptr; the fall
> through case of using TBAA (int and long long in this case) is executed and
> NoAlias is returned as the pointer types are different.
>
> I have two questions.
> 1) Is it safe for basicaa to reason about inttoptr in a manner similar to
> aliasGEP (using decomposeGEPExpression to symbolically evaluate the
> pointer).
If we can prove the difference between two pointer values is a
compile-time constant (in this case, zero), we can return
NoAlias/MustAlias/etc. based purely on that. That said, GEP makes
special aliasing guarantees which are impossible to reconstruct fr...
2011 May 06
0
[LLVMdev] Question about linking llvm-mc when porting a new backend
...p;)in libLLVMAsmPrinter.a(AsmPrinter.cpp.o)
llvm::SelectionDAGBuilder::visitGetElementPtr(llvm::User const&)in
libLLVMSelectionDAG.a(SelectionDAGBuilder.cpp.o)
GetBaseWithConstantOffset(llvm::Value*, long long&, llvm::TargetData
const&)in libLLVMScalarOpts.a(GVN.cpp.o)
DecomposeGEPExpression(llvm::Value const*, long long&,
llvm::SmallVectorImpl<(anonymous namespace)::VariableGEPIndex>&,
llvm::TargetData const*)
in libLLVMAnalysis.a(BasicAliasAnalysis.cpp.o)
ReadDataFromGlobal(llvm::Constant*, unsigned long long, unsigned
char*, unsigned...