1*bdd1243dSDimitry Andric //===---- i386.cpp - Generic JITLink i386 edge kinds, utilities -----===// 2*bdd1243dSDimitry Andric // 3*bdd1243dSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*bdd1243dSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*bdd1243dSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*bdd1243dSDimitry Andric // 7*bdd1243dSDimitry Andric //===----------------------------------------------------------------------===// 8*bdd1243dSDimitry Andric // 9*bdd1243dSDimitry Andric // Generic utilities for graphs representing i386 objects. 10*bdd1243dSDimitry Andric // 11*bdd1243dSDimitry Andric //===----------------------------------------------------------------------===// 12*bdd1243dSDimitry Andric 13*bdd1243dSDimitry Andric #include "llvm/ExecutionEngine/JITLink/i386.h" 14*bdd1243dSDimitry Andric 15*bdd1243dSDimitry Andric #define DEBUG_TYPE "jitlink" 16*bdd1243dSDimitry Andric 17*bdd1243dSDimitry Andric namespace llvm::jitlink::i386 { 18*bdd1243dSDimitry Andric 19*bdd1243dSDimitry Andric const char *getEdgeKindName(Edge::Kind K) { 20*bdd1243dSDimitry Andric switch (K) { 21*bdd1243dSDimitry Andric case None: 22*bdd1243dSDimitry Andric return "None"; 23*bdd1243dSDimitry Andric case Pointer32: 24*bdd1243dSDimitry Andric return "Pointer32"; 25*bdd1243dSDimitry Andric case PCRel32: 26*bdd1243dSDimitry Andric return "PCRel32"; 27*bdd1243dSDimitry Andric case Pointer16: 28*bdd1243dSDimitry Andric return "Pointer16"; 29*bdd1243dSDimitry Andric case PCRel16: 30*bdd1243dSDimitry Andric return "PCRel16"; 31*bdd1243dSDimitry Andric case Delta32: 32*bdd1243dSDimitry Andric return "Delta32"; 33*bdd1243dSDimitry Andric case Delta32FromGOT: 34*bdd1243dSDimitry Andric return "Delta32FromGOT"; 35*bdd1243dSDimitry Andric case RequestGOTAndTransformToDelta32FromGOT: 36*bdd1243dSDimitry Andric return "RequestGOTAndTransformToDelta32FromGOT"; 37*bdd1243dSDimitry Andric } 38*bdd1243dSDimitry Andric 39*bdd1243dSDimitry Andric return getGenericEdgeKindName(K); 40*bdd1243dSDimitry Andric } 41*bdd1243dSDimitry Andric 42*bdd1243dSDimitry Andric const char NullPointerContent[PointerSize] = {0x00, 0x00, 0x00, 0x00}; 43*bdd1243dSDimitry Andric } // namespace llvm::jitlink::i386 44