mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-04 05:31:51 +00:00
It looks like nobody is working on PR 4158, so I'm
adding a check to catch this case at compile time instead of quietly generating incorrect code. That will at least let us identify CBE failures that are not due to this problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73668 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9e7d9883b0
commit
063989455d
@ -1454,6 +1454,17 @@ std::string CWriter::GetValueName(const Value *Operand) {
|
|||||||
/// writeInstComputationInline - Emit the computation for the specified
|
/// writeInstComputationInline - Emit the computation for the specified
|
||||||
/// instruction inline, with no destination provided.
|
/// instruction inline, with no destination provided.
|
||||||
void CWriter::writeInstComputationInline(Instruction &I) {
|
void CWriter::writeInstComputationInline(Instruction &I) {
|
||||||
|
// We can't currently support integer types other than 1, 8, 16, 32, 64.
|
||||||
|
// Validate this.
|
||||||
|
const Type *Ty = I.getType();
|
||||||
|
if (Ty->isInteger() && (Ty!=Type::Int1Ty && Ty!=Type::Int8Ty &&
|
||||||
|
Ty!=Type::Int16Ty && Ty!=Type::Int32Ty && Ty!=Type::Int64Ty)) {
|
||||||
|
cerr << "The C backend does not currently support integer "
|
||||||
|
<< "types of widths other than 1, 8, 16, 32, 64.\n";
|
||||||
|
cerr << "This is being tracked as PR 4158.\n";
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
// If this is a non-trivial bool computation, make sure to truncate down to
|
// If this is a non-trivial bool computation, make sure to truncate down to
|
||||||
// a 1 bit value. This is important because we want "add i1 x, y" to return
|
// a 1 bit value. This is important because we want "add i1 x, y" to return
|
||||||
// "0" when x and y are true, not "2" for example.
|
// "0" when x and y are true, not "2" for example.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user