mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute.
It includes a pass that rewrites all indirect calls to jumptable functions to pass through these tables. This also adds backend support for generating the jump-instruction tables on ARM and X86. Note that since the jumptable attribute creates a second function pointer for a function, any function marked with jumptable must also be marked with unnamed_addr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210280 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -177,6 +177,8 @@ static uint64_t getAttrKindEncoding(Attribute::AttrKind Kind) {
|
||||
return bitc::ATTR_KIND_INLINE_HINT;
|
||||
case Attribute::InReg:
|
||||
return bitc::ATTR_KIND_IN_REG;
|
||||
case Attribute::JumpTable:
|
||||
return bitc::ATTR_KIND_JUMP_TABLE;
|
||||
case Attribute::MinSize:
|
||||
return bitc::ATTR_KIND_MIN_SIZE;
|
||||
case Attribute::Naked:
|
||||
|
Reference in New Issue
Block a user