[llvm-commits] [PATCH] Prevent illegal joins of physical and virtual registers
Evan Cheng
evan.cheng at apple.com
Mon Apr 27 13:17:30 PDT 2009
Looks good. Please commit.
Thanks,
Evan
On Apr 26, 2009, at 8:21 AM, Jakob Stoklund Olesen wrote:
> This is my second attempt at verifying register classes when
> coalescing physical and virtual registers. The first attempt
> completely missed the issue of subregisters being joined.
>
> I have attached two patches:
>
> targetregclass.patch: Change the static function
> getSubRegisterRegClass in ScheduleDagSDNodesEmit.cpp to a method on
> TargetRegisterClass. The method is needed by the next patch.
>
> coalesce-phys-virt.patch: Verify register classes when joining
> physical and virtual registers. This time take into account all the
> weird subreg combinations that are possible.
>
> Please note that this patch causes a number of failures in the
> CodeGen/X86 test suite. That is because X86RegisterInfo.td contains
> inconsistent information about subregister classes. I am submitting
> a patch to the X86 backend that fixes this.
>
> With the X86 patch, this patch passes "make check".
>
> <coalesce-phys-virt.patch><targetregclass-
> subreg.patch>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list