This patch allows MMA built-ins on PowerPC to accept restrict
and volatile qualified pointers.
|390 ms||x64 debian > ORC-x86_64-linux.TestCases/Linux/x86-64::trivial-cxa-atexit.S|
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang -m64 -c -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/orc/X86_64LinuxConfig/TestCases/Linux/x86-64/Output/trivial-cxa-atexit.S.tmp /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/orc/TestCases/Linux/x86-64/trivial-cxa-atexit.S
|350 ms||x64 debian > ORC-x86_64-linux.TestCases/Linux/x86-64::trivial-static-initializer.S|
Script: -- : 'RUN: at line 7'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang -m64 -c -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/orc/X86_64LinuxConfig/TestCases/Linux/x86-64/Output/trivial-static-initializer.S.tmp /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/orc/TestCases/Linux/x86-64/trivial-static-initializer.S
Parentheses here seem superfluous. Also, am I reading this correctly? Does this mean that if the argument type is __restrict anything, we are accepting it? That is not the intent here. We don't want to accept just ANY restrict qualified type. We want to accept either: ExpectedType or ExpectedType __restrict.
I am not in favour of the "single use lambda" idiom. We don't really need a lambda here. Also, this will handle restrict, but it won't handle const/volatile which also shouldn't be a problem for the loads.
I think we should do the following: