mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
Add some more TODO comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107657 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d3b6e41ffb
commit
0ce249911b
@ -201,6 +201,8 @@ void Lint::visitFunction(Function &F) {
|
|||||||
// fairly common mistake to neglect to name a function.
|
// fairly common mistake to neglect to name a function.
|
||||||
Assert1(F.hasName() || F.hasLocalLinkage(),
|
Assert1(F.hasName() || F.hasLocalLinkage(),
|
||||||
"Unusual: Unnamed function with non-local linkage", &F);
|
"Unusual: Unnamed function with non-local linkage", &F);
|
||||||
|
|
||||||
|
// TODO: Check for irreducible control flow.
|
||||||
}
|
}
|
||||||
|
|
||||||
void Lint::visitCallSite(CallSite CS) {
|
void Lint::visitCallSite(CallSite CS) {
|
||||||
@ -224,6 +226,7 @@ void Lint::visitCallSite(CallSite CS) {
|
|||||||
"argument count", &I);
|
"argument count", &I);
|
||||||
|
|
||||||
// Check argument types (in case the callee was casted) and attributes.
|
// Check argument types (in case the callee was casted) and attributes.
|
||||||
|
// TODO: Verify that caller and callee attributes are compatible.
|
||||||
Function::arg_iterator PI = F->arg_begin(), PE = F->arg_end();
|
Function::arg_iterator PI = F->arg_begin(), PE = F->arg_end();
|
||||||
CallSite::arg_iterator AI = CS.arg_begin(), AE = CS.arg_end();
|
CallSite::arg_iterator AI = CS.arg_begin(), AE = CS.arg_end();
|
||||||
for (; AI != AE; ++AI) {
|
for (; AI != AE; ++AI) {
|
||||||
@ -361,6 +364,7 @@ void Lint::visitReturnInst(ReturnInst &I) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Check that the reference is in bounds.
|
// TODO: Check that the reference is in bounds.
|
||||||
|
// TODO: Check readnone/readonly function attributes.
|
||||||
void Lint::visitMemoryReference(Instruction &I,
|
void Lint::visitMemoryReference(Instruction &I,
|
||||||
Value *Ptr, unsigned Size, unsigned Align,
|
Value *Ptr, unsigned Size, unsigned Align,
|
||||||
const Type *Ty, unsigned Flags) {
|
const Type *Ty, unsigned Flags) {
|
||||||
@ -501,6 +505,8 @@ void Lint::visitAllocaInst(AllocaInst &I) {
|
|||||||
// This isn't undefined behavior, it's just an obvious pessimization.
|
// This isn't undefined behavior, it's just an obvious pessimization.
|
||||||
Assert1(&I.getParent()->getParent()->getEntryBlock() == I.getParent(),
|
Assert1(&I.getParent()->getParent()->getEntryBlock() == I.getParent(),
|
||||||
"Pessimization: Static alloca outside of entry block", &I);
|
"Pessimization: Static alloca outside of entry block", &I);
|
||||||
|
|
||||||
|
// TODO: Check for an unusual size (MSB set?)
|
||||||
}
|
}
|
||||||
|
|
||||||
void Lint::visitVAArgInst(VAArgInst &I) {
|
void Lint::visitVAArgInst(VAArgInst &I) {
|
||||||
|
Loading…
Reference in New Issue
Block a user