summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* AMDGPU: Use rcp for fdiv 1, x with fpmath metadataMatt Arsenault2016-07-264-19/+95
| | | | | | | Using rcp should be OK for safe math usually, so this should not be replacing the original fdiv. llvm-svn: 276823
* Revert r276136 "Use ValueOffsetPair to enhance value reuse during SCEV ↵Hans Wennborg2016-07-265-147/+36
| | | | | | | | | | expansion." It causes Clang tests to fail after Windows self-host (PR28705). (Also reverts follow-up r276139.) llvm-svn: 276822
* AMDGPU: Add more tests for LDS size with occupancyMatt Arsenault2016-07-261-2/+149
| | | | llvm-svn: 276821
* [docs] Fix a sphinx error in llvm-cov.rstVedant Kumar2016-07-261-0/+4
| | | | | | | | | | Failing bot: http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/12025 Fix tested with `ninja docs-llvm-html`. llvm-svn: 276820
* AMDGPU: Use implicit_def for selecting anyextMatt Arsenault2016-07-261-4/+7
| | | | llvm-svn: 276819
* Retry: [llvm-cov] Add support for exporting coverage data to JSONVedant Kumar2016-07-2617-4/+758
| | | | | | | | | | | | | | | | | | | | | | | | This enables users to export coverage information as portable JSON for use by analysis tools and storage in document based databases. The export sub-command is invoked just like the others: llvm-cov export -instr-profile path/to/foo.profdata path/to/foo.binary The resulting JSON contains a list of files and functions. Every file object contains a list of segments, expansions, and a summary of the file's region, function, and line coverage. Every function object contains the function's name and regions. There is also a total summary for the entire object file. Changes since the initial commit (r276813): - Fixed the regexes in the tests to handle Windows filepaths. Patch by Eddie Hurtig! Differential Revision: https://reviews.llvm.org/D22651 llvm-svn: 276818
* docs: Add reference to type metadata to langref.Peter Collingbourne2016-07-261-0/+4
| | | | llvm-svn: 276817
* Revert "[llvm-cov] Add support for exporting coverage data to JSON"Vedant Kumar2016-07-2617-759/+4
| | | | | | | | | This reverts commit r276813. The Windows bots are complaining about some of the filename regexes in the tests: http://bb.pgr.jp/builders/ninja-clang-i686-msc19-R/builds/5299 llvm-svn: 276816
* MIRParser: Use dot instead of colon to mark subregistersMatthias Braun2016-07-2612-101/+109
| | | | | | | | | | | | | | | | | Change the syntax to use `%0.sub8` to denote a subregister. This seems like a more natural fit to denote subregisters; I also plan to introduce a new ":classname" syntax in upcoming patches to denote the register class of a vreg. Note that this commit disallows plain identifiers to start with a '.' character. This shouldn't affect anything as external names/IR references are all prefixed with '$'/'%', plain identifiers are only used for instruction names, register mask names and subreg indexes. Differential Revision: https://reviews.llvm.org/D22390 llvm-svn: 276815
* Fix LLDBConfig.cmake to enable python enabled build for all 64 bit lldb targetsOmair Javaid2016-07-261-6/+0
| | | | | | Differential revision: https://reviews.llvm.org/D22771 llvm-svn: 276814
* [llvm-cov] Add support for exporting coverage data to JSONVedant Kumar2016-07-2617-4/+759
| | | | | | | | | | | | | | | | | | | | This enables users to export coverage information as portable JSON for use by analysis tools and storage in document based databases. The export sub-command is invoked just like the others: llvm-cov export -instr-profile path/to/foo.profdata path/to/foo.binary The resulting JSON contains a list of files and functions. Every file object contains a list of segments, expansions, and a summary of the file's region, function, and line coverage. Every function object contains the function's name and regions. There is also a total summary for the entire object file. Patch by Eddie Hurtig! Differential Revision: https://reviews.llvm.org/D22651 llvm-svn: 276813
* [ELF][MIPS] Attempt to fix Windows buildbotSimon Atanasyan2016-07-261-2/+2
| | | | llvm-svn: 276812
* Move code for MIPS from createInputSection to initializeSections.Rui Ueyama2016-07-261-13/+8
| | | | | | | | | We already have code for ARM in initializeSections, so this is more consistent. Differential Revision: https://reviews.llvm.org/D22833 llvm-svn: 276811
* [ELF][MIPS] Replace binary test input file by asembler code in the test. NFCSimon Atanasyan2016-07-263-31/+39
| | | | llvm-svn: 276809
* [ELF][MIPS] Do not emit .got section in case of relocatable outputSimon Atanasyan2016-07-262-2/+23
| | | | llvm-svn: 276808
* [ELF][MIPS] Use section type to recognize .reginfo and .MIPS.options sectionsSimon Atanasyan2016-07-261-3/+3
| | | | | | It is faster and more correct method than string comparision. llvm-svn: 276807
* Fix docs/Coroutines.rst syntax highlighting on LinuxSanjoy Das2016-07-261-5/+5
| | | | | | | | | | | | | Summary: s/code-block:: C++/code-block:: c++ in docs/Coroutines.rst . Patch by Gor Nishanov! Edited by Sanjoy to fix a missing s/C/c/. Reviewers: sanjoy, rengolin Differential Revision: https://reviews.llvm.org/D22832 llvm-svn: 276806
* AMDGPU/R600: Remove dead custom insertersMatt Arsenault2016-07-261-209/+1
| | | | | | The intrinsics for these were removed, so this is dead. llvm-svn: 276805
* AMDGPU: Minor AsmPrinter cleanupsMatt Arsenault2016-07-261-79/+84
| | | | llvm-svn: 276804
* [asan] Remove zero FSR check on ARM.Evgeniy Stepanov2016-07-261-4/+0
| | | | | | | | | | The kernel on Nexus 5X returns error_code in ucontext which has correct FSR_WRITE flag, but empty (zero) abort type field. Removing the checks means that we will report all SEGVs as READ on very old kernels, but will properly distinguish READ vs WRITE on moderately old ones. llvm-svn: 276803
* [asan] Hardcode page size 4096 on Android.Evgeniy Stepanov2016-07-261-2/+3
| | | | | | | EXEC_PAGESIZE lies. sysconf() is broken in .preinit_array. llvm-svn: 276802
* [Hexagon] Post-increment loads/stores enhancementsKrzysztof Parzyszek2016-07-266-112/+168
| | | | | | | - Generate vector post-increment stores more aggressively. - Predicate post-increment and vector stores in early if-conversion. llvm-svn: 276800
* GlobalISel: add generic load and store instructions.Tim Northover2016-07-267-1/+162
| | | | | | | Pretty straightforward, the only oddity is the MachineMemOperand (which it's surprisingly difficult to share code for). llvm-svn: 276799
* [X86] Split out absdiff detection from SAD combine. NFC.Michael Kuperstein2016-07-261-59/+64
| | | | | | Preparation for supporting PSADBW emission for straight-line code. llvm-svn: 276798
* Modules: follow up to r276769.Manman Ren2016-07-261-0/+1
| | | | | | | | In r276769, I forgot to forward the driver option, add that here. rdar://26675801 llvm-svn: 276797
* The ARM single-step handling needs to look for breakpoint on the next ↵Jim Ingham2016-07-261-1/+2
| | | | | | | | instruction. <rdar://problem/27006685> llvm-svn: 276796
* Check both private & public states to decide if you need to halt before killing.Jim Ingham2016-07-261-1/+4
| | | | | | | | | | We were just checking the public state, but that meant if you were hung in a long running hand-called function, we wouldn't know to interrupt the process, and we would not succeed in killing it. <rdar://problem/24805082> llvm-svn: 276795
* Remove return type that can trivially be inferred.Rui Ueyama2016-07-261-1/+1
| | | | llvm-svn: 276794
* [Hexagon] Gracefully handle reg class mismatch in HexagonLoopRescheduleKrzysztof Parzyszek2016-07-262-13/+49
| | | | llvm-svn: 276793
* [Hexagon] Rerun bit tracker on new instructions in RIEKrzysztof Parzyszek2016-07-264-5/+225
| | | | | | | | | | | | | | | | | | | Consider this case: vreg1 = A2_zxth vreg0 (1) ... vreg2 = A2_zxth vreg1 (2) Redundant instruction elimination could delete the instruction (1) because the user (2) only cares about the low 16 bits. Then it could delete (2) because the input is already zero-extended. The problem is that the properties allowing each individual instruction to be deleted depend on the existence of the other instruction, so either one can be deleted, but not both. The existing check for this situation in RIE was insufficient. The fix is to update all dependent cells when an instruction is removed (replaced via COPY) in RIE. llvm-svn: 276792
* [analyzer] Hotfix for build failure due to declaration shadowing in r276782.Artem Dergachev2016-07-261-3/+3
| | | | | | | CloneDetector member variable is shadowing the class with the same name, which causes build failures on some platforms. llvm-svn: 276791
* [ELF] - replace error() with llvm_unreachable. George Rimar2016-07-261-1/+1
| | | | llvm-svn: 276790
* Attemp to fix build bot:George Rimar2016-07-261-0/+2
| | | | | | http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/25329/steps/build_Lld llvm-svn: 276789
* Add link to the Hexagon documentationKrzysztof Parzyszek2016-07-261-0/+5
| | | | llvm-svn: 276788
* [Hexagon] Bitwise operations for insert/extract word not simplifiedKrzysztof Parzyszek2016-07-264-29/+132
| | | | | | | Change the bit simplifier to generate REG_SEQUENCE instructions in addition to COPY, which will handle cases of word insert/extract. llvm-svn: 276787
* Fix NVPTX/call-with-alloca-buffer.ll after r276777.Justin Lebar2016-07-261-4/+2
| | | | | | | r276777 makes InstSimplify stronger, letting it see through some unnecessary addrspace casts. llvm-svn: 276786
* MIRParser: Use shorter cfi identifiersMatthias Braun2016-07-2620-75/+75
| | | | | | | | | | | | | | | | In an instruction like: CFI_INSTRUCTION .cfi_def_cfa ... we can drop the '.cfi_' prefix since that should be obvious by the context: CFI_INSTRUCTION def_cfa ... While being a terser and cleaner syntax this also prepares to dropping support for identifiers starting with a dot character so we can use it for expressions. Differential Revision: http://reviews.llvm.org/D22388 llvm-svn: 276785
* [ELF] Linkerscript: symbol assignments with indentifiers on the right side ↵George Rimar2016-07-262-3/+61
| | | | | | | | | | | | | | | | of expression. In symbol assignments symbol may appear on the right-hand side of the expression: (https://svnweb.freebsd.org/base/head/sys/conf/ldscript.amd64?revision=284870&view=markup#l8) kernphys = CONSTANT (MAXPAGESIZE); . = kernbase + kernphys + SIZEOF_HEADERS; Patch implements that. Differential revision: https://reviews.llvm.org/D22759 llvm-svn: 276784
* [MC] Don't crash when trying to emit a relocation against .bss.Davide Italiano2016-07-262-2/+11
| | | | | | Turn that into an error instead. llvm-svn: 276783
* [analyzer] Add basic capabilities to detect source code clones.Artem Dergachev2016-07-2611-0/+753
| | | | | | | | | | | | | | | | | | | | | This patch adds the CloneDetector class which allows searching source code for clones. For every statement or group of statements within a compound statement, CloneDetector computes a hash value, and finds clones by detecting identical hash values. This initial patch only provides a simple hashing mechanism that hashes the kind of each sub-statement. This patch also adds CloneChecker - a simple static analyzer checker that uses CloneDetector to report copy-pasted code. Patch by Raphael Isemann! Differential Revision: https://reviews.llvm.org/D20795 llvm-svn: 276782
* [CMAKE] Find ld64 using xcrunBruno Cardoso Lopes2016-07-261-2/+13
| | | | | | | | | | | | | | | | Given similar reasons from r276710, ld64 scrubs DYLD_* environment if called from the shim executable /usr/bin/ld. Add support for finding ld64 via xcrun. This is needed in order to get LIT to have the full path to the ld4 executable. Differential Revision: https://reviews.llvm.org/D22791 rdar://problem/24300926 llvm-svn: 276781
* [ELF] - Linkerscript: implemented ALIGN modificatior of output sections.George Rimar2016-07-263-0/+34
| | | | | | | | | | | Output section description can contain ALIGN modificator: https://sourceware.org/binutils/docs/ld/Output-Section-Description.html#Output-Section-Description Patch implements it. Differential revision: https://reviews.llvm.org/D22674 llvm-svn: 276780
* [sanitizer] Try to fix LargeMmapAllocator test on WindowsReid Kleckner2016-07-261-2/+4
| | | | | | | | | | | | | This test attempts to allocate 100 512MB aligned pages of memory. This is implemented in the usual way by allocating size + alignment bytes and aligning the result. As a result, this test allocates 51.2GB of memory. Windows allocates swap for all memory allocated, and our bots do not have this much swap available. Avoid the failure by using a more reasonable alignment, like 16MB, as we do on 32-bit. llvm-svn: 276779
* [ELF] Linkerscript: implement DATA_SEGMENT_RELRO_END.George Rimar2016-07-263-0/+90
| | | | | | | | | | | | | | | | | | | | In compare with what GNU linkers do (https://sourceware.org/binutils/docs/ld/Builtin-Functions.html), this implementation simple: Do not touch DATA_SEGMENT_ALIGN, it do what it do now - just aligns to the page boundary. Parameters of DATA_SEGMENT_RELRO_END is ignored. That should be correct as it is usually just a 24 bytes shift that allows to protect first 3 entries of got.plt with relro. (https://svnweb.freebsd.org/base/head/sys/conf/ldscript.amd64?revision=284870&view=markup#l146). DATA_SEGMENT_RELRO_END just aligns to the page boundary. That is what expected because all sections that are not affected by relro should be on another memory page. So at fact the difference with documented behavior is that we do not pad DATA_SEGMENT_ALIGN. 3 entries of got.plt are uncovered by relro, but functionality is simple and equal to lld behavior for case when script is not given. Differential revision: https://reviews.llvm.org/D22813 llvm-svn: 276778
* [InstSimplify] Cast folding can be made more genericDavid Majnemer2016-07-263-61/+51
| | | | | | Use isEliminableCastPair to determine if a pair of casts are foldable. llvm-svn: 276777
* [LoopUtils] Sort headersAdam Nemet2016-07-261-3/+4
| | | | llvm-svn: 276776
* GlobalISel: add correct operand type to G_FRAME_INDEX instrs.Tim Northover2016-07-262-4/+4
| | | | | | Frame indices should use "addFrameIndex", not "addImm". llvm-svn: 276775
* Add `static` to a function that is used only in one file.Rui Ueyama2016-07-262-9/+3
| | | | llvm-svn: 276774
* [Hexagon] Add support for proper handling of H and L constraintsKrzysztof Parzyszek2016-07-262-8/+32
| | | | | | | | | H -> High part of reg pair. L -> Low part of reg pair. Patch by Sundeep Kushwaha. llvm-svn: 276773
* GlobalISel: omit braces on MachineInstr types when there's only one.Tim Northover2016-07-267-60/+67
| | | | | | Tidies up the representation a bit in the common case. llvm-svn: 276772
OpenPOWER on IntegriCloud