diff options
Diffstat (limited to 'contrib/llvm/lib/Target/AArch64')
18 files changed, 29 insertions, 25 deletions
diff --git a/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp b/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp index 981fd22c213c..5ce57926cc03 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp @@ -12,13 +12,13 @@  //  //===----------------------------------------------------------------------===// -#include "MCTargetDesc/AArch64AddressingModes.h"  #include "AArch64.h"  #include "AArch64MCInstLower.h"  #include "AArch64MachineFunctionInfo.h"  #include "AArch64RegisterInfo.h"  #include "AArch64Subtarget.h"  #include "InstPrinter/AArch64InstPrinter.h" +#include "MCTargetDesc/AArch64AddressingModes.h"  #include "MCTargetDesc/AArch64MCExpr.h"  #include "llvm/ADT/SmallString.h"  #include "llvm/ADT/StringSwitch.h" @@ -35,11 +35,11 @@  #include "llvm/MC/MCInst.h"  #include "llvm/MC/MCInstBuilder.h"  #include "llvm/MC/MCLinkerOptimizationHint.h" +#include "llvm/MC/MCSectionELF.h" +#include "llvm/MC/MCSectionMachO.h"  #include "llvm/MC/MCStreamer.h"  #include "llvm/MC/MCSymbol.h"  #include "llvm/MC/MCSymbolELF.h" -#include "llvm/MC/MCSectionELF.h" -#include "llvm/MC/MCSectionMachO.h"  #include "llvm/Support/Debug.h"  #include "llvm/Support/TargetRegistry.h"  #include "llvm/Support/raw_ostream.h" diff --git a/contrib/llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp b/contrib/llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp index 30e2b2310456..544f67433fd5 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp @@ -20,8 +20,8 @@  #include "llvm/CodeGen/MachineRegisterInfo.h"  #include "llvm/Support/Debug.h"  #include "llvm/Support/raw_ostream.h" -#include "llvm/Target/TargetSubtargetInfo.h"  #include "llvm/Target/TargetInstrInfo.h" +#include "llvm/Target/TargetSubtargetInfo.h"  using namespace llvm;  #define DEBUG_TYPE "aarch64-dead-defs" diff --git a/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp b/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp index 33fec74998d6..160107cd7e2b 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp @@ -14,9 +14,9 @@  //  //===----------------------------------------------------------------------===// -#include "MCTargetDesc/AArch64AddressingModes.h"  #include "AArch64InstrInfo.h"  #include "AArch64Subtarget.h" +#include "MCTargetDesc/AArch64AddressingModes.h"  #include "Utils/AArch64BaseInfo.h"  #include "llvm/CodeGen/LivePhysRegs.h"  #include "llvm/CodeGen/MachineFunctionPass.h" diff --git a/contrib/llvm/lib/Target/AArch64/AArch64FastISel.cpp b/contrib/llvm/lib/Target/AArch64/AArch64FastISel.cpp index 9ac7ecb9cdb4..e8fcf1a0e9b7 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64FastISel.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64FastISel.cpp @@ -2827,7 +2827,7 @@ bool AArch64FastISel::selectFPToInt(const Instruction *I, bool Signed) {      return false;    EVT SrcVT = TLI.getValueType(DL, I->getOperand(0)->getType(), true); -  if (SrcVT == MVT::f128) +  if (SrcVT == MVT::f128 || SrcVT == MVT::f16)      return false;    unsigned Opc; @@ -2854,6 +2854,10 @@ bool AArch64FastISel::selectIntToFP(const Instruction *I, bool Signed) {    MVT DestVT;    if (!isTypeLegal(I->getType(), DestVT) || DestVT.isVector())      return false; +  // Let regular ISEL handle FP16 +  if (DestVT == MVT::f16) +    return false; +    assert((DestVT == MVT::f32 || DestVT == MVT::f64) &&           "Unexpected value type."); diff --git a/contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp b/contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp index b18fb30eb2d4..8c2c0a564c30 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp @@ -2566,7 +2566,7 @@ bool AArch64DAGToDAGISel::tryWriteRegister(SDNode *N) {    // pstatefield for the MSR (immediate) instruction, we also require that an    // immediate value has been provided as an argument, we know that this is    // the case as it has been ensured by semantic checking. -  auto PMapper = AArch64PState::lookupPStateByName(RegString->getString());; +  auto PMapper = AArch64PState::lookupPStateByName(RegString->getString());    if (PMapper) {      assert (isa<ConstantSDNode>(N->getOperand(2))                && "Expected a constant integer expression."); diff --git a/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp index f798010906cc..059556a560c0 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp @@ -11,9 +11,9 @@  //  //===----------------------------------------------------------------------===// +#include "AArch64ISelLowering.h"  #include "AArch64CallingConvention.h"  #include "AArch64MachineFunctionInfo.h" -#include "AArch64ISelLowering.h"  #include "AArch64PerfectShuffle.h"  #include "AArch64RegisterInfo.h"  #include "AArch64Subtarget.h" @@ -22,9 +22,9 @@  #include "llvm/ADT/APFloat.h"  #include "llvm/ADT/APInt.h"  #include "llvm/ADT/ArrayRef.h" +#include "llvm/ADT/STLExtras.h"  #include "llvm/ADT/SmallVector.h"  #include "llvm/ADT/Statistic.h" -#include "llvm/ADT/STLExtras.h"  #include "llvm/ADT/StringRef.h"  #include "llvm/ADT/StringSwitch.h"  #include "llvm/ADT/Triple.h" @@ -51,10 +51,10 @@  #include "llvm/IR/Function.h"  #include "llvm/IR/GetElementPtrTypeIterator.h"  #include "llvm/IR/GlobalValue.h" +#include "llvm/IR/IRBuilder.h"  #include "llvm/IR/Instruction.h"  #include "llvm/IR/Instructions.h"  #include "llvm/IR/Intrinsics.h" -#include "llvm/IR/IRBuilder.h"  #include "llvm/IR/Module.h"  #include "llvm/IR/OperandTraits.h"  #include "llvm/IR/Type.h" diff --git a/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp b/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp index faf39be9b41e..eea012382150 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp @@ -17,8 +17,8 @@  #include "MCTargetDesc/AArch64AddressingModes.h"  #include "Utils/AArch64BaseInfo.h"  #include "llvm/ADT/ArrayRef.h" -#include "llvm/ADT/SmallVector.h"  #include "llvm/ADT/STLExtras.h" +#include "llvm/ADT/SmallVector.h"  #include "llvm/CodeGen/MachineBasicBlock.h"  #include "llvm/CodeGen/MachineFrameInfo.h"  #include "llvm/CodeGen/MachineFunction.h" diff --git a/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp b/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp index 6e6daf812295..01196817f311 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp @@ -13,12 +13,12 @@  //===----------------------------------------------------------------------===//  #include "AArch64LegalizerInfo.h" +#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"  #include "llvm/CodeGen/MachineInstr.h"  #include "llvm/CodeGen/MachineRegisterInfo.h"  #include "llvm/CodeGen/ValueTypes.h" -#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h" -#include "llvm/IR/Type.h"  #include "llvm/IR/DerivedTypes.h" +#include "llvm/IR/Type.h"  #include "llvm/Target/TargetOpcodes.h"  using namespace llvm; diff --git a/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp b/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp index 976498aa70d6..9243eb91cc1a 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp @@ -16,10 +16,10 @@  #include "AArch64Subtarget.h"  #include "MCTargetDesc/AArch64AddressingModes.h"  #include "llvm/ADT/BitVector.h" -#include "llvm/ADT/iterator_range.h"  #include "llvm/ADT/SmallVector.h"  #include "llvm/ADT/Statistic.h"  #include "llvm/ADT/StringRef.h" +#include "llvm/ADT/iterator_range.h"  #include "llvm/CodeGen/MachineBasicBlock.h"  #include "llvm/CodeGen/MachineFunction.h"  #include "llvm/CodeGen/MachineFunctionPass.h" diff --git a/contrib/llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp b/contrib/llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp index 038162c6f54a..fe4ef4b40ece 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp @@ -17,8 +17,8 @@  #define DEBUG_TYPE "aarch64-pbqp" -#include "AArch64.h"  #include "AArch64PBQPRegAlloc.h" +#include "AArch64.h"  #include "AArch64RegisterInfo.h"  #include "llvm/CodeGen/LiveIntervalAnalysis.h"  #include "llvm/CodeGen/MachineBasicBlock.h" diff --git a/contrib/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp b/contrib/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp index 789270c2a34b..9b3899e0681c 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp @@ -15,13 +15,13 @@  #include "AArch64RegisterBankInfo.h"  #include "AArch64InstrInfo.h"  #include "llvm/ADT/SmallVector.h" -#include "llvm/CodeGen/LowLevelType.h" -#include "llvm/CodeGen/MachineRegisterInfo.h"  #include "llvm/CodeGen/GlobalISel/RegisterBank.h"  #include "llvm/CodeGen/GlobalISel/RegisterBankInfo.h" +#include "llvm/CodeGen/LowLevelType.h"  #include "llvm/CodeGen/MachineFunction.h"  #include "llvm/CodeGen/MachineInstr.h"  #include "llvm/CodeGen/MachineOperand.h" +#include "llvm/CodeGen/MachineRegisterInfo.h"  #include "llvm/Support/ErrorHandling.h"  #include "llvm/Target/TargetOpcodes.h"  #include "llvm/Target/TargetRegisterInfo.h" diff --git a/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp b/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp index 12a2e9a867f0..4bc2c060a068 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp @@ -9,12 +9,12 @@  #include "AArch64TargetObjectFile.h"  #include "AArch64TargetMachine.h" +#include "llvm/BinaryFormat/Dwarf.h"  #include "llvm/IR/Mangler.h"  #include "llvm/MC/MCContext.h"  #include "llvm/MC/MCExpr.h"  #include "llvm/MC/MCStreamer.h"  #include "llvm/MC/MCValue.h" -#include "llvm/Support/Dwarf.h"  using namespace llvm;  using namespace dwarf; diff --git a/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp b/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp index 43569af04347..a4328682b93c 100644 --- a/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp +++ b/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp @@ -9,8 +9,8 @@  #include "AArch64TargetTransformInfo.h"  #include "MCTargetDesc/AArch64AddressingModes.h" -#include "llvm/Analysis/TargetTransformInfo.h"  #include "llvm/Analysis/LoopInfo.h" +#include "llvm/Analysis/TargetTransformInfo.h"  #include "llvm/CodeGen/BasicTTIImpl.h"  #include "llvm/Support/Debug.h"  #include "llvm/Target/CostTable.h" diff --git a/contrib/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/contrib/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp index 449d732a8d44..e841fb894519 100644 --- a/contrib/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp +++ b/contrib/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp @@ -15,8 +15,8 @@  #include "llvm/ADT/APFloat.h"  #include "llvm/ADT/APInt.h"  #include "llvm/ADT/ArrayRef.h" -#include "llvm/ADT/SmallVector.h"  #include "llvm/ADT/STLExtras.h" +#include "llvm/ADT/SmallVector.h"  #include "llvm/ADT/StringExtras.h"  #include "llvm/ADT/StringMap.h"  #include "llvm/ADT/StringRef.h" diff --git a/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp b/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp index ebf05ae303dd..43a6fa9ce089 100644 --- a/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp +++ b/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp @@ -11,8 +11,9 @@  #include "AArch64RegisterInfo.h"  #include "MCTargetDesc/AArch64FixupKinds.h"  #include "llvm/ADT/Triple.h" -#include "llvm/MC/MCAssembler.h" +#include "llvm/BinaryFormat/MachO.h"  #include "llvm/MC/MCAsmBackend.h" +#include "llvm/MC/MCAssembler.h"  #include "llvm/MC/MCContext.h"  #include "llvm/MC/MCDirectives.h"  #include "llvm/MC/MCELFObjectWriter.h" @@ -22,7 +23,6 @@  #include "llvm/MC/MCSectionMachO.h"  #include "llvm/MC/MCValue.h"  #include "llvm/Support/ErrorHandling.h" -#include "llvm/Support/MachO.h"  using namespace llvm;  namespace { diff --git a/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp b/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp index 10e7241da709..f7dda92fb551 100644 --- a/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp +++ b/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp @@ -15,11 +15,11 @@  #include "MCTargetDesc/AArch64FixupKinds.h"  #include "MCTargetDesc/AArch64MCExpr.h"  #include "MCTargetDesc/AArch64MCTargetDesc.h" +#include "llvm/BinaryFormat/ELF.h"  #include "llvm/MC/MCContext.h"  #include "llvm/MC/MCELFObjectWriter.h"  #include "llvm/MC/MCFixup.h"  #include "llvm/MC/MCValue.h" -#include "llvm/Support/ELF.h"  #include "llvm/Support/ErrorHandling.h"  #include <cassert>  #include <cstdint> diff --git a/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp b/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp index 271263507ae1..031aa8b81e35 100644 --- a/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp +++ b/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp @@ -18,6 +18,7 @@  #include "llvm/ADT/StringRef.h"  #include "llvm/ADT/Triple.h"  #include "llvm/ADT/Twine.h" +#include "llvm/BinaryFormat/ELF.h"  #include "llvm/MC/MCAsmBackend.h"  #include "llvm/MC/MCAssembler.h"  #include "llvm/MC/MCCodeEmitter.h" @@ -30,7 +31,6 @@  #include "llvm/MC/MCSubtargetInfo.h"  #include "llvm/MC/MCSymbolELF.h"  #include "llvm/Support/Casting.h" -#include "llvm/Support/ELF.h"  #include "llvm/Support/FormattedStream.h"  #include "llvm/Support/raw_ostream.h" diff --git a/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp b/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp index 3d296ba4806b..19b2576f6895 100644 --- a/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp +++ b/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp @@ -10,6 +10,7 @@  #include "MCTargetDesc/AArch64FixupKinds.h"  #include "MCTargetDesc/AArch64MCTargetDesc.h"  #include "llvm/ADT/Twine.h" +#include "llvm/BinaryFormat/MachO.h"  #include "llvm/MC/MCAsmInfo.h"  #include "llvm/MC/MCAsmLayout.h"  #include "llvm/MC/MCAssembler.h" @@ -23,7 +24,6 @@  #include "llvm/MC/MCSymbol.h"  #include "llvm/MC/MCValue.h"  #include "llvm/Support/Casting.h" -#include "llvm/Support/MachO.h"  #include "llvm/Support/MathExtras.h"  #include <cassert>  #include <cstdint>  | 
