Ahmed Samara via llvm-dev
2018-Apr-09 16:13 UTC
[llvm-dev] Why does Clang use GCCBuiltInFunctions? How can intrinsics that don't depend on GCC be added?
http://llvm.org/doxygen/namespacellvm_1_1Intrinsic.html#a441f366e90feb68d310546c271bcd31e I noticed that there are a lot of intrinsice in `include/llvm/IR/Intrinsics*.td` that reference GCCBultIn, and looking at the functions they're referencing it seems to be based on things already built into GCC. Why is it done this way instead of just building them from scratch (or importing the functions themselves) instead of depending on gcc? Is building target-specific intrinsics from scratch problematic? -- Ahmed Samara PhD Student Computer Engineering -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180409/1cbd1f37/attachment.html>
Krzysztof Parzyszek via llvm-dev
2018-Apr-09 16:37 UTC
[llvm-dev] Why does Clang use GCCBuiltInFunctions? How can intrinsics that don't depend on GCC be added?
It doesn't depend on GCC, it's just a way to provide a name for the intrinsic. -Krzysztof On 4/9/2018 11:13 AM, Ahmed Samara via llvm-dev wrote:> http://llvm.org/doxygen/namespacellvm_1_1Intrinsic.html#a441f366e90feb68d310546c271bcd31e > > > I noticed that there are a lot of intrinsice in > `include/llvm/IR/Intrinsics*.td` that reference GCCBultIn, and looking > at the functions they're referencing it seems to be based on things > already built into GCC. Why is it done this way instead of just building > them from scratch (or importing the functions themselves) instead of > depending on gcc? Is building target-specific intrinsics from scratch > problematic? > > -- > Ahmed Samara > PhDÂ Student Computer Engineering > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Reasonably Related Threads
- How to use tablegen to describe branches where the status register is implicitly set?
- Segmentation fault when using llc to target riscv.
- "Build Experimental Targets not working"
- LLVM tool-chain for RISC-V
- Why do backend pass definitions call a seperate function just to call the constructor?