Lines Matching +full:space +full:- +full:constraint

1 //===--- TargetInfo.cpp - Information about Target machine ----------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
27 // The fake address space map must have a distinct entry for each
28 // language-specific address space.
55 // Set defaults. Defaults are set for a 32-bit RISC platform, like PPC or in TargetInfo()
98 // From the glibc documentation, on GNU systems, malloc guarantees 16-byte in TargetInfo()
99 // alignment on 64-bit systems and 8-byte alignment on 32-bit systems. See in TargetInfo()
100 // https://www.gnu.org/software/libc/manual/html_node/Malloc-Examples.html. in TargetInfo()
102 // and OpenBSD, the alignment is 16 bytes on both 64-bit and 32-bit systems. in TargetInfo()
174 // Default to an empty address space map. in TargetInfo()
197 Diags.Report(diag::err_opt_not_valid_on_target) << "cf-protection=branch"; in checkCFProtectionBranchSupported()
203 Diags.Report(diag::err_opt_not_valid_on_target) << "cf-protection=return"; in checkCFProtectionReturnSupported()
207 /// getTypeName - Return the user string for the specified integer type enum.
208 /// For example, SignedShort -> "short".
225 /// getTypeConstantSuffix - Return the constant suffix for the specified
226 /// integer type enum. For example, SignedLong -> "L".
249 /// getTypeFormatModifier - Return the printf format modifier for the
250 /// specified integer type enum. For example, SignedLong -> "l".
268 /// getTypeWidth - Return the width (in bits) of the specified integer type
269 /// enum. For example, SignedInt -> getIntWidth().
350 /// getTypeAlign - Return the alignment (in bits) of the specified integer type
351 /// enum. For example, SignedInt -> getIntAlign().
368 /// isTypeSigned - Return whether an integer types is signed. Returns true if
388 /// adjust - Set forced language options.
430 // Embedded 32-bit targets (OpenCL EP) might have double C type in adjust()
453 // OpenCL C v3.0 s6.7.5 - The generic address space requires support for in adjust()
456 // OpenCL C v3.0 s6.2.1 - OpenCL pipes require support of OpenCL C 2.0 in adjust()
521 Diags.Report(diag::err_opt_not_valid_on_target) << "-fprotect-parens"; in adjust()
540 if (Name[0] != '+' && Name[0] != '-') in initFeatureMap()
568 if (Feature.starts_with("branch-protection=")) { in parseTargetAttr()
584 } else if (Feature.starts_with("no-")) in parseTargetAttr()
585 Ret.Features.push_back("-" + Feature.split("-").second.str()); in parseTargetAttr()
618 //===----------------------------------------------------------------------===//
628 /// isValidClobber - Returns whether the passed in string is
636 /// isValidGCCRegisterName - Returns whether the passed in string
727 // An output constraint must start with '=' or '+' in validateOutputConstraint()
741 // Eventually, an unknown constraint should just be treated as 'g'. in validateOutputConstraint()
756 case 'V': // non-offsetable memory operand. in validateOutputConstraint()
766 case ',': // multiple alternative constraint. Pass it. in validateOutputConstraint()
771 case '#': // Ignore as constraint. in validateOutputConstraint()
789 // Early clobber with a read-write constraint which doesn't permit registers in validateOutputConstraint()
794 // If a constraint allows neither memory nor register operands it contains in validateOutputConstraint()
813 std::string SymbolicName(Start, Name - Start); in resolveSymbolicName()
833 // Check if we have a matching constraint in validateInputConstraint()
840 if (StringRef(DigitStart, DigitEnd - DigitStart + 1) in validateInputConstraint()
844 // Check if matching constraint is out of bounds. in validateInputConstraint()
851 // If the constraint is already tied, it must be tied to the in validateInputConstraint()
856 // The constraint should have the same info as the respective in validateInputConstraint()
857 // output constraint. in validateInputConstraint()
862 // constraint should just be treated as 'g'. in validateInputConstraint()
871 // If the constraint is already tied, it must be tied to the in validateInputConstraint()
891 case 'I': // Various constant constraints with target-specific meanings. in validateInputConstraint()
907 case 'V': // non-offsettable memory operand. in validateInputConstraint()
921 case ',': // multiple alternative constraint. Ignore comma. in validateInputConstraint()
923 case '#': // Ignore as constraint. in validateInputConstraint()
965 getShortFractScale() == getUnsignedShortFractScale() - 1); in CheckFixedPointBits()
967 getFractScale() == getUnsignedFractScale() - 1); in CheckFixedPointBits()
969 getLongFractScale() == getUnsignedLongFractScale() - 1); in CheckFixedPointBits()
973 // fixed-point types: in CheckFixedPointBits()
974 // - signed fract types in CheckFixedPointBits()
975 // - unsigned fract types in CheckFixedPointBits()
976 // - signed accum types in CheckFixedPointBits()
977 // - unsigned accum types. in CheckFixedPointBits()
988 // fixed-point types: in CheckFixedPointBits()
989 // - signed accum types in CheckFixedPointBits()
990 // - unsigned accum types in CheckFixedPointBits()