summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Adding an AST matcher to ignore parenthesis in *types* (rather than ↵Aaron Ballman2016-06-064-0/+39
| | | | | | expressions). This is required for traversing certain types (like function pointer types). llvm-svn: 271927
* [pdbdump] Print out New FPO stream contents.Rui Ueyama2016-06-069-2/+116
| | | | | | | | | | The data strucutre in the new FPO stream is described in the PE/COFF spec. There is one record per function if frame pointer is omitted. Differential Revision: http://reviews.llvm.org/D20999 llvm-svn: 271926
* [MBP] Reduce code size by running tail merging in MBP.Haicheng Wu2016-06-065-26/+156
| | | | | | | | | | | | | The code layout that TailMerging (inside BranchFolding) works on is not the final layout optimized based on the branch probability. Generally, after BlockPlacement, many new merging opportunities emerge. This patch calls Tail Merging after MBP and calls MBP again if Tail Merging merges anything. Differential Revision: http://reviews.llvm.org/D20276 llvm-svn: 271925
* [Kaleidoscope][BuildingAJIT] Fix hyphenation in chapter 2 title.Lang Hames2016-06-061-3/+3
| | | | llvm-svn: 271924
* [BranchFolding] Replace MachineBlockFrequencyInfo with MBFIWrapper. NFC.Haicheng Wu2016-06-063-9/+29
| | | | | | Differential Revision: http://reviews.llvm.org/D20184 llvm-svn: 271923
* [profile] code cleanup /NFCXinliang David Li2016-06-063-22/+31
| | | | | | | Address review feedback for better readability. llvm-svn: 271922
* [cpu-detection] Substantial refactor of Host CPU detection code (x86)Alina Sbirlea2016-06-061-261/+650
| | | | | | | | | | | | | | | | | | Summary: Following D20970 (committed as r271726). This is a substantial refactoring of the host CPU detection code. There is no functionality change intended, but the changes are extensive. Definitions of architecture types and subtypes are by no means exhaustive or perfectly defined, but a fair starting point. Suggestions for futher improvements are welcome. Reviewers: llvm-commits Differential Revision: http://reviews.llvm.org/D20988 llvm-svn: 271921
* Revert "Reapply "[analyzer] Add checker for correct usage of MPI API in C ↵Devin Coughlin2016-06-0615-1548/+0
| | | | | | | | and C++."" This reverts commit r271914. It is still breaking bots. llvm-svn: 271920
* Rename some test data (and make it const) to rid us of some shadowing ↵Marshall Clow2016-06-0627-315/+315
| | | | | | warnings in the test suite. No functional change. Thanks to STL@microsoft for the report and patch. llvm-svn: 271919
* Add a release note about the --build-id change.Rafael Espindola2016-06-061-1/+4
| | | | llvm-svn: 271918
* [Kaleidoscope][BuildingAJIT] More cleanup of Chapter 2.Lang Hames2016-06-061-17/+18
| | | | | | Streamline some wording, fix a bug in the markup for the layer interface table. llvm-svn: 271917
* [tsan] Switch to InternalAlloc everywhere __libc_malloc is currently usedKuba Brecka2016-06-067-81/+102
| | | | | | | | | | This patch replaces all uses of __libc_malloc and friends with the internal allocator. It seems that the only reason why we have calls to __libc_malloc in the first place was the lack of the internal allocator at the time. Using the internal allocator will also make sure that the system allocator is never used (this is the same behavior as ASan), and we don’t have to worry about working with unknown pointers coming from the system allocator. Differential Revision: http://reviews.llvm.org/D21025 llvm-svn: 271916
* This patch attempts to primitive support for Win64 asanEtienne Bergeron2016-06-065-26/+169
| | | | | | | | | | | | | | Some known issues are: When "head" include instructions that involve branching, the "cut and paste" approach may break down in a way that function interception still work but calling back the original function does not work. The jmp [rip -8] saves some bytes in the "head" but finding the safe zone of 0xCC is not implemented yet. So it may stomp on preceding codes. The shadow offset is not working yet on Win64. More complexity maybe involved since there are some differences regarding virtual address space between Window 8 and Windows 8.1/10. Patch by: Wang Wei Differential Revision: http://reviews.llvm.org/D20884 llvm-svn: 271915
* Reapply "[analyzer] Add checker for correct usage of MPI API in C and C++."Devin Coughlin2016-06-0615-0/+1548
| | | | | | | | | Reapply r271907 with a fix for the compiler error with gcc about specializing clang::ento::ProgramStateTrait in a different namespace. Differential Revision: http://reviews.llvm.org/D12761 llvm-svn: 271914
* [Kaleidoscope][BuildingAJIT] Clean up sentence, remove comments from code block.Lang Hames2016-06-061-4/+2
| | | | llvm-svn: 271913
* Fix typo in last submission to visualize proper template argumentMike Spertus2016-06-061-1/+1
| | | | llvm-svn: 271911
* Better Visual Studio visualization of TemplateArgument and TemplateArgumentListMike Spertus2016-06-061-2/+32
| | | | | | | For pack TemplateArguments, visualize all of the items in the pack Visualize a TemplateArgumentList as a template argument list. E.g., <int, double> llvm-svn: 271910
* Revert "[analyzer] Add checker for correct usage of MPI API in C and C++."Devin Coughlin2016-06-0615-1546/+0
| | | | | | | This reverts commit r271907. It broke a bunch of bots with compile errors about specializations in different namespaces. llvm-svn: 271909
* [InstCombine] limit icmp transform to ConstantInt (PR28011)Sanjay Patel2016-06-062-3/+33
| | | | | | | | | | | | | | | In r271810 ( http://reviews.llvm.org/rL271810 ), I loosened the check above this to work for any Constant rather than ConstantInt. AFAICT, that part makes sense if we can determine that the shrunken/extended constant remained equal. But it doesn't make sense for this later transform where we assume that the constant DID change. This could assert for a ConstantExpr: https://llvm.org/bugs/show_bug.cgi?id=28011 And it could be wrong for a vector as shown in the added regression test. llvm-svn: 271908
* [analyzer] Add checker for correct usage of MPI API in C and C++.Devin Coughlin2016-06-0615-0/+1546
| | | | | | | | | | | | | | | | | | | | | | | | This commit adds a static analysis checker to check for the correct usage of the MPI API in C and C++. 3 path-sensitive checks are included: - Double nonblocking: Double request usage by nonblocking calls without intermediate wait. - Missing wait: Nonblocking call without matching wait. - Unmatched wait: Waiting for a request that was never used by a nonblocking call. Examples of how to use the checker can be found at https://github.com/0ax1/MPI-Checker Reviewers: zaks.anna A patch by Alexander Droste! Differential Revision: http://reviews.llvm.org/D12761 llvm-svn: 271907
* [tsan] On OS X, optimize main thread’s ThreadState accessesKuba Brecka2016-06-061-7/+5
| | | | | | | | This is a very simple optimization that gets about 10% speedup for certain programs. We’re currently storing the pointer to the main thread’s ThreadState, but we can store the state directly in a static variable, which avoid the load acquire. Differential Revision: http://reviews.llvm.org/D20910 llvm-svn: 271906
* [asan] Reenable ASan tests in "check-all"Kuba Brecka2016-06-061-2/+2
| | | | | | | | Somehow, in r271049, ASan lit tests and unit tests were removed from “check-all”. Doesn’t seem intentional, let’s fix it. Differential Revision: http://reviews.llvm.org/D21017 llvm-svn: 271905
* regenerate checksSanjay Patel2016-06-061-110/+159
| | | | llvm-svn: 271904
* regenerate checksSanjay Patel2016-06-061-57/+86
| | | | llvm-svn: 271903
* [docs] Clarify limitations section of SourceBasedCodeCoverage.rstVedant Kumar2016-06-061-4/+5
| | | | | | | | | Mention that the code coverage tool becomes less precise whenever unpredictable changes in control flow occur. Thanks to Sean Silva for pointing this out! llvm-svn: 271902
* Create version.txt in a reproduce archive file.Rui Ueyama2016-06-064-9/+15
| | | | | | Differential Revision: http://reviews.llvm.org/D21008 llvm-svn: 271901
* [AMDGPU][llvm-mc] v_cndmask_b32: src2 is mandatory; do not enforce VOP2 when ↵Artem Tamazov2016-06-069-19/+103
| | | | | | | | | | | | src2 == VCC. Another step for unification llvm assembler/disassembler with sp3. Besides, CodeGen output is a bit improved, thus changes in CodeGen tests. Assembler/Disassembler tests updated/added. Differential Revision: http://reviews.llvm.org/D20796 llvm-svn: 271900
* Don't remove PIE executables when using svr4 packetsFrancis Ricci2016-06-061-4/+3
| | | | | | | | | | | | | | | Summary: Because PIE executables have an e_type of llvm::ELF::ET_DYN, they are not of type eTypeExecutable, and were being removed when svr4 packets were used. Reviewers: clayborg, ADodds, tfiala, sas Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D20990 llvm-svn: 271899
* Refactor division generation codeJohannes Doerfert2016-06-064-37/+78
| | | | | | | | | This patch refactors the code generation for divisions. This allows to always generate a shift for a power-of-two division and to utilize information about constant divisors in order to truncate the result type. llvm-svn: 271898
* Remove arithmetic +/-127 on chars; results in UB when dealing with signed ↵Marshall Clow2016-06-061-8/+13
| | | | | | chars. Thanks to STL@microsoft for the report. llvm-svn: 271897
* [clang-tidy] Do not try to suggest a fix if the parameter is partially in a ↵Samuel Benzaquen2016-06-061-0/+6
| | | | | | | | | macro. It is not easy to tell where to do the suggestion and whether the suggestion will be correct. llvm-svn: 271896
* [LAA] Use load and store vectors (NFC)Matthew Simpson2016-06-061-11/+7
| | | | | | | Contributed-by: Aditya Kumar <hiraditya@msn.com> Differential Revision: http://reviews.llvm.org/D20953 llvm-svn: 271895
* [NFC] Generate runtime checks after the SCoPJohannes Doerfert2016-06-068-57/+42
| | | | | | | | | We now generate runtime checks __after__ the SCoP code generation and not before, though they are still inserted at the same position int the code. This allows to modify the runtime check during SCoP code generation. llvm-svn: 271894
* Give FileCheck a hint on which ld to match. Under Windows, the preferredJoerg Sonnenberger2016-06-061-3/+3
| | | | | | | | match was the ld.elf_so that should be matched in a second step. Add one of the ever-present-but-irrelevant-for-this-test arguments to the pattern to force matching the right argument. llvm-svn: 271893
* [FIX] Determine insertion point during SCEV expansionJohannes Doerfert2016-06-062-5/+56
| | | | llvm-svn: 271892
* [KNL] Fix UMULO lowering.Igor Breger2016-06-062-2/+21
| | | | | | Differential Revision: http://reviews.llvm.org/D21013 llvm-svn: 271891
* [NFC] Refactor assumption tracking interfaceJohannes Doerfert2016-06-062-14/+27
| | | | llvm-svn: 271890
* [NFC] Simplify codeJohannes Doerfert2016-06-061-2/+2
| | | | llvm-svn: 271889
* Look through IntToPtr & PtrToInt instructionsJohannes Doerfert2016-06-067-9/+210
| | | | | | | | | IntToPtr and PtrToInt instructions are basically no-ops that we can handle as such. In order to generate them properly as parameters we had to improve the ScopExpander, though the change is the first in the direction of a more aggressive scalar synthetization. llvm-svn: 271888
* Remove dead function with incredibly broken assert.Benjamin Kramer2016-06-061-6/+0
| | | | | | Found by clang-tidy's misc-assert-side-effect. llvm-svn: 271887
* [NFC] Simplify codeJohannes Doerfert2016-06-061-1/+1
| | | | llvm-svn: 271886
* [FIX] Do not recognize division by 0 as affineJohannes Doerfert2016-06-062-2/+38
| | | | llvm-svn: 271885
* [mips] The default ABI depends on the CPU not the Arch on MTI and IMG vendor ↵Daniel Sanders2016-06-062-3/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | triples. Summary: 32-bit CPU's default to O32. 64-bit CPU's default to N64. The default CPU (mips32r2/mips64r2) still depends on the arch so there's no functional change when the CPU isn't specified but commands like: clang -target mips-mti-linux-gnu -mips64r2 will now default to a 64-bit ABI like our gcc toolchains do* instead of asserting in the backend**. Other vendors (including Triple::UnknownVendor) still derive the default ABI from the arch. * Although not the same one as our gcc toolchains, clang has historically defaulted to N64 where gcc defaults to N32. ** Mixing O32 and a 64-bit CPU causing assertions is a long-standing bug. Reviewers: atanasyan Subscribers: sdardis, cfe-commits Differential Revision: http://reviews.llvm.org/D21016 llvm-svn: 271884
* [clang-format] make header guard identification stricter (with Lexer).Eric Liu2016-06-062-23/+131
| | | | | | | | | | | | Summary: make header guard identification stricter with Lexer. Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D20959 llvm-svn: 271883
* [NFC] Silence gcc warning (-Wsign-compare)Filipe Cabecinhas2016-06-061-1/+1
| | | | llvm-svn: 271882
* Replace getSCEV with getSCEVAtScopeJohannes Doerfert2016-06-062-4/+10
| | | | llvm-svn: 271881
* [NFC] Use the ScalarEvolution member of the SCEVAffinatorJohannes Doerfert2016-06-061-7/+4
| | | | llvm-svn: 271880
* [NFC] Coalesce invariant context sets earlyJohannes Doerfert2016-06-061-0/+2
| | | | llvm-svn: 271879
* Use minimal types for generated expressionsJohannes Doerfert2016-06-0649-308/+357
| | | | | | | | | | | | We now use the minimal necessary bit width for the generated code. If operations might overflow (add/sub/mul) we will try to adjust the types in order to ensure a non-wrapping computation. If the type adjustment is not possible, thus the necessary type is bigger than the type value of --polly-max-expr-bit-width, we will use assumptions to verify the computation will not wrap. However, for run-time checks we cannot build assumptions but instead utilize overflow tracking intrinsics. llvm-svn: 271878
* [mips] The P5600 does not support N32/N64 since it's a 32-bit CPU.Daniel Sanders2016-06-062-1/+6
| | | | | | | | | | | | Summary: Reviewers: atanasyan Subscribers: cfe-commits, sdardis Differential Revision: http://reviews.llvm.org/D20963 llvm-svn: 271877
OpenPOWER on IntegriCloud