- User Since
- Dec 12 2016, 10:04 PM (140 w, 14 h)
Adding a few more reviewers since I am not very familiar with this part of clang.
Please also update the patch description as suggested by @thakis
Wed, Aug 14
Sat, Aug 3
Jul 16 2019
@pcc can you please submit this patch if there are no objections?
Jul 15 2019
@dankm are you still working on this patch?
Jun 24 2019
@ldionne Does Peter's example answer your questions?
May 29 2019
May 28 2019
Hi Peter and Marshall,
Apr 10 2019
The motivation for this change is to make "crypto" setting an additive option e.g. like "-mavx" used in many media packages. Some packages in Chrome want to enable crypto conditionally for a few files to allow crypto feature to be used based on runtime cpu detection. They set "-march=armv8+crypto" flag but it gets overridden by the global "-march=armv8a" flag set by the build system in Chrome OS because the target cpu does not support crypto causing compile-time errors.
Ability to specify "-mcrypto" standalone makes it an additive option and ensures that it it is not lost. i.e. this will help in decoupling "-mcrypto" from "-march" so that they could be set independently. The current additive alternate is '-Xclang -target-feature -Xclang "+crypto" ' which is ugly.
Apr 9 2019
Mar 13 2019
Mar 9 2019
Nov 14 2018
Nov 13 2018
Doesn't clang already has -grecord-gcc-switches option (https://clang.llvm.org/docs/ClangCommandLineReference.html#debug-information-flags) ?
Oct 24 2018
Took another look and seems like long double is hardcoded in many of the builtins. So I think the current patch needs to rename a lot of places using long double to __float128 type.
Oct 23 2018
I am also getting these tests failures because of missing trunctfxf2 and extendxftf2. These are provided by libgcc but compiler-rt does not seem to have an implementation for them.
Added checked for defined(FLOAT128) || defined(SIZEOF_FLOAT128)
Sep 26 2018
Sep 20 2018
lgtm. But someone more familiar with these code paths should approve.
Sep 19 2018
As per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80868, I thought GCC also emits this error but only with -pedantic. So probably should keep this error but under -Wextra or another appropriate group?
Sep 12 2018
What is the call generated with -pg for AMR32, gnu_mcount_nc or _mount? gnu_mcount_nc with "-pg" is known to be broken ( https://bugs.llvm.org/show_bug.cgi?id=33845)
Sep 4 2018
Aug 29 2018
Just a minor comment regarding test cases: Since you are adding both -L/path/ and -l<libname>, the test cases should be updated to check for the -L/path/ argument as well.
Jul 30 2018
Jul 26 2018
Random uneducated thought - how does it work with multiple translation units, where not all of them have/don't have that flag set?
Jul 25 2018
Jul 23 2018
Thanks for the quick review!
Thanks Piotr for the testcase.
Jul 19 2018
What clang version is that? Works fine for me.
@efriedma Maybe not relevant to the patch here but our kernel devs were looking into preserve_all but it does not seem to work for AArch64.
Jul 18 2018
Jul 17 2018
Added helper text, updated tests.
Jul 16 2018
Jul 13 2018
Thanks Petr, I can confirm that this fixed the compiler-rt build issues in Chrome OS builds.
Jul 11 2018
Jul 10 2018
Do not generate calls with "nonnull" attribute with "-fno-delete-null-pointer-checks".
The warnings are still generated when nullptr is passed to a function with nonnull
Jul 9 2018
Thanks everyone, specially Eli for the reviews.
Jul 7 2018
Made suggested changes.
Jul 3 2018
Handle getObjectSize by passing the ObjectSizeOpts in callers.
Jul 2 2018
Rebase to master + handle constant folding of intrinsic strip_invariant_group.
Replace GlobalVariable by global variable.
Jun 29 2018
Updated LangRef and added comment in ConstantFolding about inability
to query the attribute.
Fix an issue pointed by efriedma. All tests still pass.
@efriedma : can you take a look again?
Jun 26 2018
Fixed typo in inlining unit test.
Made requested changes and added more tests.
Jun 21 2018
@efriedma I think I have addressed the changes you requested, can you ptal?
Jun 20 2018
Added a comment in GlobalOpt.cpp
Jun 18 2018
Added checks to CallSite.h and LoopAccessAnalysis.cpp.
Added another test case for atomic loads.
Moved The NullPointerIsDefined function to Function.h.
Jun 14 2018
Added more test cases, updated LangRef, added a check for address space 0
Jun 13 2018
Updated some passes and added more test cases.
Jun 7 2018
May 16 2018
May 15 2018
Marking as approved since no comments/concerns have been raised, and change is pretty simple.
May 11 2018
May 9 2018
Updated test case for error msg with arguments.
Updated the documentation.