aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/MIR/MIParser.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-12 03:22:55 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-12 03:22:55 +0800
commit59f948dbb4fcbbb2456db92a55d307cdfbfd8307 (patch)
treedaf0517cf840091eb92bed0096c5b3ee110c29d7 /backend/lib/MIR/MIParser.cpp
parent888e9b5bb57a79f4eee88a7926cb859e04823361 (diff)
downloadrcc-project-59f948dbb4fcbbb2456db92a55d307cdfbfd8307.tar.gz
rcc-project-59f948dbb4fcbbb2456db92a55d307cdfbfd8307.tar.xz
[MIR] Remove alternate layout and float APIs
Diffstat (limited to 'backend/lib/MIR/MIParser.cpp')
-rw-r--r--backend/lib/MIR/MIParser.cpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/backend/lib/MIR/MIParser.cpp b/backend/lib/MIR/MIParser.cpp
index f634119..3748187 100644
--- a/backend/lib/MIR/MIParser.cpp
+++ b/backend/lib/MIR/MIParser.cpp
@@ -621,16 +621,12 @@ bool MIParser::Impl::parseScalarLowLevelType(const MIToken &TypeToken, LLT &Resu
Created = LLT::makeFloat(FloatSemantics::BFloat);
break;
case ScalarKind::Pointer:
- if (Context.PointerSizeInBits) {
- auto PointerSize = Context.PointerSizeInBits(static_cast<std::uint32_t>(Value));
- if (!PointerSize)
- return importError(TypeToken, PointerSize.error());
- Created = LLT::makePointer(Value, *PointerSize);
- break;
- }
- if (Context.DefaultPointerSizeInBits == 0)
+ if (!Context.PointerSizeInBits)
return fail(TypeToken, "pointer low-level type requires an explicit pointer size");
- Created = LLT::makePointer(Value, Context.DefaultPointerSizeInBits);
+ if (auto PointerSize = Context.PointerSizeInBits(static_cast<std::uint32_t>(Value)))
+ Created = LLT::makePointer(Value, *PointerSize);
+ else
+ return importError(TypeToken, PointerSize.error());
break;
}
if (!Created)
@@ -1722,9 +1718,7 @@ bool MIParser::Impl::parseMemoryBase(MemoryBase &Result, std::int64_t &Offset) {
advance();
break;
case MITokenKind::QuotedIRValue: {
- LLVMConstantSyntaxOptions ConstantOptions;
- ConstantOptions.DefaultPointerSizeInBits = Context.DefaultPointerSizeInBits;
- auto Constant = parseLLVMConstant(BaseToken.stringValue(), ConstantOptions);
+ auto Constant = parseLLVMConstant(BaseToken.stringValue());
if (!Constant)
return importError(BaseToken, Constant.error());
auto Base = MemoryBase::irConstant(std::move(*Constant));