summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2015-08-31 23:55:19 +0000
committerHal Finkel <hfinkel@anl.gov>2015-08-31 23:55:19 +0000
commit65e1e4dbe0f1fff23eceeb0fcadd93e8f0a302aa (patch)
tree2f5a5104242324476a32cae071e49f43c41c89c7 /clang/lib/CodeGen
parentf4967754a517e0a37621c80c9e695041cf9bf5b3 (diff)
downloadbcm5719-llvm-65e1e4dbe0f1fff23eceeb0fcadd93e8f0a302aa.tar.gz
bcm5719-llvm-65e1e4dbe0f1fff23eceeb0fcadd93e8f0a302aa.zip
[PowerPC] Support __builtin_ppc_get_timebase
GCC 4.8+ has a PowerPC-specific intrinsic, __builtin_ppc_get_timebase, to do what Clang's __builtin_readcyclecounter does. For compatibility with code that uses GCC's spelling (including glibc), support it as well. Partially fixes PR23681. llvm-svn: 246510
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGBuiltin.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp
index 6966b03ef3b..a04a1c12560 100644
--- a/clang/lib/CodeGen/CGBuiltin.cpp
+++ b/clang/lib/CodeGen/CGBuiltin.cpp
@@ -6414,6 +6414,11 @@ Value *CodeGenFunction::EmitPPCBuiltinExpr(unsigned BuiltinID,
switch (BuiltinID) {
default: return nullptr;
+ // __builtin_ppc_get_timebase is GCC 4.8+'s PowerPC-specific name for what we
+ // call __builtin_readcyclecounter.
+ case PPC::BI__builtin_ppc_get_timebase:
+ return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::readcyclecounter));
+
// vec_ld, vec_lvsl, vec_lvsr
case PPC::BI__builtin_altivec_lvx:
case PPC::BI__builtin_altivec_lvxl:
OpenPOWER on IntegriCloud