[llvm-commits] [llvm-gcc-4.2] r108554 - /llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
bob.wilson at apple.com
Mon Jul 19 09:20:16 PDT 2010
Dale, I don't think this is correct, at least for ARM. The 'p' constraint is for a memory address, not the actual memory reference. If I remember correctly, the use of this reported in pr4521 was kind of questionable, and I haven't yet looked in any detail at pr5314 and pr5533. Maybe we can talk about this in person sometime today.
On Jul 16, 2010, at 2:00 PM, Dale Johannesen wrote:
> Author: johannes
> Date: Fri Jul 16 16:00:31 2010
> New Revision: 108554
> URL: http://llvm.org/viewvc/llvm-project?rev=108554&view=rev
> "p" constraint is a form of "m", not "r". PR 5314.
> Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=108554&r1=108553&r2=108554&view=diff
> --- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original)
> +++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Fri Jul 16 16:00:31 2010
> @@ -4429,12 +4429,11 @@
> - // Translate 'p' to 'r'. This is supposed to check for a valid memory
> + // Translate 'p' to 'm'. This is supposed to check for a valid memory
> // address, but for inline assembly there is no way to know the mode of
> - // the data being addressed. Assume that a general register is always
> - // a valid address.
> + // the data being addressed.
> if (ConstraintChar == 'p')
> - ConstraintChar = 'r';
> + ConstraintChar = 'm';
> // See if this is a regclass constraint.
> unsigned RegClass;
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
More information about the llvm-commits