[llvm-commits] [PATCH] Inline asm mult-alt constraints done for now
dalej at apple.com
Thu Oct 21 13:54:53 CDT 2010
OK, I've gotten to this now. Thanks for your patience.
The various changes of std::vector to SmallVector and uses of typedefs are OK.
There is too much duplication in the different versions of getSingleConstraintMatchWeight. Generic constraints like 'r' should be handled only in the generic version. I think several of the overloaded versions can go away entirely. The approach of substituting ConstraintWeight for numbers is generally OK with this modification.
> + default:
> + weight = TargetLowering::getSingleConstraintMatchWeight(info, constraint);
Should be followed by 'break' (several places). It's disturbing that testing didn't catch this.
> + CW_Okay = 0, // Acceptible.
I need to look at the ParseConstraints bits more, I don't really understand what you're doing there yet. The bits covered above can go in.
On Oct 15, 2010, at 10:42 AMPDT, John Thompson wrote:
> Thanks for the heads up, Evan.
> I forgot to point out a couple of other changes I made. One was to change some usages of std::vector to SmallVector typedefs on the stuff related to the constraints. The other was that I changed some hard tabs in one file (not from me this time) to spaces, based on the report from a checking program I wrote and am now running on the files I touch.
> On Fri, Oct 15, 2010 at 10:02 AM, Evan Cheng <evan.cheng at apple.com> wrote:
> Dale should review this once he gets back on Monday.
> On Oct 14, 2010, at 6:41 PM, John Thompson wrote:
>> I made a pass through all the platforms, and added support for the weighting of the platform-specific constraints that seemed to have any kind of support, which was not much, based on what was in the existing getConstraintType functions. There probably isn't much point adding weighting for constraints not yet supported, but at least the now framework is there for if and when they are added. Therefore, I'm considering Clang/LLVM mult-alt constraint support done for now, except for some tests I'm getting in shape to check in for both the Clang and LLVM sides. I've run the regression tests, test-suite, and gcc tests on both modified and unmodified trees from this morning on Linux with no differences.
>> May I check this in?
>> John Thompson
>> John.Thompson.JTSoftware at gmail.com
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
> John Thompson
> John.Thompson.JTSoftware at gmail.com
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits