summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Test commit accessMichael Wu2018-08-021-1/+0
| | | | llvm-svn: 338675
* [AArch64] Add support for got relocated LDR'sDavid Green2018-08-024-0/+16
| | | | | | | | | | As a part of adding the tiny codemodel, we need to support ldr's with :got: relocations on them. This seems to be mostly already done, just needs the relocation type support. Differential Revision: https://reviews.llvm.org/D50137 llvm-svn: 338673
* Test commit.Kito Cheng2018-08-021-1/+1
| | | | llvm-svn: 338672
* [LICM] Factor out fault legality from canHoistOrSinkInst [NFC]Philip Reames2018-08-023-25/+25
| | | | | | | | | This method has three callers, each of which wanted distinct handling: 1) Sinking into a loop is moving an instruction known to execute before a loop into the loop. We don't need to worry about introducing a fault at all in this case. 2) Hoisting from a loop into a preheader already duplicated the check in the caller. 3) Sinking from the loop into an exit block was the only true user of the code within the routine. For the moment, this has just been lifted into the caller, but up next is examining the logic more carefully. Whitelisting of loads and calls - while consistent with the previous code - is rather suspicious. Either way, a behavior change is worthy of it's own patch. llvm-svn: 338671
* [LICM] Expand tests to highlight an oddity in sinking implementationPhilip Reames2018-08-021-0/+33
| | | | llvm-svn: 338670
* Added missing highlighter files to XCode projectRaphael Isemann2018-08-021-0/+16
| | | | llvm-svn: 338669
* Implement P1023: constexpr comparison operators for std::arrayMarshall Clow2018-08-023-10/+56
| | | | llvm-svn: 338668
* [analyzer] Extend NoStoreFuncVisitor to follow fields.George Karpenkov2018-08-024-131/+423
| | | | | | | | rdar://39701823 Differential Revision: https://reviews.llvm.org/D49901 llvm-svn: 338667
* Implement P0887: The identity metafunctionMarshall Clow2018-08-022-0/+50
| | | | llvm-svn: 338666
* Fix FCOPYSIGN expansionLei Liu2018-08-022-19/+34
| | | | | | | | | | | | In expansion of FCOPYSIGN, the shift node is missing when the two operands of FCOPYSIGN are of the same size. We should always generate shift node (if the required shift bit is not zero) to put the sign bit into the right position, regardless of the size of underlying types. Differential Revision: https://reviews.llvm.org/D49973 llvm-svn: 338665
* Pass triple to RUN line to fix failing bots.Akira Hatanaka2018-08-021-2/+2
| | | | | | This is a follow-up to r338656. llvm-svn: 338664
* [LICM] hoisting/sinking legality - bail early for unsupported instructionsPhilip Reames2018-08-021-8/+19
| | | | | | Originally, this was part of a larger refactoring I'd planned, but had to abandoned. I figured the minor improvement in readability was worthwhile. llvm-svn: 338663
* [LLDB] Added syntax highlighting supportRaphael Isemann2018-08-0231-8/+942
| | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds syntax highlighting support to LLDB. When enabled (and lldb is allowed to use colors), printed source code is annotated with the ANSI color escape sequences. So far we have only one highlighter which is based on Clang and is responsible for all languages that are supported by Clang. It essentially just runs the raw lexer over the input and then surrounds the specific tokens with the configured escape sequences. Reviewers: zturner, davide Reviewed By: davide Subscribers: labath, teemperor, llvm-commits, mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D49334 llvm-svn: 338662
* [libFuzzer] use absolute distance in addition to the hamming distance in ↵Kostya Serebryany2018-08-022-11/+6
| | | | | | value profiling; our A/B testing have (somewhat weak) indication that this provides an additional signal for corpus expansion llvm-svn: 338661
* [ADT] Add some documentation for GraphTraits.Tim Shen2018-08-021-0/+7
| | | | | | | | | | | | Summary: Add some context for GraphTraits. Reviewers: dblaikie, asbirlea Subscribers: sanjoy, jlebar, bixia, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D50120 llvm-svn: 338660
* [JSONExporter] Print instead of ignoring parser error.Michael Kruse2018-08-021-2/+3
| | | | | | | | | | | Silence the warning warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result] JSONExporter is a developer tool, there is no mechanism for error handling. Print the parser error and abort with a fatal error. llvm-svn: 338659
* [PowerPC] Do not round values prior to converting to integerNemanja Ivanovic2018-08-023-207/+258
| | | | | | | | | | | | | | | Adding the FP_ROUND nodes when combining FP_TO_[SU]INT of elements feeding a BUILD_VECTOR into an FP_TO_[SU]INT of the built vector loses precision. This patch removes the code that adds these nodes to true f64 operands. It also adds patterns required to ensure the code is still vectorized rather than converting individual elements and inserting into a vector. Fixes https://bugs.llvm.org/show_bug.cgi?id=38342 Differential Revision: https://reviews.llvm.org/D50121 llvm-svn: 338658
* Remove unnecessary target from TestCompletion patchRaphael Isemann2018-08-011-1/+0
| | | | | | | | | | As Jim pointed out, we don't need to manually create a target here because we already create a target implicitly in the very next line (which means we just created a target and don't use it). This patch just removes the line that creates the first unused target. llvm-svn: 338657
* Serialize DoesNotEscape.Akira Hatanaka2018-08-014-0/+32
| | | | | | I forgot to commit this in r326530. llvm-svn: 338656
* [AArch64] DWARF: do not generate AT_location for thread localLei Liu2018-08-014-0/+50
| | | | | | | | | | | | | | | AArch64 ELF ABI does not define a static relocation type for TLS offset within a module, which makes it impossible for compiler to generate a valid DW_AT_location content for thread local variables. Currently LLVM generates an invalid R_AARCH64_ABS64 relocation at the DW_AT_location field for a TLS variable. That causes trouble for linker because thread local variable does not have an absolute address at link time. AArch64 GCC solves the problem by not generating DW_AT_location for thread local variables. We should do the same in LLVM. Differential Revision: https://reviews.llvm.org/D43860 llvm-svn: 338655
* Add maybe-unused attribute to a variable.Nick Desaulniers2018-08-011-0/+1
| | | | | | | | | | | | | | | | | Summary: Mark a variable as maybe-unused to prevent a -Wunused-but-set-variable warning in optimized builds where asserts are removed.Test/first commit to check setup and understand patch submission process. Reviewers: srhines, pirama, dblaikie Reviewed By: dblaikie Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D49756 llvm-svn: 338654
* Reland r338431: "Add DebugCounters to DivRemPairs"George Burgess IV2018-08-012-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | | (Previously reverted in r338442) I'm told that the breakage came from us using an x86 triple on configs that didn't have x86 enabled. This is remedied by moving the debugcounter test to an x86 directory (where there's also a opt-bisect-isel.ll test for similar reasons). I can't repro the reverse-iteration failure mentioned in the revert with this patch, so I assume that a misconfiguration on my end is what caused that. Original commit message: Add DebugCounters to DivRemPairs For people who don't use DebugCounters, NFCI. Patch by Zhizhou Yang! Differential Revision: https://reviews.llvm.org/D50033 llvm-svn: 338653
* [InstSimplify] move minnum/maxnum with same arg fold from instcombineSanjay Patel2018-08-015-22/+22
| | | | llvm-svn: 338652
* Load from the GOT for external symbols in the large, PIC code modelReid Kleckner2018-08-012-1/+92
| | | | | | | | | Do the same handling for external symbols that we do for jump table symbols and global values. Fixes one of the cases in PR38385 llvm-svn: 338651
* [ASAN] Use the correct shadow offset for ASAN on FreeBSD/mips64.John Baldwin2018-08-012-1/+13
| | | | | | | | Reviewed By: atanasyan Differential Revision: https://reviews.llvm.org/D49939 llvm-svn: 338650
* [ORC] Add a 'Callable' flag to JITSymbolFlags.Lang Hames2018-08-018-45/+91
| | | | | | | | | | | | | The callable flag can be used to indicate that a symbol is callable. If present, the symbol is callable. If absent, the symbol may or may not be callable (the client must determine this by context, for example by examining the program representation that will provide the symbol definition). This flag will be used in the near future to enable creation of lazy compilation stubs based on SymbolFlagsMap instances only (without having to provide additional information to determine which symbols need stubs). llvm-svn: 338649
* [AST] Remove the static_assert check in ObjCMethodDecl::ObjCMethodDeclVlad Tsyrklevich2018-08-011-7/+0
| | | | | | | | | | | | | | Summary: This check was introduced by r338641 but this broke some builds. For now remove it. Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D50163 llvm-svn: 338648
* Re-submit r338596 with a bug fix and a test.Rui Ueyama2018-08-012-7/+5
| | | | llvm-svn: 338647
* [ScopBuilder] Set domain to empty instead of NULL.Michael Kruse2018-08-013-3/+42
| | | | | | | | | | | | | | The domain generation used nullptr to mark the domain of an error block as never-executed. Later, nullptr domains are recreated with a zero-tuple domain that then mismatches with the expected domain the error block within the loop. Instead of using nullptr, assign an empty domain which preserves the expected space. Remove empty domains during SCoP simplification. Fixes llvm.org/PR38218. llvm-svn: 338646
* Fix -Wcovered-switch-default uncovered after r338630Reid Kleckner2018-08-011-1/+1
| | | | llvm-svn: 338643
* Update for DWARF API changeReid Kleckner2018-08-012-3/+3
| | | | llvm-svn: 338642
* [AST][4/4] Move the bit-fields from ObjCMethodDecl and ObjCContainerDecl ↵Erich Keane2018-08-015-125/+134
| | | | | | | | | | | | | | | | | into DeclContext This patch follows https://reviews.llvm.org/D49729, https://reviews.llvm.org/D49732 and https://reviews.llvm.org/D49733. Move the bits from ObjCMethodDecl and ObjCContainerDecl into DeclContext. Differential Revision: https://reviews.llvm.org/D49734 Patch By: bricci llvm-svn: 338641
* [NFC][CodeGenCXX] Use -emit-llvm-only instead of -emit-llvm and ignoring it.Roman Lebedev2018-08-011-1/+1
| | | | | | As pointed out by Richard Smith in post-review of r338489. llvm-svn: 338640
* [AST][3/4] Move the bit-fields from BlockDecl, LinkageSpecDecl and ↵Erich Keane2018-08-016-53/+69
| | | | | | | | | | | | | | | | | OMPDeclareReductionDecl into DeclContext This patch follows https://reviews.llvm.org/D49729 and https://reviews.llvm.org/D49732, and is followed by https://reviews.llvm.org/D49734. Move the bits from BlockDecl, LinkageSpecDecl and OMPDeclareReductionDecl into DeclContext. Differential Revision: https://reviews.llvm.org/D49733 Patch By: bricci llvm-svn: 338639
* [DWARFASTParser] Remove special cases for `llvm-gcc`Davide Italiano2018-08-011-26/+3
| | | | | | | | Reviewed by: aprantl, labath. Differential Revision: https://reviews.llvm.org/D48500 llvm-svn: 338638
* Fix out-of-bounds read in Stream::PutCStringAsRawHex8Raphael Isemann2018-08-012-2/+5
| | | | | | | | | | | | | | | | | | | | | Summary: When I added the Stream unit test (r338488), the build bots failed due to an out-of- bound reads when passing an empty string to the PutCStringAsRawHex8 method. In r338491 I removed the test case to fix the bots. This patch fixes this in PutCStringAsRawHex8 by always checking for the terminating null character in the given string (instead of skipping it the first time). It also re-adds the test case I removed. Reviewers: vsk Reviewed By: vsk Subscribers: vsk, lldb-commits Differential Revision: https://reviews.llvm.org/D50149 llvm-svn: 338637
* [AST][2/4] Move the bit-fields from FunctionDecl and CXXConstructorDecl into ↵Erich Keane2018-08-016-212/+269
| | | | | | | | | | | | | | | | | DeclContext This patch follows https://reviews.llvm.org/D49729 and is followed by https://reviews.llvm.org/D49733 and https://reviews.llvm.org/D49734. Move the bits from FunctionDecl and CXXConstructorDecl into DeclContext. Differential Revision: https://reviews.llvm.org/D49732 Patch By: bricci llvm-svn: 338636
* [llvm-objcopy] Add missing -I command line flag alias for --input-targetJordan Rupprecht2018-08-011-0/+1
| | | | llvm-svn: 338635
* [DebugInfo/DWARF] [4/4] Unify handling of compile and type units. NFCPaul Robinson2018-08-014-85/+119
| | | | | | | | | | | | | | | | | | This is patch 4 of 4 NFC refactorings to handle type units and compile units more consistently and with less concern about the object-file section that they came from. Patch 4 combines separate DWARFUnitVectors for compile and type units into a single DWARFUnitVector that contains both. For now the implementation distinguishes compile units from type units by putting all compile units at the front of the vector, reflecting the DWARF v4 distinction between .debug_info and .debug_types sections. A future patch will change this to allow the free mixing of unit kinds, as is specified by DWARF v5. Differential Revision: https://reviews.llvm.org/D49744 llvm-svn: 338633
* [DebugInfo/DWARF] [3/4] Rename DWARFUnitSection to DWARFUnitVector. NFCPaul Robinson2018-08-018-33/+33
| | | | | | | | | | | | | This is patch 3 of 4 NFC refactorings to handle type units and compile units more consistently and with less concern about the object-file section that they came from. Patch 3 simply renames DWARFUnitSection to DWARFUnitVector, as the object-file section of a unit is nearly irrelevant now. Differential Revision: https://reviews.llvm.org/D49743 llvm-svn: 338632
* AMDGPU: Use SPseudoInst helperMatt Arsenault2018-08-011-8/+5
| | | | llvm-svn: 338631
* [AST][1/4] Move the bit-fields from TagDecl, EnumDecl and RecordDecl into ↵Erich Keane2018-08-019-312/+775
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DeclContext DeclContext has a little less than 8 bytes free due to the alignment requirements on 64 bits archs. This set of patches moves the bit-fields from classes deriving from DeclContext into DeclContext. On 32 bits archs this increases the size of DeclContext by 4 bytes but this is balanced by an equal or larger reduction in the size of the classes deriving from it. On 64 bits archs the size of DeclContext stays the same but most of the classes deriving from it shrink by 8/16 bytes. (-print-stats diff here https://reviews.llvm.org/D49728) When doing an -fsyntax-only on all of Boost this result in a 3.6% reduction in the size of all Decls and a 1% reduction in the run time due to the lower cache miss rate. For now CXXRecordDecl is not touched but there is an easy 6 (if I count correctly) bytes gain available there by moving some bits from DefinitionData into the free space of DeclContext. This will be the subject of another patch. This patch sequence also enable the possibility of refactoring FunctionDecl: To save space some bits from classes deriving from FunctionDecl were moved to FunctionDecl. This resulted in a lot of stuff in FunctionDecl which do not belong logically to it. After this set of patches however it is just a simple matter of adding a SomethingDeclBitfields in DeclContext and moving the bits to it from FunctionDecl. This first patch introduces the anonymous union in DeclContext and all the *DeclBitfields classes holding the bit-fields, and moves the bits from TagDecl, EnumDecl and RecordDecl into DeclContext. This patch is followed by https://reviews.llvm.org/D49732, https://reviews.llvm.org/D49733 and https://reviews.llvm.org/D49734. Differential Revision: https://reviews.llvm.org/D49729 Patch By: bricci llvm-svn: 338630
* [DebugInfo/DWARF] [2/4] Type units no longer in a std::deque. NFCPaul Robinson2018-08-017-100/+103
| | | | | | | | | | | | | | This is patch 2 of 4 NFC refactorings to handle type units and compile units more consistently and with less concern about the object-file section that they came from. Patch 2 takes the existing std::deque<DWARFUnitSection> for type units and makes it a simple DWARFUnitSection, simplifying the handling of type units and making it more consistent with compile units. Differential Revision: https://reviews.llvm.org/D49742 llvm-svn: 338629
* [DebugInfo/DWARF] [1/4] De-templatize DWARFUnitSection. NFCPaul Robinson2018-08-0110-168/+181
| | | | | | | | | | | | | | | This is patch 1 of 4 NFC refactorings to handle type units and compile units more consistently and with less concern about the object-file section that they came from. Patch 1 replaces the templated DWARFUnitSection with a non-templated version. That is, instead of being a SmallVector of pointers to a specific unit kind, it is not a SmallVector of pointers to the base class for both type and compile units. Virtual methods are magic. Differential Revision: https://reviews.llvm.org/D49741 llvm-svn: 338628
* [test] Fix %hmaptool path for standalone buildsMichal Gorny2018-08-011-1/+1
| | | | | | | | | | Fix %hmaptool path to refer to clang_tools_dir instead of llvm_tools_dir, in order to fix standalone builds. The tool is built as part of clang, so it won't be found in installed LLVM tools. Differential Revision: https://reviews.llvm.org/D50156 llvm-svn: 338627
* AMDGPU: Improve hack for packing conversion opsMatt Arsenault2018-08-018-50/+97
| | | | | | | | | | | Mutate the node type during selection when it doesn't matter. This avoids an intermediate bitcast node on targets with legal i16/f16. Also fixes missing output modifiers on v_cvt_pkrtz_f32_f16, which I assume are OK. llvm-svn: 338619
* AMDGPU: Partially fix handling of packed amdgpu_ps argumentsMatt Arsenault2018-08-013-69/+95
| | | | | | | | Fixes annoying limitations when writing tests. Also remove more leftover code for manually scalarizing arguments and return values. llvm-svn: 338618
* [WebAssembly] Support for a ternary atomic RMW instructionHeejin Ahn2018-08-016-0/+1009
| | | | | | | | | | | | Summary: This adds support for a ternary atomic RMW instruction: cmpxchg. Reviewers: dschuff Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D49195 llvm-svn: 338617
* [DEBUGINFO] Disable emission of the dwarf sections, but allow directives.Alexey Bataev2018-08-018-3/+103
| | | | | | | | | | | | | | | | Summary: Added an option that allows to emit only '.loc' and '.file' kind debug directives, but disables emission of the DWARF sections. Required for NVPTX target to support profiling. It requires '.loc' and '.file' directives, but does not require any DWARF sections for the profiler. Reviewers: probinson, echristo, dblaikie Subscribers: aprantl, JDevlieghere, llvm-commits Differential Revision: https://reviews.llvm.org/D46021 llvm-svn: 338616
* lld-link: Remove /msvclto optionNico Weber2018-08-017-240/+0
| | | | | | | | | | | This was useful for LTO bringup in lld-link while lld couldn't write PDBs. Now that it can, this should no longer be needed. Hopefully the flag is obscure enough and recent enough, that nobody uses it – but if somebody should use it, they should be able to just stop passing it and things should continue to work. https://reviews.llvm.org/D50139 llvm-svn: 338615
OpenPOWER on IntegriCloud