forked from OSchip/llvm-project
Since ARM emits inline jump tables as part of the ConstantIsland pass,
it should set the jump table encloding the EK_Inline. This prevents a second, unused, copy of the table from being emitted after the function body. PR6581. llvm-svn: 108730
This commit is contained in:
parent
d9ad52adff
commit
8d3ba7349c
|
@ -1628,6 +1628,10 @@ static SDValue LowerConstantPool(SDValue Op, SelectionDAG &DAG) {
|
|||
return DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, Res);
|
||||
}
|
||||
|
||||
unsigned ARMTargetLowering::getJumpTableEncoding() const {
|
||||
return MachineJumpTableInfo::EK_Inline;
|
||||
}
|
||||
|
||||
SDValue ARMTargetLowering::LowerBlockAddress(SDValue Op,
|
||||
SelectionDAG &DAG) const {
|
||||
MachineFunction &MF = DAG.getMachineFunction();
|
||||
|
|
|
@ -175,6 +175,8 @@ namespace llvm {
|
|||
public:
|
||||
explicit ARMTargetLowering(TargetMachine &TM);
|
||||
|
||||
virtual unsigned getJumpTableEncoding(void) const;
|
||||
|
||||
virtual SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const;
|
||||
|
||||
/// ReplaceNodeResults - Replace the results of node with an illegal result
|
||||
|
|
Loading…
Reference in New Issue