aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Module.cpp
diff options
context:
space:
mode:
authorNirav Dave <niravd@google.com>2017-03-18 00:44:07 +0000
committerNirav Dave <niravd@google.com>2017-03-18 00:44:07 +0000
commitac6081cb672a5d6027b6dbdb8f9ca95aac9f4775 (patch)
treeb445f5ff99bb62dca3354aa36e3be81c5d88ff82 /llvm/lib/IR/Module.cpp
parent6de2c7794462b860cf50f961147b4f16218fdb09 (diff)
downloadllvm-ac6081cb672a5d6027b6dbdb8f9ca95aac9f4775.zip
llvm-ac6081cb672a5d6027b6dbdb8f9ca95aac9f4775.tar.gz
llvm-ac6081cb672a5d6027b6dbdb8f9ca95aac9f4775.tar.bz2
Make library calls sensitive to regparm module flag (Fixes PR3997).
Reviewers: mkuper, rnk Subscribers: mehdi_amini, jyknight, aemerson, llvm-commits, rengolin Differential Revision: https://reviews.llvm.org/D27050 llvm-svn: 298179
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
-rw-r--r--llvm/lib/IR/Module.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/IR/Module.cpp b/llvm/lib/IR/Module.cpp
index 1911f84..09dd2aa 100644
--- a/llvm/lib/IR/Module.cpp
+++ b/llvm/lib/IR/Module.cpp
@@ -465,6 +465,14 @@ void Module::dropAllReferences() {
GIF.dropAllReferences();
}
+unsigned Module::getNumberRegisterParameters() const {
+ auto *Val =
+ cast_or_null<ConstantAsMetadata>(getModuleFlag("NumRegisterParameters"));
+ if (!Val)
+ return 0;
+ return cast<ConstantInt>(Val->getValue())->getZExtValue();
+}
+
unsigned Module::getDwarfVersion() const {
auto *Val = cast_or_null<ConstantAsMetadata>(getModuleFlag("Dwarf Version"));
if (!Val)