subject moved to llvm-commits http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130909/187458.html
________________________________________ From: Arnold Schwaighofer [[email protected]] Sent: 09 September 2013 19:19 To: Robert Lytton Cc: Rafael Espíndola; Nadav Rotem; [email protected] Subject: Re: XCore target: disable vectorization On Sep 9, 2013, at 12:49 PM, Robert Lytton <[email protected]> wrote: > Hi Arnold, > > In my mind there seems to be two changes needed. No, with the TTI change you only need an llvm change - no clang change. clang will add the slp/loop-vectorizer but once they execute and ask the target whether they should vectorize (“TTI->getNumberOfRegisters(true)”) these passes immediately give up. > > 1) llvm to check the number of vector registers - as per the direction of > this thread. > Will I also need something similar in BBVectorize? (see below). > I need to create some tests for the changes - not so straight forward! You would create a test in "test/Transforms/LoopVectorize/XCore” and “test/Transforms/SLPVectorize/XCore” with “opt -mtriple=XCore- ….” and make sure that you don’t vectorize code you normally would. > When done, I'll post to llvm-commit and cc folk for comment. > > 2) clang not to set the '-vectorize-loops' & '-vectorize-slp' flags > Thus the original patch (with corrected function name) would seem reasonable. > If others agree, I will resubmit the changes. > You would not need this change. > Robert > > --- a/lib/Transforms/Vectorize/BBVectorize.cpp > +++ b/lib/Transforms/Vectorize/BBVectorize.cpp > @@ -397,6 +397,12 @@ namespace { > DEBUG(if (TTI) dbgs() << "BBV: using target information\n"); > > bool changed = false; > + > + // If the target claims to have no vector registers don't attempt > + // vectorization. > + if (TTI && !TTI->getNumberOfRegisters(true)) > + return false; > + > // Iterate a sufficient number of times to merge types of size 1 bit, _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
