[llvm-commits] [llvm] r113985 - /llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
Bob Wilson
bob.wilson at apple.com
Wed Sep 15 14:24:27 PDT 2010
You missed VLDMQ. Will you add that?
On Sep 15, 2010, at 10:27 AM, Jakob Stoklund Olesen wrote:
> Author: stoklund
> Date: Wed Sep 15 12:27:09 2010
> New Revision: 113985
>
> URL: http://llvm.org/viewvc/llvm-project?rev=113985&view=rev
> Log:
> Recognize VST1q64Pseudo and VSTMQ as stack slot stores.
> Recognize VLD1q64Pseudo as a stack slot load.
>
> Reject these if they are loading or storing a subregister. The API (and
> VirtRegRewriter) doesn't know how to deal with that.
>
> Modified:
> llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
>
> Modified: llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp?rev=113985&r1=113984&r2=113985&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp (original)
> +++ llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp Wed Sep 15 12:27:09 2010
> @@ -751,6 +751,21 @@
> return MI->getOperand(0).getReg();
> }
> break;
> + case ARM::VST1q64Pseudo:
> + if (MI->getOperand(0).isFI() &&
> + MI->getOperand(2).getSubReg() == 0) {
> + FrameIndex = MI->getOperand(0).getIndex();
> + return MI->getOperand(2).getReg();
> + }
> + case ARM::VSTMQ:
> + if (MI->getOperand(1).isFI() &&
> + MI->getOperand(2).isImm() &&
> + MI->getOperand(2).getImm() == ARM_AM::getAM4ModeImm(ARM_AM::ia) &&
> + MI->getOperand(0).getSubReg() == 0) {
> + FrameIndex = MI->getOperand(1).getIndex();
> + return MI->getOperand(0).getReg();
> + }
> + break;
> }
>
> return 0;
> @@ -873,6 +888,13 @@
> return MI->getOperand(0).getReg();
> }
> break;
> + case ARM::VLD1q64Pseudo:
> + if (MI->getOperand(1).isFI() &&
> + MI->getOperand(0).getSubReg() == 0) {
> + FrameIndex = MI->getOperand(1).getIndex();
> + return MI->getOperand(0).getReg();
> + }
> + break;
> }
>
> return 0;
>
>
> _______________________________________________
> 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