diff options
author | Nirav Dave <niravd@google.com> | 2017-03-18 00:44:07 +0000 |
---|---|---|
committer | Nirav Dave <niravd@google.com> | 2017-03-18 00:44:07 +0000 |
commit | ac6081cb672a5d6027b6dbdb8f9ca95aac9f4775 (patch) | |
tree | b445f5ff99bb62dca3354aa36e3be81c5d88ff82 /llvm/lib/IR/Module.cpp | |
parent | 6de2c7794462b860cf50f961147b4f16218fdb09 (diff) | |
download | llvm-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.cpp | 8 |
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) |