[PATCH] D21798: [ARM] Do not test for CPUs, use SubtargetFeatures. Also remove 1 flag

Diana Picus via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 28 09:00:37 PDT 2016


rovka created this revision.
rovka added reviewers: t.p.northover, sbaranga, jmolloy, kristof.beyls, rengolin, compnerd, MatzeB, echristo.
rovka added a subscriber: llvm-commits.
Herald added subscribers: mehdi_amini, rengolin, aemerson.

This is a follow-up for r273544.

The end goal is to get rid of the isSwift / isCortexXY / isWhatever methods.
    
This commit also removes a command line flag that isn't used in any of the tests:
check-vmlx-hazards. It can be replaced easily with the mattr mechanism, since
this is now a subtarget feature.

I have mixed feelings about the FeatureExpandMLx. I'm not sure I understand the
history there. In particular, in the past MLx expansion was enabled for
subtargets with hasVFP2(), until r129775 [1] switched from that to isCortexA9,
without too much justification.
    
In spite of that, the code performing MLx expansion still contains calls to
isSwift/isLikeA9, although the results of those are pretty clear given that
we're only enabling it for the A9. Should we try to enable it for other targets?
If so, do we want to have a feature for it (as it is in this patch), or should
we control it based on other features? Is FeatureHasVMLxHazards a good candidate
for this? Any thoughts appreciated, thanks.
    
[1] http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20110418/119725.html


http://reviews.llvm.org/D21798

Files:
  lib/Target/ARM/ARM.td
  lib/Target/ARM/ARMISelDAGToDAG.cpp
  lib/Target/ARM/ARMSubtarget.h
  lib/Target/ARM/MLxExpansionPass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21798.62101.patch
Type: text/x-patch
Size: 6207 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160628/b3017a02/attachment.bin>


More information about the llvm-commits mailing list