llvm-6502/include/llvm/Support
Duncan Sands 674fdc9a28 Run the functionattrs pass after the inliner, and not before.
This makes both logical sense (see below) and increases the
number of functions marked readnone/readonly by about 1-2%
in practice.  The number of functions marked nocapture goes
up by about 5-10%.  The reason it makes sense is shown by
the following example: if you run -functionattrs -inline on
it, then no attributes are assigned.  But if you instead run
-inline -functionattrs then @f is marked readnone because the
simplifications produced by the inliner eliminate the store.

@x = external global i32

define void @w(i1 %b) {
        br i1 %b, label %write, label %return
write:
        store i32 1, i32 *@x
        br label %return
return:
        ret void
}

define void @f() {
        call void @w(i1 0)
        ret void
}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85893 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-03 09:40:08 +00:00
..
AlignOf.h
Allocator.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
CallSite.h
Casting.h
CFG.h
CommandLine.h
Compiler.h
ConstantFolder.h
ConstantRange.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
DataFlow.h
Debug.h add a new 'SetCurrentDebugType' API (requested by Andrew Haley for JIT 2009-10-28 15:32:19 +00:00
DebugLoc.h
DOTGraphTraits.h
Dwarf.h
DynamicLinker.h
ELF.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
ErrorHandling.h
FileUtilities.h
Format.h
FormattedStream.h
GetElementPtrTypeIterator.h
GraphWriter.h
InstIterator.h
InstVisitor.h rename indbr -> indirectbr to appease the residents of #llvm. 2009-10-28 00:19:10 +00:00
IRBuilder.h add IRBuilder support for IndirectBr 2009-10-28 23:25:00 +00:00
IRReader.h
LeakDetector.h
ManagedStatic.h
Mangler.h
MathExtras.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
MemoryBuffer.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
MemoryObject.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
MutexGuard.h
NoFolder.h
OutputBuffer.h
PassNameParser.h
PatternMatch.h
PluginLoader.h
PointerLikeTypeTraits.h lang points out that the comment is out of date with the code. 2009-10-27 04:58:10 +00:00
PredIteratorCache.h
PrettyStackTrace.h
raw_os_ostream.h
raw_ostream.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
Recycler.h
RecyclingAllocator.h
Regex.h
Registry.h
RegistryParser.h
SlowOperationInformer.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
SourceMgr.h
StableBasicBlockNumbering.h
StandardPasses.h Run the functionattrs pass after the inliner, and not before. 2009-11-03 09:40:08 +00:00
StringPool.h
SystemUtils.h
TargetFolder.h Add CreateZExtOrBitCast and CreateSExtOrBitCast to TargetFolder 2009-10-26 18:36:40 +00:00
Timer.h Move DataTypes.h to include/llvm/System, update all users. This breaks the last 2009-10-26 01:35:46 +00:00
type_traits.h
TypeBuilder.h
ValueHandle.h