summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* De-template elf::getObjMsg. NFC.Rui Ueyama2017-10-275-14/+8
| | | | llvm-svn: 316732
* De-template EhFrameSection. NFC.Rui Ueyama2017-10-274-57/+43
| | | | llvm-svn: 316731
* Make EhFrameHdr pull data from EhFrameSection. NFC.Rui Ueyama2017-10-272-31/+32
| | | | | | | | Previously, EhFrameSection pushes data to EhFrameHdr by calling addFde function. By making EhFrameHdr pull data from EhFrameSection, we can eliminate a member from EhFrameHdr. llvm-svn: 316730
* De-template a few functions. NFC.Rui Ueyama2017-10-271-23/+13
| | | | llvm-svn: 316729
* Default to using in-tree clang for building test executablesPavel Labath2017-10-274-33/+20
| | | | | | | | | | | | | | | | | | | | | Summary: Using the in-tree clang should be the default test configuration as that is the one compiler that we can be sure everyone has (better reproducibility of test results). Also, it should hopefully reduce the impact of pr35040. This also reduces the number of settings which control the compiler used. LLDB_TEST_C_COMPILER is used for C files and LLDB_TEST_CXX_COMPILER for C++ files. Both of the settings default to the in-tree clang. Reviewers: zturner Subscribers: mgorny, davide, lldb-commits Differential Revision: https://reviews.llvm.org/D39215 llvm-svn: 316728
* Add Arm Architecture plugin to the xcode project file.Jason Molenda2017-10-271-0/+24
| | | | llvm-svn: 316727
* Include an error code when getRandomBytes failed.Rui Ueyama2017-10-271-2/+2
| | | | | | | In a rare situation, the function can fail (e.g. it fails if it cannot open /dev/urandom.) llvm-svn: 316726
* Fix test/Driver/wasm-toolchain.c on windowsSam Clegg2017-10-271-2/+2
| | | | llvm-svn: 316725
* [Transforms] Fix some Clang-tidy modernize and Include What You Use ↵Eugene Zelenko2017-10-2715-190/+372
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 316724
* [CodeGen] Add support for IncompleteArrayType in Obj-C ivars.Volodymyr Sapsai2017-10-272-0/+33
| | | | | | | | | | | | | | | | | Fixes an assertion failure when ivar is a struct containing incomplete array. Also completes support for direct flexible array members. rdar://problem/21054495 Reviewers: rjmccall, theraven Reviewed By: rjmccall Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D38774 llvm-svn: 316723
* [PDB] Handle an empty globals hash table with no bucketsReid Kleckner2017-10-274-4/+13
| | | | llvm-svn: 316722
* Revert "[CGP] Merge empty case blocks if no extra moves are added."Balaram Makam2017-10-272-134/+13
| | | | | | This reverts commit r316711. The domtree isn't getting updated correctly. llvm-svn: 316721
* [LSan] Disable a couple of failing tests on PPC64 (pending investigation).Alex Shlyapnikov2017-10-272-2/+2
| | | | llvm-svn: 316720
* [WebAssembly] Include libclang_rt.builtins in the standard waySam Clegg2017-10-274-13/+11
| | | | | | Differential Revision: https://reviews.llvm.org/D39218 llvm-svn: 316719
* [X86] Add 'sse4' to X86TargetInfo::isValidFeatureNameCraig Topper2017-10-271-0/+1
| | | | | | sse4 is valid for target attribute and functions as an alias of sse4.2. llvm-svn: 316718
* [WebAssembly] MC: Don't allow zero sized data segmentsSam Clegg2017-10-272-2/+81
| | | | | | | | | | | This ensures that each segment has a unique address. Without this, consecutive zero sized symbols would end up with the same address and the linker cannot map symbols to unique data segments. Differential Revision: https://reviews.llvm.org/D39107 llvm-svn: 316717
* Remove an unnecessary inheritance.Rui Ueyama2017-10-263-6/+6
| | | | llvm-svn: 316716
* InstructionSelectorImpl.h: Modularize/remove ODR violations by using a ↵David Blaikie2017-10-265-100/+151
| | | | | | static member function to expose the debug name llvm-svn: 316715
* MCCodePadder.h: Include definition of type for use with DenseMapDavid Blaikie2017-10-261-1/+1
| | | | | | | | Pointer traits require a full definition of a type to function correctly, so the header must be included rather than only a forward declaration. llvm-svn: 316714
* Use -fuse-init-array if no gcc installation is found.Nico Weber2017-10-263-1/+12
| | | | | | | | | | | | | | | | clang currently uses .init_array instead of .ctors on Linux if it detects gcc 4.7+. Make it so that it also uses .init_array if no gcc installation is found at all – if there's no old gcc, there's nothing we need to be compatible with. icecc for example runs clang in a very small chroot, so before this change clang would use .ctors if run under icecc. And lld currently silently mislinks inputs with .ctors sections, so before this clang + icecc + lld would produce broken binaries. (But this seems like a good change independent of that lld bug.) https://reviews.llvm.org/D39317 llvm-svn: 316713
* [X86] Make -march=i686 an alias of -march=pentiumproCraig Topper2017-10-263-14/+5
| | | | | | | | I think the only reason they are different is because we don't set tune_i686 for -march=i686 to match GCC. But GCC 4.9.0 seems to have changed this behavior and they do set it now. So I think they can aliases now. Differential Revision: https://reviews.llvm.org/D39349 llvm-svn: 316712
* [CGP] Merge empty case blocks if no extra moves are added.Balaram Makam2017-10-262-13/+134
| | | | | | | | | | | | | | | | Summary: Currently we skip merging when extra moves may be added in the header of switch instead of the case block, if the case block is used as an incoming block of a PHI. If all the incoming values of the PHIs are non-constants and the destination block is dominated by the switch block then extra moves are likely not added by ISel, so there is no need to skip merging in this case. Reviewers: efriedma, junbuml, davidxl, hfinkel, qcolombet Reviewed By: efriedma Subscribers: dberlin, kuhar, mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D37343 llvm-svn: 316711
* Simplify.Rui Ueyama2017-10-261-3/+1
| | | | | | | Because of the same reason as r316600, I don't think we need a guard against empty relocations. llvm-svn: 316710
* [SimplifyIndVars] Shorten code by using SCEV helper [NFC]Philip Reames2017-10-261-7/+4
| | | | llvm-svn: 316709
* [ARM] Honor -mfloat-abi for libcall calling conventionEli Friedman2017-10-262-31/+36
| | | | | | | | | | | | | | | As far as I can tell, this matches gcc: -mfloat-abi determines the calling convention for all functions except those explicitly defined as soft-float in the ARM RTABI. This change only affects cases where the user specifies -mfloat-abi to override the default calling convention derived from the target triple. Fixes https://bugs.llvm.org//show_bug.cgi?id=34530. Differential Revision: https://reviews.llvm.org/D38299 llvm-svn: 316708
* Move bit operations to a new file, ELF/Bits.h.Rui Ueyama2017-10-262-13/+36
| | | | llvm-svn: 316707
* Support/reg*: Roll some non-modular headers into their singular usesDavid Blaikie2017-10-263-226/+135
| | | | | | | | These headers have static variables in them, which would easily create ODR violations if the header was included in another header, and the constants were used by an inline function, for example. llvm-svn: 316706
* [X86][Driver] Move all of the X86 feature flags to one spot in the ↵Craig Topper2017-10-261-121/+125
| | | | | | | | | | | | | | Options.td file and pair them up with their negations. It looks like at one time Options.td was in alphabetical order, but that looks to have long been broken. The result is that it all the no- x86 options got separated from their other friends for no good reason. This patch puts them all together in one place with the no- paired with its none negated version. I've kept all the SSE and AVX/AVX512 bits together since they represent a somewhat linear progression of features. The rest I just put in alphabetical order after. Differential Revision: https://reviews.llvm.org/D39341 llvm-svn: 316705
* [CGBlocks] Improve line info in backtraces containing *_helper_blockVedant Kumar2017-10-262-14/+15
| | | | | | | | | | | | | | | | | | Instead of only setting a non-zero debug location on the return instruction in *_helper_block functions, set a proper location on all instructions within these functions. Pick the start location of the block literal expr for maximum clarity. The debugger does not step into *_helper_block functions during normal single-stepping because we mark their parameters as artificial. This is what we want (the functions are implicitly generated and uninteresting to most users). The stepping behavior is unchanged by this patch. rdar://32907581 Differential Revision: https://reviews.llvm.org/D39310 llvm-svn: 316704
* Do not add discriminator encoding for debug intrinsics.Dehao Chen2017-10-263-7/+15
| | | | | | | | | | | | | | Summary: There are certain requirements for debug location of debug intrinsics, e.g. the scope of the DILocalVariable should be the same as the scope of its debug location. As a result, we should not add discriminator encoding for debug intrinsics. Reviewers: dblaikie, aprantl Reviewed By: aprantl Subscribers: JDevlieghere, aprantl, bjope, sanjoy, llvm-commits Differential Revision: https://reviews.llvm.org/D39343 llvm-svn: 316703
* [X86] Improve handling of UDIVREM8_ZEXT_HREG/SDIVREM8_SEXT_HREG to support ↵Craig Topper2017-10-263-18/+21
| | | | | | | | | | | | | | 64-bit extensions. If the extend type is 64-bits, emit a 32-bit -> 64-bit extend after the UDIVREM8_ZEXT_HREG/UDIVREM8_SEXT_HREG operation. This gives a shorter encoding for the second extend in the sext case, and allows us to completely remove the second extend in the zext case. This also adds known bit and num sign bits support for UDIVREM8_ZEXT_HREG/SDIVREM8_SEXT_HREG. Differential Revision: https://reviews.llvm.org/D38275 llvm-svn: 316702
* [www] Regenerate diagnostics reference.Richard Smith2017-10-261-128/+668
| | | | llvm-svn: 316701
* [X86] Teach the assembly parser to warn on duplicate registers in gather ↵Craig Topper2017-10-262-0/+90
| | | | | | | | | | instructions. Fixes PR32238. Differential Revision: https://reviews.llvm.org/D39077 llvm-svn: 316700
* [LICM] Restructure implicit exit handling to be more clear [NFCI]Philip Reames2017-10-261-27/+34
| | | | | | When going to explain this to someone else, I got tripped up by the complicated meaning of IsKnownNonEscapingObject in load-store promotion. Extract a helper routine and clarify naming/scopes to make this a bit more obvious. llvm-svn: 316699
* [LSan] Enable LSan tests on PPC64 Linux.Alex Shlyapnikov2017-10-263-2/+7
| | | | | | | | | | | | | | | Summary: LSan is functional on PPC64 Linux now, let's enable all tests. One test required ppc specific changes: use_registers.cc. Reviewers: eugenis Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D39316 llvm-svn: 316698
* [TableGen] Use Twine instead of std::string concatenation in two calls to ↵Craig Topper2017-10-261-4/+4
| | | | | | PrintFatalError. llvm-svn: 316697
* Support/reg*.h: Make headers include their dependenciesDavid Blaikie2017-10-263-0/+7
| | | | llvm-svn: 316696
* Fix C++ testcase I forgot to add to r316689.Adrian Prantl2017-10-261-1/+0
| | | | llvm-svn: 316695
* [GISel]: Missed checking if it's okay to create a G_CONSTANT of DstTy in the ↵Aditya Nandakumar2017-10-261-1/+2
| | | | | | legalizationCombiner llvm-svn: 316694
* [MinGW] Ignore the --enable-auto-import flagMartin Storsjo2017-10-261-0/+1
| | | | | | | | | | | | | | | In GNU ld, this option is enabled by default, but can be set to reduce some warnings. For lld, ignore the flag (for now); in case linking still succeeds everything should be fine, if not, it should be clear to the user what part failed (possibly requiring adjusting the user project to not rely on this feature), instead of straight out failing due to an unknown flag. Differential Revision: https://reviews.llvm.org/D39330 llvm-svn: 316693
* [MinGW] Support --out-implib=name in addition to "--out-implib name"Martin Storsjo2017-10-262-0/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D39329 llvm-svn: 316692
* [COFF] Add a test for def files with spaces between @ and ordinalMartin Storsjo2017-10-261-0/+5
| | | | | | Differential Revision: https://reviews.llvm.org/D39328 llvm-svn: 316691
* [COFF] Support ordinals in def files with space between @ and the numberMartin Storsjo2017-10-261-3/+8
| | | | | | | | | | Both GNU ld and MS link.exe support declaring ordinals this way. A test will be added in lld. Differential Revision: https://reviews.llvm.org/D39327 llvm-svn: 316690
* Simplify codegen and debug info generation for block context parameters.Adrian Prantl2017-10-265-96/+33
| | | | | | | | | | | | | | | | | | | | The exisiting code goes out of its way to put block parameters into an alloca only at -O0, and then describes the funciton argument with a dbg.declare, which is undocumented in the LLVM-CFE contract and does not actually behave as intended after LLVM r642022. This patch just generates the alloca unconditionally, the mem2reg pass will eliminate it at -O1 and up anyway and points the dbg.declare to the alloca as intended (which mem2reg will then correctly rewrite into a dbg.value). This reapplies r316684 with some dead code removed. rdar://problem/35043980 Differential Revision: https://reviews.llvm.org/D39305 llvm-svn: 316689
* Fix TestMinidump for r316673Pavel Labath2017-10-261-8/+8
| | | | | | | | | The test was asserting that we can only find one frame in the minidump. Now that we have the default unwind plan from the ABI plugin, we are able to find 5 more frames using the frame pointer chaining. Correct the expectation in the test. llvm-svn: 316688
* [Analyzer] [Tests] Write analyzers crashes to stdout, and not to a separate fileGeorge Karpenkov2017-10-261-20/+12
| | | | | | | With this change it would be sufficient to look at CI console to see the failure. llvm-svn: 316687
* Revert "Simplify codegen and debug info generation for block context ↵Adrian Prantl2017-10-265-34/+94
| | | | | | | | parameters." This reverts commit r316684 while investigating buildbot breakage. llvm-svn: 316686
* [x86] use an insert op to put one variable element into a constant of vectorsSanjay Patel2017-10-263-555/+195
| | | | | | | | Instead of loading (a potential ton of) scalar constants, load those as a vector and then insert into it. Differential Revision: https://reviews.llvm.org/D38756 llvm-svn: 316685
* Simplify codegen and debug info generation for block context parameters.Adrian Prantl2017-10-265-94/+34
| | | | | | | | | | | | | | | | | | The exisiting code goes out of its way to put block parameters into an alloca only at -O0, and then describes the funciton argument with a dbg.declare, which is undocumented in the LLVM-CFE contract and does not actually behave as intended after LLVM r642022. This patch just generates the alloca unconditionally, the mem2reg pass will eliminate it at -O1 and up anyway and points the dbg.declare to the alloca as intended (which mem2reg will then correctly rewrite into a dbg.value). rdar://problem/35043980 Differential Revision: https://reviews.llvm.org/D39305 llvm-svn: 316684
* [Sanitizers] Set default allocator_release_to_os_interval_ms to 5 secondsAlex Shlyapnikov2017-10-262-7/+13
| | | | | | | | | | | | | | | | | | | | | Summary: With new release to OS approach (see D38245) it's reasonable to enable it by default. Setting allocator_release_to_os_interval_ms to 5000 seems to be a reasonable default (might be tuned later, based on the feedback). Also delaying the first release to OS in each bucket for at least allocator_release_to_os_interval_ms after the first allocation to prevent just allocated memory to be madvised back to OS and let short lived processes to avoid release to OS overhead altogether. Reviewers: cryptoad Subscribers: kubamracek, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D39318 llvm-svn: 316683
OpenPOWER on IntegriCloud