[llvm-commits] [llvm] r162037 - in /llvm/trunk/lib/Target/PowerPC/MCTargetDesc: PPCAsmBackend.cpp PPCFixupKinds.h
Chandler Carruth
chandlerc at google.com
Thu Aug 16 11:40:50 PDT 2012
Just for the record, this too needs a test case.
On Thu, Aug 16, 2012 at 11:37 AM, Roman Divacky <rdivacky at freebsd.org>wrote:
> Author: rdivacky
> Date: Thu Aug 16 13:37:52 2012
> New Revision: 162037
>
> URL: http://llvm.org/viewvc/llvm-project?rev=162037&view=rev
> Log:
> Define and handle additional fixup kinds. By Adhemerval Zanella.
>
> Modified:
> llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
> llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
>
> Modified: llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp?rev=162037&r1=162036&r2=162037&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp Thu Aug
> 16 13:37:52 2012
> @@ -29,7 +29,12 @@
> case FK_Data_1:
> case FK_Data_2:
> case FK_Data_4:
> + case FK_Data_8:
> + case PPC::fixup_ppc_toc:
> return Value;
> + case PPC::fixup_ppc_lo14:
> + case PPC::fixup_ppc_toc16_ds:
> + return (Value & 0xffff) >> 2;
> case PPC::fixup_ppc_brcond14:
> return Value & 0x3ffc;
> case PPC::fixup_ppc_br24:
> @@ -40,6 +45,7 @@
> #endif
> case PPC::fixup_ppc_ha16:
> return ((Value >> 16) + ((Value & 0x8000) ? 1 : 0)) & 0xffff;
> + case PPC::fixup_ppc_toc16:
> case PPC::fixup_ppc_lo16:
> return Value & 0xffff;
> }
> @@ -72,7 +78,10 @@
> { "fixup_ppc_brcond14", 16, 14,
> MCFixupKindInfo::FKF_IsPCRel },
> { "fixup_ppc_lo16", 16, 16, 0 },
> { "fixup_ppc_ha16", 16, 16, 0 },
> - { "fixup_ppc_lo14", 16, 14, 0 }
> + { "fixup_ppc_lo14", 16, 14, 0 },
> + { "fixup_ppc_toc", 0, 64, 0 },
> + { "fixup_ppc_toc16", 16, 16, 0 },
> + { "fixup_ppc_toc16_ds", 16, 14, 0 }
> };
>
> if (Kind < FirstTargetFixupKind)
>
> Modified: llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h?rev=162037&r1=162036&r2=162037&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h (original)
> +++ llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h Thu Aug 16
> 13:37:52 2012
> @@ -34,6 +34,16 @@
> /// fixup_ppc_lo14 - A 14-bit fixup corresponding to lo16(_foo) for
> instrs
> /// like 'std'.
> fixup_ppc_lo14,
> +
> + /// fixup_ppc_toc - Insert value of TOC base (.TOC.).
> + fixup_ppc_toc,
> +
> + /// fixup_ppc_toc16 - A 16-bit signed fixup relative to the TOC base.
> + fixup_ppc_toc16,
> +
> + /// fixup_ppc_toc16_ds - A 14-bit signed fixup relative to the TOC base
> with
> + /// implied 2 zero bits.
> + fixup_ppc_toc16_ds,
>
> // Marker
> LastTargetFixupKind,
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120816/0e14f3e9/attachment.html>
More information about the llvm-commits
mailing list