Rather than having special rules like "intrinsics cannot
authorDuncan Sands <baldrick@free.fr>
Mon, 3 Dec 2007 20:06:50 +0000 (20:06 +0000)
committerDuncan Sands <baldrick@free.fr>
Mon, 3 Dec 2007 20:06:50 +0000 (20:06 +0000)
commita3355ffb3d30d19d226bbb75707991c60f236e37
tree926575d8f1c3a0104fa7ea7236dd1842120e29cd
parent4cf4b69330f0b2a3ba325bcdb1ff41847c022260
Rather than having special rules like "intrinsics cannot
throw exceptions", just mark intrinsics with the nounwind
attribute.  Likewise, mark intrinsics as readnone/readonly
and get rid of special aliasing logic (which didn't use
anything more than this anyway).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44544 91177308-0d34-0410-b5e6-96231b3b80d8
22 files changed:
include/llvm/Function.h
include/llvm/Instructions.h
include/llvm/Intrinsics.h
include/llvm/Support/CallSite.h
lib/Analysis/AliasAnalysis.cpp
lib/Analysis/BasicAliasAnalysis.cpp
lib/Analysis/IPA/CallGraph.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/Target/CBackend/CBackend.cpp
lib/Target/MSIL/MSILWriter.cpp
lib/Transforms/IPO/DeadArgumentElimination.cpp
lib/Transforms/Scalar/LowerGC.cpp
lib/Transforms/Scalar/SimplifyCFG.cpp
lib/Transforms/Utils/InlineFunction.cpp
lib/VMCore/AutoUpgrade.cpp
lib/VMCore/Function.cpp
lib/VMCore/Instruction.cpp
lib/VMCore/Instructions.cpp
lib/VMCore/Mangler.cpp
tools/bugpoint/Miscompilation.cpp
utils/TableGen/IntrinsicEmitter.cpp
utils/TableGen/IntrinsicEmitter.h