[PATCH] MergeFuncs should handle dynamic GEPs
Pete Cooper
peter_cooper at apple.com
Wed Jan 28 13:26:20 PST 2015
================
Comment at: lib/Transforms/IPO/MergeFunctions.cpp:895
@@ +894,3 @@
+ // TODO: Handle case where only one side is a struct, so long as both
+ // sides have a constant at this index, and the fielf offsets are a match.
+ if (int Res = cmpNumbers(!!StTyL, !!StTyR))
----------------
dyatkovskiy wrote:
> "fielf" => "field"
Missed that. Thanks.
================
Comment at: lib/Transforms/IPO/MergeFunctions.cpp:900
@@ +899,3 @@
+ if (StTyL) {
+ unsigned IntL = cast<Constant>(OpL)->getUniqueInteger().getZExtValue();
+ unsigned IntR = cast<Constant>(OpR)->getUniqueInteger().getZExtValue();
----------------
dyatkovskiy wrote:
> May be "cast<ConstantInt>"?
I thought that too at first, but then i discovered the magic of vector GEPs. About to upload a patch which does this the right way, i.e., we handle the scalar and vector cases.
http://reviews.llvm.org/D7170
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list