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
This commit is contained in:
Nirav Dave
2017-03-18 00:44:07 +00:00
parent 6de2c77944
commit ac6081cb67
25 changed files with 219 additions and 123 deletions

View File

@@ -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)