[llvm-dev] Aggressive optimization opportunity (original) (raw)

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Tue Jan 15 10:53:12 PST 2019


On 1/15/2019 12:31 PM, Troy Johnson via llvm-dev wrote:

Restrict is supported by Clang for C++ via restrict, so it seems strange to block using this proposed option for C++.

In C the functions whose code the compiler will compile typically come from the application's sources. In C++ there is usually a lot more code coming from the standard library and other template-based headers. Even if you apply that option to selected source files, you may end up with two different instatiations of the same template: unsafe (compiled with "restrict") and safe (without "restrict"). If template instatiations are marked as "weak", in the end the unsafe versions may end up being used where the safe versions are required.

-Krzysztof

-- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation



More information about the llvm-dev mailing list