- Jun 14, 2017
-
-
Rafael Espindola authored
llvm-svn: 305333
-
Eugene Zelenko authored
llvm-svn: 305332
-
Kostya Serebryany authored
[libFuzzer] initial support of -fsanitize-coverage=inline-8bit-counters in libFuzzer. This is not fully functional yet, but simple tests work llvm-svn: 305331
-
Evgeniy Stepanov authored
If pthread_attr_getstack tell us the stack is 2G, why would we doubt that? Differential Revision: https://reviews.llvm.org/D34169 llvm-svn: 305330
-
Davide Italiano authored
Fixes the GCC7 build with -Werror. llvm-svn: 305329
-
Richard Trieu authored
llvm-svn: 305328
-
Vedant Kumar authored
Doing so breaks compilation of the following C program (under -fprofile-instr-generate): __attribute__((always_inline)) inline int foo() { return 0; } int main() { return foo(); } At link time, we fail because taking the address of an available_externally function creates an undefined external reference, which the TU cannot provide. Emitting the function definition into the object file at all appears to be a violation of the langref: "Globals with 'available_externally' linkage are never emitted into the object file corresponding to the LLVM module." Differential Revision: https://reviews.llvm.org/D34134 llvm-svn: 305327
-
Eugene Zelenko authored
[ADT] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). llvm-svn: 305326
-
- Jun 13, 2017
-
-
Xinliang David Li authored
Differential Revision: http://reviews.llvm.org/D34133 llvm-svn: 305325
-
Eric Beckmann authored
Summary: just a quick patch Subscribers: ruiu, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D34171 llvm-svn: 305324
-
Rafael Espindola authored
Currently we do layout as if non alloc sections had an actual address and then set it to zero. This produces a few odd results where a symbol has an address that is inconsistent with the section address. The simplest way to fix it is probably to just set the address earlier. The behavior of bfd seems to be similar, but it only sets the non alloc section address is missing from the linker script or if the script has an explicit " : 0" setting the address of the output section (which the default script does). llvm-svn: 305323
-
Eric Beckmann authored
Summary: We were writing the length of the string based on system-endianness, and not universally little-endian. This fixes that. Reviewers: zturner Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D34159 llvm-svn: 305322
-
Teresa Johnson authored
Summary: Leave an updated VP metadata on the fallback memcpy intrinsic after specialization. This can be used for later possible expansion based on the average of the remaining values. Reviewers: davidxl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D34164 llvm-svn: 305321
-
Eric Beckmann authored
Summary: Apparently we need to write using a void* pointer on some architectures, or else alignment error is caused. Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D34166 llvm-svn: 305320
-
Roman Lebedev authored
Summary: Previously, when D33102 landed, this broke -Werror buildbots. http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/3249 ``` FAILED: /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/install/stage1/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_BUILD_GLOBAL_ISEL -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/CodeGen/AsmPrinter -I/home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter -Iinclude -I/home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/include -fPIC -fvisibility-inlines-hidden -Werror -Werror=date-time -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fcolor-diagnostics -ffunction-sections -fdata-sections -O3 -UNDEBUG -fno-exceptions -fno-rtti -MMD -MT lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/CodeViewDebug.cpp.o -MF lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/CodeViewDebug.cpp.o.d -o lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/CodeViewDebug.cpp.o -c /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp In file included from /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp:14: In file included from /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter/CodeViewDebug.h:17: In file included from /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.h:15: In file included from /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/include/llvm/IR/DebugInfoMetadata.h:26: In file included from /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/include/llvm/IR/Metadata.h:23: /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/include/llvm/ADT/PointerUnion.h:161:19: error: cast from 'void **' to 'const llvm::DISubprogram **' must have all intermediate pointers const qualified to be safe [-Werror,-Wcast-qual] return (PT1 *)Val.getAddrOfPointer(); ^ /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/include/llvm/ADT/TinyPtrVector.h:177:18: note: in instantiation of member function 'llvm::PointerUnion<const llvm::DISubprogram *, llvm::SmallVector<const llvm::DISubprogram *, 4> *>::getAddrOfPtr1' requested here return Val.getAddrOfPtr1(); ^ /home/buildbot/Buildbot/Slave1a/clang-with-lto-ubuntu/llvm.src/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp:1885:33: note: in instantiation of member function 'llvm::TinyPtrVector<const llvm::DISubprogram *>::begin' requested here for (const DISubprogram *SP : MethodItr.second) { ^ 1 error generated. ``` Reviewers: dblaikie, akyrtzi Reviewed By: dblaikie Subscribers: joerg, mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D34153 llvm-svn: 305319
-
Frederich Munch authored
llvm-svn: 305318
-
Bill Seurer authored
These tests fail on powerpc64 BE (only, not LE) and are thus intefering with the running of 3 of the powerpc buildbots. The author of the tests has been notified and is working on fixing them but in the meantime I am disabling them to get the bots working again. See https://bugs.llvm.org//show_bug.cgi?id=33429 llvm-svn: 305317
-
Sam Clegg authored
Differential Revision: https://reviews.llvm.org/D34131 llvm-svn: 305316
-
Yi Kong authored
Summary: Clang emits unused-lambda-capture warning for captures in generic lambdas even though they are actually used. Fixes PR31815. Reviewers: malcolm.parsons, aaron.ballman, rsmith Reviewed By: malcolm.parsons Subscribers: ahatanak, cfe-commits Differential Revision: https://reviews.llvm.org/D33526 llvm-svn: 305315
-
Eric Beckmann authored
Summary: Added output to stderr so that we can actually see what is happening when the test fails on big endian. Reviewers: zturner Subscribers: llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D34155 llvm-svn: 305314
-
Frederich Munch authored
llvm-svn: 305313
-
Florian Hahn authored
Summary: This patch is part of 3 patches that together form a single patch, but must be introduced in stages in order not to break things. The way that LLVM interprets DW_OP_plus in DIExpression nodes is basically that of the DW_OP_plus_uconst operator since LLVM expects an unsigned constant operand. This unnecessarily restricts the DW_OP_plus operator, preventing it from being used to describe the evaluation of runtime values on the expression stack. These patches try to align the semantics of DW_OP_plus and DW_OP_minus with that of the DWARF definition, which pops two elements off the expression stack, performs the operation and pushes the result back on the stack. This is done in three stages: • The first patch (LLVM) adds support for DW_OP_plus_uconst and changes all uses (and tests) of DW_OP_plus to use DW_OP_plus_uconst. • The second patch (Clang) contains changes to use DW_OP_plus_uconst instead of DW_OP_plus. • The third patch (LLVM) changes the semantics of DW_OP_plus to be in line with it’s DWARF meaning. It also does this for DW_OP_minus. Patch by Sander de Smalen. Reviewers: echristo, pcc, aprantl Reviewed By: aprantl Subscribers: aprantl, cfe-commits Differential Revision: https://reviews.llvm.org/D33893 llvm-svn: 305312
-
Craig Topper authored
[IR] Remove a couple explicitly deleted default constructors on classes that have a non-default constructor. NFC The non-default constructor will implicitly delete the default constructor. llvm-svn: 305311
-
Geoff Berry authored
llvm-svn: 305310
-
Kit Barton authored
Modified a comment to confirm commit access functionality. llvm-svn: 305309
-
Craig Topper authored
Previously, the matching was done incorrectly for the case where operands for FCmpInst and SelectInst were in opposite order. Patch by Andrei Elovikov. Differential Revision: https://reviews.llvm.org/D33185 llvm-svn: 305308
-
Jonathan Peyton authored
Differential Revision: https://reviews.llvm.org/D34119 llvm-svn: 305307
-
Jonathan Peyton authored
If OpenMP is initialized before fork()-ing occurs and affinity is set to something like compact, then the master thread will be pinned to a single HW thread/core after initialization. If the master (or any other thread) then forks N processes, all N processes will then be pinned to that same single HW thread/core. To reset the affinity for the new child process, the atfork handler for the child process can call kmp_set_thread_affinity_mask_initial() to reset its affinity to the initial affinity of the application before it re-initializes libomp. The parent process will not be affected and still keeps its affinity setting. Differential Revision: https://reviews.llvm.org/D34118 llvm-svn: 305306
-
Krzysztof Parzyszek authored
Store-immediate instructions have a non-extendable offset. Since the actual offset for a stack object is not known until much later, only generate these stores when the stack size (at the time of instruction selection) is small. llvm-svn: 305305
-
Florian Hahn authored
Summary: This patch is part of 3 patches that together form a single patch, but must be introduced in stages in order not to break things. The way that LLVM interprets DW_OP_plus in DIExpression nodes is basically that of the DW_OP_plus_uconst operator since LLVM expects an unsigned constant operand. This unnecessarily restricts the DW_OP_plus operator, preventing it from being used to describe the evaluation of runtime values on the expression stack. These patches try to align the semantics of DW_OP_plus and DW_OP_minus with that of the DWARF definition, which pops two elements off the expression stack, performs the operation and pushes the result back on the stack. This is done in three stages: • The first patch (LLVM) adds support for DW_OP_plus_uconst. • The second patch (Clang) contains changes all its uses from DW_OP_plus to DW_OP_plus_uconst. • The third patch (LLVM) changes the semantics of DW_OP_plus and DW_OP_minus to be in line with its DWARF meaning. This patch includes the bitcode upgrade from legacy DIExpressions. Patch by Sander de Smalen. Reviewers: pcc, echristo, aprantl Reviewed By: aprantl Subscribers: fhahn, aprantl, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D33892 llvm-svn: 305304
-
Frederich Munch authored
Summary: Fixes an issue using RegisterStandardPasses from a statically linked object before PassManagerBuilder::addGlobalExtension is called from a dynamic library. Reviewers: efriedma, theraven Reviewed By: efriedma Subscribers: mehdi_amini, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D33515 llvm-svn: 305303
-
Krzysztof Parzyszek authored
llvm-svn: 305302
-
Yonghong Song authored
Signed-off-by:
Yonghong Song <yhs@fb.com> llvm-svn: 305301
-
Krzysztof Parzyszek authored
When a mux instruction is created from a pair of complementary conditional transfers, it can be placed at the location of either the earlier or the later of the transfers. Since it will use the operands of the original transfers, putting it in the earlier location may hoist a kill of a source register that was originally further down. Make sure the kill flag is removed if the register is still used afterwards. llvm-svn: 305300
-
Ilya Biryukov authored
llvm-svn: 305299
-
Ilya Biryukov authored
Summary: ClangdServer owned objects passed to it in constructor for no good reason. Lots of stuff was moved from the heap to the stack thanks to this change. Reviewers: krasimir Reviewed By: krasimir Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D34148 llvm-svn: 305298
-
Sam Clegg authored
This means that 'llvm-pdbutil' in test commands will resolve to the absolute path to the tool, in line with what happens already for other tools. This works either way because the bin directory is also prepended to the PATH. I'm not sure why both methods are used. Differential Revision: https://reviews.llvm.org/D34128 llvm-svn: 305297
-
Reid Kleckner authored
Summary: Expose the module descriptor index and fill it in for section contributions. Reviewers: zturner Subscribers: llvm-commits, ruiu, hiraditya Differential Revision: https://reviews.llvm.org/D34126 llvm-svn: 305296
-
Reid Kleckner authored
We have two .s test files in lld/test/COFF that weren't being run as part of check-lld. They both pass locally for me. llvm-svn: 305295
-
Gheorghe-Teodor Bercea authored
llvm-svn: 305294
-