mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-30 05:29:47 +00:00
- Add TSFlags for the instruction formats. The idea here is to use as much encoding as possible from getBinaryCodeForInstr, and having TSFLags formats for that would make it easier to encode most part of the instructions (since Mips encodings are pretty straightforward) - Improve the mips mechanism for compilation callback - Add Mips specific code for invalidating the instruction cache - Next patch will address wrong tablegen encoding Commit msg added by my own but the patch is from Sasa Stankovic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139688 91177308-0d34-0410-b5e6-96231b3b80d8
42 lines
1.3 KiB
C++
42 lines
1.3 KiB
C++
//===- MipsRelocations.h - Mips Code Relocations ---------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===---------------------------------------------------------------------===//
|
|
//
|
|
// This file defines the Mips target-specific relocation types
|
|
// (for relocation-model=static).
|
|
//
|
|
//===---------------------------------------------------------------------===//
|
|
|
|
#ifndef MIPSRELOCATIONS_H_
|
|
#define MIPSRELOCATIONS_H_
|
|
|
|
#include "llvm/CodeGen/MachineRelocation.h"
|
|
|
|
namespace llvm {
|
|
namespace Mips{
|
|
enum RelocationType {
|
|
// reloc_mips_branch - pc relative relocation for branches. The lower 18
|
|
// bits of the difference between the branch target and the branch
|
|
// instruction, shifted right by 2.
|
|
reloc_mips_branch = 1,
|
|
|
|
// reloc_mips_hi - upper 16 bits of the address (modified by +1 if the
|
|
// lower 16 bits of the address is negative).
|
|
reloc_mips_hi = 2,
|
|
|
|
// reloc_mips_lo - lower 16 bits of the address.
|
|
reloc_mips_lo = 3,
|
|
|
|
// reloc_mips_26 - lower 28 bits of the address, shifted right by 2.
|
|
reloc_mips_26 = 4
|
|
};
|
|
}
|
|
}
|
|
|
|
#endif /* MIPSRELOCATIONS_H_ */
|