Samuel,
Thanks for the patch!
1. Why you don't want to reuse an existing clang infrastructure for TLS
support? I think it would be much easier and portable solution to reuse an
existing code, rather than inventing a new one.
2. I don't like the idea that this feature is enabled only for a specific
platform. It requires a new class, some complex code changes etc. Instead I
prefer to have a driver/frontend option that makes the compiler to switch
codegen from cached version to TLS. If you want to set this feature on by
default for the PowerPC you can set this option in frontend if current
architecture is PowerPC. In this case we don't need an additional
CGOpenMPRuntime-based class.
================
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:996
@@ +995,3 @@
+ RetVal = CtorCGF.Builder.CreatePointerCast(
+ TLSGV, CtorCGF.ConvertTypeForMem(CGM.getContext().VoidPtrTy));
+ OrigVal = TLSGV;
----------------
Use CtorCGF.VoidPtrTy rather than
CtorCGF.ConvertTypeForMem(CGM.getContext().VoidPtrTy)
================
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:1038
@@ +1037,3 @@
+ OrigVal = DtorCGF.Builder.CreatePointerCast(
+ TLSGV, DtorCGF.ConvertTypeForMem(CGM.getContext().VoidPtrTy));
+ } else {
----------------
DtorCGF.VoidPtrTy
================
Comment at: lib/CodeGen/CGOpenMPRuntime.h:355
@@ +354,3 @@
+ //// variables. It is false by default.
+ bool useTLSForThreadPrivate;
+
----------------
Should start with an upper case letter, i.e. UseTLSForThreadPrivate
http://reviews.llvm.org/D10753
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits