Enable -mergefunc-use-aliases
If the Rust LLVM fork is used, enable the -mergefunc-use-aliases flag, which will create aliases for merged functions, rather than inserting a call from one to the other. A number of codegen tests needed to be adjusted, because functions that previously fell below the thunk limit are now being merged. Merging is prevented either using -C no-prepopulate-passes, or by making the functions non-identical. I expect that this is going to break something, somewhere, because it isn't able to deal with aliases properly, but we won't find out until we try :) This fixes #52651.
This commit is contained in:
parent
0c1dc62c1e
commit
cbf748993f
8 changed files with 21 additions and 6 deletions
|
@ -533,6 +533,14 @@ extern "C" uint32_t LLVMRustVersionMinor() { return LLVM_VERSION_MINOR; }
|
|||
|
||||
extern "C" uint32_t LLVMRustVersionMajor() { return LLVM_VERSION_MAJOR; }
|
||||
|
||||
extern "C" bool LLVMRustIsRustLLVM() {
|
||||
#ifdef LLVM_RUSTLLVM
|
||||
return 1;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
extern "C" void LLVMRustAddModuleFlag(LLVMModuleRef M, const char *Name,
|
||||
uint32_t Value) {
|
||||
unwrap(M)->addModuleFlag(Module::Warning, Name, Value);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue