mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Target-independent support for TargetFlags on BlockAddress operands,
and support for blockaddresses in x86-32 PIC mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89506 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -252,8 +252,8 @@ namespace {
|
||||
else if (AM.JT != -1)
|
||||
Disp = CurDAG->getTargetJumpTable(AM.JT, MVT::i32, AM.SymbolFlags);
|
||||
else if (AM.BlockAddr)
|
||||
Disp = CurDAG->getBlockAddress(AM.BlockAddr, DebugLoc()/*MVT::i32*/,
|
||||
true /*AM.SymbolFlags*/);
|
||||
Disp = CurDAG->getBlockAddress(AM.BlockAddr, MVT::i32,
|
||||
true, AM.SymbolFlags);
|
||||
else
|
||||
Disp = CurDAG->getTargetConstant(AM.Disp, MVT::i32);
|
||||
|
||||
@@ -777,7 +777,7 @@ bool X86DAGToDAGISel::MatchWrapper(SDValue N, X86ISelAddressMode &AM) {
|
||||
AM.SymbolFlags = J->getTargetFlags();
|
||||
} else {
|
||||
AM.BlockAddr = cast<BlockAddressSDNode>(N0)->getBlockAddress();
|
||||
//AM.SymbolFlags = cast<BlockAddressSDNode>(N0)->getTargetFlags();
|
||||
AM.SymbolFlags = cast<BlockAddressSDNode>(N0)->getTargetFlags();
|
||||
}
|
||||
|
||||
if (N.getOpcode() == X86ISD::WrapperRIP)
|
||||
@@ -808,7 +808,7 @@ bool X86DAGToDAGISel::MatchWrapper(SDValue N, X86ISelAddressMode &AM) {
|
||||
AM.SymbolFlags = J->getTargetFlags();
|
||||
} else {
|
||||
AM.BlockAddr = cast<BlockAddressSDNode>(N0)->getBlockAddress();
|
||||
//AM.SymbolFlags = cast<BlockAddressSDNode>(N0)->getTargetFlags();
|
||||
AM.SymbolFlags = cast<BlockAddressSDNode>(N0)->getTargetFlags();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user