Add lengthof and endof templates that hide a lot of sizeof computations.

Patch by Sterling Stein!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41758 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson
2007-09-07 04:06:50 +00:00
parent af992f782f
commit 718cb665ca
16 changed files with 68 additions and 47 deletions

View File

@ -27,6 +27,7 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/GetElementPtrTypeIterator.h"
#include "llvm/Support/ManagedStatic.h"
@ -890,13 +891,11 @@ BasicAliasAnalysis::getModRefBehavior(Function *F, CallSite CS,
if (!Initialized) {
NoMemoryTable->insert(NoMemoryTable->end(),
DoesntAccessMemoryFns,
DoesntAccessMemoryFns+
sizeof(DoesntAccessMemoryFns)/sizeof(DoesntAccessMemoryFns[0]));
array_endof(DoesntAccessMemoryFns));
OnlyReadsMemoryTable->insert(OnlyReadsMemoryTable->end(),
OnlyReadsMemoryFns,
OnlyReadsMemoryFns+
sizeof(OnlyReadsMemoryFns)/sizeof(OnlyReadsMemoryFns[0]));
OnlyReadsMemoryFns,
array_endof(OnlyReadsMemoryFns));
// Sort the table the first time through.
std::sort(NoMemoryTable->begin(), NoMemoryTable->end(), StringCompare());