[LLVMdev] 32bit math being promoted to 64 bit
Villmow, Micah
Micah.Villmow at amd.com
Thu Dec 4 10:43:55 PST 2008
instcombine doesn't seem to be doing it. From my testing it seems to
only occur when I use -indvars after a long string of commands.
For example:
llvm-as < test_fc_27.ll | opt -preverify -domtree -verify
-lowersetjmp -raiseallocs -simplifycfg -domtree -domfrontier
-mem2reg -globalopt -globaldce -ipconstprop -deadargelim
-instcombine -simplifycfg -ba
siccg -prune-eh -inline -argpromotion -simplify-libcalls
-instcombine -jump-threading -simplifycfg -domtree -domfrontier
-scalarrepl -instcombine -break-crit-edges -condprop -tailcallelim
-simplifycfg -reassociate -domtree -loops -loopsimplify -domfrontier
-scalar-evolution -lcssa -loop-rotate -licm -lcssa
-scalar-evolution -lcssa -loop-index-split -instcombine
-scalar-evolution -lcssa -simplifycfg -view-cfg
Doesn't cause it, but
llvm-as < test_fc_27.ll | opt -preverify -domtree -verify
-lowersetjmp -raiseallocs -simplifycfg -domtree -domfrontier
-mem2reg -globalopt -globaldce -ipconstprop -deadargelim
-instcombine -simplifycfg -ba
siccg -prune-eh -inline -argpromotion -simplify-libcalls
-instcombine -jump-threading -simplifycfg -domtree -domfrontier
-scalarrepl -instcombine -break-crit-edges -condprop -tailcallelim
-simplifycfg -reassociate -domtree -loops -loopsimplify -domfrontier
-scalar-evolution -lcssa -loop-rotate -licm -lcssa
-scalar-evolution -lcssa -loop-index-split -instcombine
-scalar-evolution -lcssa -indvars -simplifycfg -view-cfg
does.
However, opt -indvars does not cause it, so it seems to be a sequence of
operations that is causing it and not -indvars by itself.
Hope this helps,
Micah
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
On Behalf Of Tilmann Scheller
Sent: Thursday, December 04, 2008 10:28 AM
To: LLVM Developers Mailing List
Subject: Re: [LLVMdev] 32bit math being promoted to 64 bit
On Thu, Dec 4, 2008 at 7:08 PM, Chris Lattner <clattner at apple.com>
wrote:
>
> On Dec 4, 2008, at 8:58 AM, Villmow, Micah wrote:
>
> What optimization pass promotes 32 bit math operations to 64 bit
operations
> so I can disable it? I have code that works fine with optimizations
turned
> off but fails with it turned on because of this stage.
>
>
> Do you have a testcase? An .ll file with no 64-bit operations, and
one
> optimization pass that introduces them?
Sounds a lot like the issue I reported in PR 3101.
Can you run your bitcode through opt -instcombine and check for
promotions?
Greetings,
Tilmann
_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list