- Jun 02, 2020
-
-
Matt Arsenault authored
-
hsmahesha authored
Summary: While clustering mem ops, AMDGPU target needs to consider number of clustered bytes to decide on max number of mem ops that can be clustered. This patch adds support to pass number of clustered bytes to target mem ops clustering logic. Reviewers: foad, rampitec, arsenm, vpykhtin, javedabsar Reviewed By: foad Subscribers: MatzeB, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, javed.absar, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80545
-
Fangrui Song authored
DF_1_PIE originated from Solaris (https://docs.oracle.com/cd/E36784_01/html/E36857/chapter6-42444.html ). GNU ld since https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=5fe2850dd96483f176858fd75c098313d5b20bc2 sets the flag on non-Solaris platforms. It can help distinguish PIE from ET_DYN. eu-classify from elfutils uses this to recognize PIE (https://sourceware.org/git/?p=elfutils.git;a=commit;h=3f489b5c7c78df6d52f8982f79c36e9a220e8951 ) glibc uses this flag to reject dlopen'ing a PIE (https://sourceware.org/bugzilla/show_bug.cgi?id=24323 ) Reviewed By: psmith Differential Revision: https://reviews.llvm.org/D80872
-
Stanislav Mekhanoshin authored
-
Matt Arsenault authored
The alignment value also needs to be scaled by the wave size.
-
Christopher Tetreault authored
Reviewers: efriedma, david-arm, fpetrogalli, ddunbar, rjmccall Reviewed By: fpetrogalli, rjmccall Subscribers: tschuett, rkruppe, psnobl, dmgreen, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D80323
-
Nick Desaulniers authored
Summary: Forked from: https://reviews.llvm.org/D80242 Use the getter for access to DebugInfo consistently. Use break in switch in CodeGenModule::EmitTopLevelDecl consistently. Reviewers: dblaikie Reviewed By: dblaikie Subscribers: cfe-commits, srhines Tags: #clang Differential Revision: https://reviews.llvm.org/D80840
-
Eric Schweitz authored
The lowering bridge will call these lowering hooks to process the Open MP directives that it iterates over in the PFT. This is a mock interface without an implementation in this patch. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D80815
-
Stanislav Mekhanoshin authored
There seems to be some instability with IR nameing between platforms. Attempted to fix it with replacing dot-numbered names.
-
- Jun 01, 2020
-
-
Fangrui Song authored
This flag (and the whole field DT_FLAGS_1) originated from Solaris. I intend to use it in an LLD patch D80872. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D80871
-
Sanjay Patel authored
This is based on an example in D80658
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D79218
-
Siva Chandra Reddy authored
Reviewers: abrachet Differential Revision: https://reviews.llvm.org/D80612
-
Sam Clegg authored
simd-2.C now compiles thanks to: https://github.com/WebAssembly/wasi-libc/pull/183 Differential Revision: https://reviews.llvm.org/D80930
-
Sanjay Patel authored
As discussed in https://bugs.llvm.org/show_bug.cgi?id=45951 and D80584, the name 'tmp' is almost always a bad choice, but we have a legacy of regression tests with that name because it was baked into utils/update_test_checks.py. This change makes -instnamer more consistent (already using "arg" and "bb", the common LLVM shorthand). And it avoids the conflict in telling users of the FileCheck script to run "-instnamer" to create a better regression test and having that cause a warn/fail in update_test_checks.py.
-
AndreyChurbanov authored
same parent tasks. Differential Revision: https://reviews.llvm.org/D80577
-
Aaron Ballman authored
GCC 10.1 introduced support for the [[]] style spelling of attributes in C mode. Similar to how GCC supports __attribute__((foo)) as [[gnu::foo]] in C++ mode, it now supports the same spelling in C mode as well. This patch makes a change in Clang so that when you use the GCC attribute spelling, the attribute is automatically available in all three spellings by default. However, like Clang, GCC has some attributes it only recognizes in C++ mode (specifically, abi_tag and init_priority), which this patch also honors.
-
Ehud Katz authored
-
Sanjay Patel authored
This file was originally added without instnamer at: rL283716 / fe2b9b4f But that was reverted and the test file reappeared with instnamer at: rL285688 / 62f516f5 I'm not seeing any difference locally from checking nameless values, so trying to remove a layering violation and see if that can survive the build bots.
-
James Henderson authored
Reviewed by: clayborg, dblaikie, labath Differential Revision: https://reviews.llvm.org/D80799
-
Raphael Isemann authored
This reverts commit fd0ab3b3. The fix here is incorrect and the actual fault was an incorrect test Makefile. To give some more background: The original test for D80798 compiled three source files into either one executable or one executable + 2 shared libraries, each being one different test setup. If both the monolithic executable and the shared libraries where compiled in the same directory, then Make would overwrite the .o files of one test setup with the other. This caused that while -fPIC was passed correctly to the test setup with the shared libraries, the compiler invocations for the monolithic executable would later overwrite these object files (and as only the test setup with the shared library used -fPIC, it appeared as if the shared library object files didn't receive the -fPIC flag). Thanks to Pavel for figuring this out.
-
James Henderson authored
This will ensure that nothing can ever start parsing data from a future sequence and part-read data will be returned as 0 instead. Reviewed by: aprantl, labath Differential Revision: https://reviews.llvm.org/D80796
-
Raphael Isemann authored
Summary: ClangExpressionSourceCode has different ways to wrap the user expression based on which context the expression is executed in. For example, if we're in a C++ member function we put the expression inside a fake member function of a fake class to make the evaluation possible. Similar things are done for Objective-C instance/static methods. There is also a default wrapping where we put the expression in a normal function just to make it possible to execute it. The way we currently define which kind of wrapping the expression needs is based on the `wrapping_language` we keep passing to the ClangExpressionSourceCode instance. We repurposed the language type enum for that variable to distinguish the cases above with the following mapping: * language = C_plus_plus -> member function wrapping * language = ObjC -> instance/static method wrapping (`is_static` distinguished between those two). * language = C -> normal function wrapping * all other cases like C_plus_plus11, Haskell etc. make our class a no-op that does mostly nothing. That mapping is currently not documented and just confusing as the `language` is unrelated to the expression language (and in the ClangUserExpression we even pretend that it *is* the actual language, but luckily never used it for anything). Some of the code in ClangExpressionSourceCode is also obviously thinking that this is the actual language of the expression as it checks for non-existent cases such as `ObjC_plus_plus` which is not part of the mapping. This patch makes a new enum to describe the four cases above (with instance/static Objective-C methods now being their own case). It also make that enum just a member of ClangExpressionSourceCode instead of having to pass the same value to the class repeatedly. This gets also rid of all the switch-case-checks for 'unknown' language such as C_plus_plus11 as this is no longer necessary. Reviewers: labath, JDevlieghere Reviewed By: labath Subscribers: abidh Differential Revision: https://reviews.llvm.org/D80793
-
Sanjay Patel authored
This is effectively reverting rGbfdc2552 to avoid test churn while we figure out a better way forward. We at least salvage the warning on name conflict from that patch though. If we change the default string again, we may want to mass update tests at the same time. Alternatively, we could live with the poor naming if we change -instnamer. This also adds a test to LLVM as suggested in the post-commit review. There's a clang test that is also affected. That seems like a layering violation, but I have not looked at fixing that yet. Differential Revision: https://reviews.llvm.org/D80584
-
James Henderson authored
The debug_line_invalid.test test case was previously using the interpreted line table dumping to identify which opcodes have been parsed. This change moves to looking for the expected opcodes explicitly. This is probably a little clearer and also allows for testing some cases that wouldn't be easily identifiable from the interpreted table. Reviewed by: MaskRay Differential Revision: https://reviews.llvm.org/D80795
-
Simon Pilgrim authored
They are implicitly included in TargetFrameLowering.h and only ever used in TargetFrameLowering override methods.
-
Simon Pilgrim authored
-
Igor Kudrin authored
For most tables, we already use commas in headers. This set of patches unifies dumping the remaining ones. Differential Revision: https://reviews.llvm.org/D80806
-
Igor Kudrin authored
For most tables, we already use commas in headers. This set of patches unifies dumping the remaining ones. Differential Revision: https://reviews.llvm.org/D80806
-
Igor Kudrin authored
For most tables, we already use commas in headers. This set of patches unifies dumping the remaining ones. Differential Revision: https://reviews.llvm.org/D80806
-
Georgii Rymar authored
Partially reverts feee9864. Add explicit braces to a different place to fix "error: add explicit braces to avoid dangling else [-Werror,-Wdangling-else]"
-
Georgii Rymar authored
Should fix the BB (http://lab.llvm.org:8011/builders/clang-ppc64le-rhel/builds/3907/steps/build%20stage%201/logs/stdio): llvm-readobj/ELFDumper.cpp:4708:5: error: add explicit braces to avoid dangling else [-Werror,-Wdangling-else] else ^
-
Ehud Katz authored
This is a reimplementation of the `orderNodes` function, as the old implementation didn't take into account all cases. The new implementation uses SCCs instead of Loops to take account of irreducible loops. Fix PR41509 Differential Revision: https://reviews.llvm.org/D79037
-
Georgii Rymar authored
This improves the next points for broken hash tables: 1) Use reportUniqueWarning to prevent duplication when --hash-table and --elf-hash-histogram are used together. 2) Dump nbuckets and nchain fields. It is often possible to dump them even when the table itself goes past the EOF etc. Differential revision: https://reviews.llvm.org/D80373
-
Tim Northover authored
When a stack offset was too big to materialize in a single instruction, we were trying to do it in stages: adds xD, sp, #imm adds xD, xD, #imm Unfortunately, if xD is xzr then the second instruction doesn't exist and wouldn't do what was needed if it did. Instead we can use a temporary register for all but the last addition. -
Djordje Todorovic authored
After the D70350, the retainedTypes: isn't being used for the purpose of call site debug info for extern calls, so it is safe to delete it from IR representation. We are also adding a test to ensure the subprogram isn't stored within the retainedTypes: from corresponding DICompileUnit. Differential Revision: https://reviews.llvm.org/D80369
-
Nathan James authored
Force the unittests on c++ code for matchers to specify the correct standard. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D80884
-
serge-sans-paille authored
Relying on the find method implies a roundtrip to the iterator world, which is not costless because iterator creation involves a few check to ensure the iterator is in a valid position (through the SmallPtrSetIteratorImpl::AdvanceIfNotValid method). It turns out that the result of SmallPtrSetImpl::find_imp is either valid or the EndPointer, so there's no need to go through that abstraction, and the compiler cannot guess it. Differential Revision: https://reviews.llvm.org/D80708
-
serge-sans-paille authored
Use internal_memcpy instead. Differential Revision: https://reviews.llvm.org/D80732
-
Chen Zheng authored
-