[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny updated this revision to Diff 208286. jdenny added a comment. This incorporates all the improvements I think we've discussed so far: - In diagnostics, distinguish between unsupported types and non-equivalent types. - Don't treat `__float128` and `long double` as equivalent. - Compare

[PATCH] D10049: Driver: Add OS-specific resource directory to file search paths.

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. Implemented by D31447 CHANGES SINCE LAST ACTION https://reviews.llvm.org/D10049/new/ https://reviews.llvm.org/D10049 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D10051: Driver: Modify the -print-libgcc-file-name code to use ToolChain::GetRuntimeLibPath().

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. D25338 fixed the issue.. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D10051/new/ https://reviews.llvm.org/D10051 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. Drive-by comment :) In gcc, (1) -mlong-double-128 uses IEEE 754 quad as the representation of long double on x86_64 (2) -mlong-double-128 -mabi=ieeelongdouble uses IEEE 754 quad as the representation of long double on powerpc{32,64}. (On Linux powerpc{32,64},

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64128: [CodeGen] Generate llvm.ptrmask instead of inttoptr(and(ptrtoint, C)) if possible.

2019-07-06 Thread John McCall via Phabricator via cfe-commits
rjmccall added a comment. I would be opposed to any addition of a `-f` flag for this absent any evidence that it's valuable for some actual C code; this patch appears to be purely speculative. I certainly don't think we should be adding it default-on. Your argument about alignment is what I

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D63793: Treat the range of representable values of floating-point types as [-inf, +inf] not as [-max, +max].

2019-07-06 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL365272: Treat the range of representable values of floating-point types as [-inf, +inf]… (authored by rsmith, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits.

r365272 - Treat the range of representable values of floating-point types as [-inf, +inf] not as [-max, +max].

2019-07-06 Thread Richard Smith via cfe-commits
Author: rsmith Date: Sat Jul 6 14:05:52 2019 New Revision: 365272 URL: http://llvm.org/viewvc/llvm-project?rev=365272=rev Log: Treat the range of representable values of floating-point types as [-inf, +inf] not as [-max, +max]. Summary: Prior to r329065, we used [-max, max] as the range of

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1594 + !Context.getTargetInfo().hasFloat128Type() && + Context.getTargetInfo().getLongDoubleWidth() != 128) || (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&

[PATCH] D64289: [OpenMP] Fix 128-bit long double support on target

2019-07-06 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny created this revision. jdenny added a reviewer: ABataev. Herald added subscribers: jdoerfert, guansong. Herald added a project: clang. For example, without this fix, when the host is x86_64, long double is sometimes rejected when offloading to x86_64: $ cat test.c int main() {

[PATCH] D62619: [analyzer][IDF] Add a control dependency calculator + a new debug checker

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added inline comments. Comment at: clang/include/clang/Analysis/Analyses/Dominators.h:230 + + virtual void releaseMemory() { +PostDomTree.releaseMemory(); kuhar wrote: > If the virtual function is introduced by ManagesAnalysis, isn't it better to

[PATCH] D63279: [Analyzer] Unroll for-loops where the upper boundary is a variable with know value

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus added inline comments. Comment at: lib/StaticAnalyzer/Core/LoopUnrolling.cpp:214-216 + const Expr *BoundExpr = CondOp->getLHS()->IgnoreParenImpCasts(); + if (BoundExpr == Matches[0].getNodeAs("boundVarOperand")) +BoundExpr =

[PATCH] D64274: [analyzer] VirtualCallChecker overhaul.

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus requested changes to this revision. Szelethus added a comment. This revision now requires changes to proceed. I happen to have very recent analyses on a couple projects, I'll throw this in: LLVM+Clang+Clang-tools-extra

[PATCH] D64232: [analyzer] Prune calls to functions with linear CFGs that return a non-zero constrained value

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 208276. Szelethus added a comment. Rebase. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64232/new/ https://reviews.llvm.org/D64232 Files: clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp

[PATCH] D64272: [analyzer] Note last writes to a condition only in a nested stackframe

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus updated this revision to Diff 208275. Szelethus added a comment. Rebase after D64271 being abandoned. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64272/new/ https://reviews.llvm.org/D64272 Files:

[PATCH] D64271: [analyzer] Don't track the right hand side of the last store for conditions

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus abandoned this revision. Szelethus added a comment. You're right. If condition tracking only adds necessary information anyways, this shouldn't hurt that much anyways. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64271/new/

[PATCH] D64287: [analyzer] Track the right hand side of the last store unconditionally

2019-07-06 Thread Kristóf Umann via Phabricator via cfe-commits
Szelethus created this revision. Szelethus added reviewers: NoQ, xazax.hun, rnkovacs, baloghadamsoftware, Charusso. Szelethus added a project: clang. Herald added subscribers: cfe-commits, gamesh411, dkrupp, donat.nagy, mikhail.ramalho, a.sidorin, szepet, whisperity. The following code snippet

r365264 - [Rewrite] Try to fix buildbot link fail left by r365263

2019-07-06 Thread Joel E. Denny via cfe-commits
Author: jdenny Date: Sat Jul 6 09:28:32 2019 New Revision: 365264 URL: http://llvm.org/viewvc/llvm-project?rev=365264=rev Log: [Rewrite] Try to fix buildbot link fail left by r365263 http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/builds/10272 Modified:

[PATCH] D60335: Use -fomit-frame-pointer when optimizing PowerPC code

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. Herald added a subscriber: wuzish. I would write the following test (I can commit that for you) diff --git c/test/Driver/frame-pointer-elim.c w/test/Driver/frame-pointer-elim.c index 6fcd3eb75a..c2e9ccb225 100644 --- c/test/Driver/frame-pointer-elim.c +++

[PATCH] D63845: [WIP] Create a clang attribute that lets users specify LLVM attributes

2019-07-06 Thread Aaron Ballman via Phabricator via cfe-commits
aaron.ballman added a comment. In D63845#1571855 , @jdoerfert wrote: > I think we should postpone a detailed discussion until we are ready to send > an RFC on this. Nevertheless, I inlined some responses below. > > In D63845#1570639

r365263 - [Rewrite] Try to fix buildbot link fail caused by r365258

2019-07-06 Thread Joel E. Denny via cfe-commits
Author: jdenny Date: Sat Jul 6 06:44:57 2019 New Revision: 365263 URL: http://llvm.org/viewvc/llvm-project?rev=365263=rev Log: [Rewrite] Try to fix buildbot link fail caused by r365258 http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/builds/10270 Modified:

[PATCH] D64062: Remove both -dumpversion and __VERSION__

2019-07-06 Thread Sylvestre Ledru via Phabricator via cfe-commits
sylvestre.ledru added a comment. @rnk is it good for you ? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64062/new/ https://reviews.llvm.org/D64062 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D64277: [X86][PowerPC] Support -mlong-double-128

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay marked an inline comment as done. MaskRay added inline comments. Comment at: test/OpenMP/nvptx_unsupported_type_codegen.cpp:79 } - -// CHECK: define weak void @__omp_offloading_{{.+}}foo{{.+}}_l75([[BIGTYPE:.+]]* ABataev wrote: > MaskRay wrote: > >

[PATCH] D64277: [X86][PowerPC] Support -mlong-double-128

2019-07-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: test/OpenMP/nvptx_unsupported_type_codegen.cpp:79 } - -// CHECK: define weak void @__omp_offloading_{{.+}}foo{{.+}}_l75([[BIGTYPE:.+]]* MaskRay wrote: > ABataev wrote: > > MaskRay wrote: > > > @ABataev The mangling

[PATCH] D64277: [X86][PowerPC] Support -mlong-double-128

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay marked an inline comment as done. MaskRay added inline comments. Comment at: test/OpenMP/nvptx_unsupported_type_codegen.cpp:79 } - -// CHECK: define weak void @__omp_offloading_{{.+}}foo{{.+}}_l75([[BIGTYPE:.+]]* ABataev wrote: > MaskRay wrote: > >

[PATCH] D64284: (WIP) share template instantiations from PCH in one .o if -building-pch-with-obj

2019-07-06 Thread Luboš Luňák via Phabricator via cfe-commits
llunak created this revision. llunak added reviewers: rsmith, dblaikie, hans. Herald added a project: clang. Herald added a subscriber: cfe-commits. This is a WIP patch that can significantly reduce build time by avoiding needlessly repeatedly instantiating templates when using PCH. As

[PATCH] D64277: [X86][PowerPC] Support -mlong-double-128

2019-07-06 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: test/OpenMP/nvptx_unsupported_type_codegen.cpp:79 } - -// CHECK: define weak void @__omp_offloading_{{.+}}foo{{.+}}_l75([[BIGTYPE:.+]]* MaskRay wrote: > @ABataev The mangling scheme of __float128 is broken on x86

[PATCH] D64277: [X86][PowerPC] Support -mlong-double-128

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay marked an inline comment as done. MaskRay added a subscriber: ABataev. MaskRay added inline comments. Comment at: test/OpenMP/nvptx_unsupported_type_codegen.cpp:79 } - -// CHECK: define weak void @__omp_offloading_{{.+}}foo{{.+}}_l75([[BIGTYPE:.+]]*

[PATCH] D64283: [PowerPC] Support -mabi=ieeelongdouble and -mabi=ibmlongdouble

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay created this revision. MaskRay added reviewers: awilfox, dalias, echristo, hfinkel, nemanjai, jsji, kbarton. Herald added a project: clang. Herald added a subscriber: cfe-commits. MaskRay added parent revisions: D64282: [PowerPC] Support fp128 libcalls, D64277: [X86][PowerPC] Support

[PATCH] D64277: [X86][PowerPC] Support -mlong-double-128

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay updated this revision to Diff 208266. MaskRay added a comment. Herald added a subscriber: jdoerfert. Small adjustment to PPC.cpp to make -mlong-double-128 -mabi=ieeelongdouble simpler Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64277/new/

[PATCH] D64270: [analyzer][NFC] Prepare visitors for different tracking kinds

2019-07-06 Thread Csaba Dabis via Phabricator via cfe-commits
Charusso accepted this revision. Charusso added a comment. Document!!4!44! It is great you have started to limit the notes, thanks! Comment at: clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:110 + ConditionTracking +}; + What about

[PATCH] D64277: [X86][PowerPC] Support -mlong-double-128

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay updated this revision to Diff 208260. MaskRay added a comment. Add a driver test Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64277/new/ https://reviews.llvm.org/D64277 Files: include/clang/Driver/Options.td lib/Basic/TargetInfo.cpp

[PATCH] D64278: Rename libclang_shared to libclang-cpp

2019-07-06 Thread Sylvestre Ledru via Phabricator via cfe-commits
sylvestre.ledru created this revision. sylvestre.ledru added reviewers: beanz, tstellar. Herald added subscribers: cfe-commits, mgorny. Herald added a project: clang. sylvestre.ledru edited the summary of this revision. Fix bug 42475 Repository: rC Clang https://reviews.llvm.org/D64278

[PATCH] D64277: [X86][PowerPC] Support -mlong-double-128

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay created this revision. MaskRay added reviewers: awilfox, echristo, erichkeane, hfinkel, jsji, majnemer, rnk, rsmith. Herald added subscribers: cfe-commits, kbarton, nemanjai. Herald added a project: clang. This patch makes the driver option -mlong-double-128 available for X86 and

[PATCH] D64276: [ItaniumMangle] Replace useFloat128ManglingForLongDouble() with getManglingForLongDouble() and getManglingForFloat128()

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay updated this revision to Diff 208256. MaskRay added a comment. Simplify x86_64 Android. Since it doesn't use -mlong-double-64 or -mlong-double-128, just use "g" for it. In the next -mlong-double-128 patch, we move its getManglingForLongDouble() overload to X86TargetInfo Repository:

[PATCH] D64067: [X86][PPC] Support -mlong-double-64

2019-07-06 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay updated this revision to Diff 208255. MaskRay added a comment. Herald added a subscriber: wuzish. Add more tests: elf32/elf64/darwin... Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64067/new/ https://reviews.llvm.org/D64067 Files: