mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
The attached patches implement most of the ARM AAPCS-VFP hard float
ABI. The missing piece is support for putting "homogeneous aggregates" into registers. Patch by Sandeep Patel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73095 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -78,6 +78,14 @@ namespace CodeGenOpt {
|
||||
};
|
||||
}
|
||||
|
||||
namespace FloatABI {
|
||||
enum ABIType {
|
||||
Default,
|
||||
Soft,
|
||||
Hard
|
||||
};
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
///
|
||||
/// TargetMachine - Primary interface to the complete machine description for
|
||||
@@ -88,7 +96,7 @@ class TargetMachine {
|
||||
TargetMachine(const TargetMachine &); // DO NOT IMPLEMENT
|
||||
void operator=(const TargetMachine &); // DO NOT IMPLEMENT
|
||||
protected: // Can only create subclasses.
|
||||
TargetMachine() : AsmInfo(0) { }
|
||||
TargetMachine();
|
||||
|
||||
/// getSubtargetImpl - virtual method implemented by subclasses that returns
|
||||
/// a reference to that target's TargetSubtarget-derived member variable.
|
||||
|
||||
@@ -73,6 +73,14 @@ namespace llvm {
|
||||
/// target FP instructions.
|
||||
extern bool UseSoftFloat;
|
||||
|
||||
/// FloatABIType - This setting is set by -float-abi=xxx option is specfied
|
||||
/// on the command line. This setting may either be Default, Soft, or Hard.
|
||||
/// Default selects the target's default behavior. Soft selects the ABI for
|
||||
/// UseSoftFloat, but does not inidcate that FP hardware may not be used.
|
||||
/// Such a combination is unfortunately popular (e.g. arm-apple-darwin).
|
||||
/// Hard presumes that the normal FP ABI is used.
|
||||
extern FloatABI::ABIType FloatABIType;
|
||||
|
||||
/// NoZerosInBSS - By default some codegens place zero-initialized data to
|
||||
/// .bss section. This flag disables such behaviour (necessary, e.g. for
|
||||
/// crt*.o compiling).
|
||||
|
||||
Reference in New Issue
Block a user