search for: isidentifiedfunctionlocal

Displaying 6 results from an estimated 6 matches for "isidentifiedfunctionlocal".

2015 Mar 13
2
[LLVMdev] Alias analysis issue with structs on PPC
...d into double* using an inttoptr instruction. The code in BasicAliasAnalysis.cpp which is triggered for x86 is the following: // Function arguments can't alias with things that are known to be // unambigously identified at the function level. if ((isa<Argument>(O1) && isIdentifiedFunctionLocal(O2)) || (isa<Argument>(O2) && isIdentifiedFunctionLocal(O1))) return NoAlias; isIdentifiedFunctionLocal(V) returns true for a noalias argument (such as result), but the other address (my_struct) must be a function argument in order to return NoAlias, which is not the ca...
2015 Mar 13
2
[LLVMdev] Alias analysis issue with structs on PPC
.... The code in BasicAliasAnalysis.cpp which is triggered for x86 >> is the following: >> >> // Function arguments can't alias with things that are known to be >> // unambigously identified at the function level. >> if ((isa<Argument>(O1) && isIdentifiedFunctionLocal(O2)) || >> (isa<Argument>(O2) && isIdentifiedFunctionLocal(O1))) >> return NoAlias; >> >> isIdentifiedFunctionLocal(V) returns true for a noalias argument (such as >> result), but the other address (my_struct) must be a function argument in...
2015 Mar 15
5
[LLVMdev] Alias analysis issue with structs on PPC
...ch is triggered for x86 >>>> is the following: >>>> >>>> // Function arguments can't alias with things that are known to be >>>> // unambigously identified at the function level. >>>> if ((isa<Argument>(O1) && isIdentifiedFunctionLocal(O2)) || >>>> (isa<Argument>(O2) && isIdentifiedFunctionLocal(O1))) >>>> return NoAlias; >>>> >>>> isIdentifiedFunctionLocal(V) returns true for a noalias argument (such >>>> as result), but the other address (my...
2013 May 27
1
[LLVMdev] Mixing noalias and regular arguments
...overs the 3 cases I have in the new function, but also two additional ones: GlobalValues which are not GlobalAliases, and byval arguments. Okay. > Unfortunately, a check of Argument vs. IsIdentifiedObject is too broad, because an argument (which is not noalias) can alias a GlobalValue. Right. IsIdentifiedFunctionLocal? :) > Regarding the namespace - I just thought I should keep isNoAliasArgument close to isNoAliasCall. > I'll move it to BasicAliasAnalysis if you think that's a better idea. I generally avoid adding things to llvm:: when I can avoid it, but I don't care a whole lot. If you thi...
2013 May 27
0
[LLVMdev] Mixing noalias and regular arguments
Regarding the name, I'm not sure noaliasAtFunctionEntry makes sense, for two reasons: a) The pointer involved may not be defined at entry. b) We already have something which is similar in spirit - IsIdentifiedObject. That covers the 3 cases I have in the new function, but also two additional ones: GlobalValues which are not GlobalAliases, and byval arguments. Unfortunately, a check of
2013 May 27
2
[LLVMdev] Mixing noalias and regular arguments
Kuperstein, Michael M wrote: > Thanks Nick! > > Can you just check sanity before I commit? > (Or suggest a better name for the function...) Sure! +static bool canNotAliasDiffArgument(const Value *V) +{ + return (isa<AllocaInst>(V) || isNoAliasCall(V) || isNoAliasArgument(V)); +} Extra parens? The name "canNotAliasDiffArgument" works, but it's named for what we