[PATCH] CFLAA -- ConstantExpr Awareness
David Majnemer
david.majnemer at gmail.com
Fri Mar 6 00:28:29 PST 2015
================
Comment at: lib/Analysis/CFLAliasAnalysis.cpp:961-971
@@ +960,13 @@
+
+static bool canSkipAddingToSets(Value *Val) {
+ // Constants can share instances, which may falsely unify multiple
+ // sets, e.g. in
+ // store i32* null, i32** %ptr1
+ // store i32* null, i32** %ptr2
+ // clearly ptr1 and ptr2 should not be unified into the same set, so
+ // we should filter out the (potentially shared) instance to
+ // i32* null.
+ return isa<Constant>(Val) && !isa<GlobalValue>(Val) &&
+ !isa<ConstantExpr>(Val);
+}
+
----------------
What if the constant is a ConstantArray/ConstantStruct/ConstantVector with a GlobalValue field?
http://reviews.llvm.org/D8099
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list