summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* IR: Stop copying vectors of TrackingMDRef in DIBuilderDuncan P. N. Exon Smith2016-04-201-6/+12
| | | | | | | No real functionality change here, just avoiding an unnecessary copy of std::vector<TrackingMDRef> for every subprogram with variables. llvm-svn: 266907
* Rename asan-check-lifetime into asan-stack-use-after-scopeKostya Serebryany2016-04-203-8/+6
| | | | | | | | | | | | Summary: This is done for consistency with asan-use-after-return. I see no other users than tests. Reviewers: aizatsky, kcc Differential Revision: http://reviews.llvm.org/D19306 llvm-svn: 266906
* Typo.Chad Rosier2016-04-201-1/+1
| | | | llvm-svn: 266905
* [ValueTracking] Make isImpliedCondition return an Optional<bool>. NFC.Chad Rosier2016-04-205-88/+79
| | | | | | Phabricator Revision: http://reviews.llvm.org/D19277 llvm-svn: 266904
* Replace a loop with a for-each loop. No behavior change.Nico Weber2016-04-201-2/+1
| | | | llvm-svn: 266903
* IR: Avoid mallocs in constructor of ModuleSlotTrackerDuncan P. N. Exon Smith2016-04-202-5/+20
| | | | | | | | A ModuleSlotTracker can be created without actually being used (e.g., r266889 added one to the Verifier). Create the SlotTracker within it lazily on the first call to ModuleSlotTracker::getMachine. llvm-svn: 266902
* [MC] Silence warning due to unused variable in !Debug builds.Davide Italiano2016-04-201-0/+1
| | | | llvm-svn: 266901
* Verifier: Add ModuleSlotTracker to printAsOperand callDuncan P. N. Exon Smith2016-04-201-1/+1
| | | | | | I missed this site in r266889. llvm-svn: 266900
* [LTO] Another type merge test.Davide Italiano2016-04-202-0/+35
| | | | llvm-svn: 266899
* [lanai] Add subword scheduling itineraries.Jacques Pienaar2016-04-203-17/+63
| | | | | | | | Differentiate between word and subword memory operations as they take different amount of cycles to complete. This just adds a basic model of the subword latency to the scheduler. llvm-svn: 266898
* Verifier: Prefer early continue over if-nesting, NFCDuncan P. N. Exon Smith2016-04-201-8/+9
| | | | llvm-svn: 266897
* [LTO] Add a test to ensure we handle basic type merging correctly.Davide Italiano2016-04-202-0/+34
| | | | llvm-svn: 266896
* [MC] EmitNop: Make an assertion more useful.Davide Italiano2016-04-201-1/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D19334 llvm-svn: 266895
* LTO: Verify the input even if optimize() isn't calledDuncan P. N. Exon Smith2016-04-202-2/+41
| | | | | | | | | | | | | | Clients may call writeMergedModules before calling optimize, or call compileOptimized without calling optimize. Make sure they don't sneak past the verifier. This adds LTOCodeGenerator::verifyMergedModuleOnce, and calls it from writeMergedModule, optimize, and codegenOptimized. I couldn't find a good way to test this. I tried writing broken IR to send into llvm-lto, but LTOCodeGenerator doesn't understand textual IR, and assembler runs the verifier itself anyway. Checking in valid-but-doesn't-verify bitcode here doesn't seem valuable. llvm-svn: 266894
* ModuleLinker: only import what is in GlobalsToImport, regarless if it is a ↵Mehdi Amini2016-04-201-22/+6
| | | | | | | | | | | | | | | function or not. The alias handling was specific to the old iterative inlining mechanism, so that is dead now. The variable handling could make a difference, since we were previously falling through to the normal selection logic, but we don't observe changes in the validation because no client seems to rely on it. Differential Revision: http://reviews.llvm.org/D19307 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266893
* builtins: fix -Werror,-Wunused-variable warningSaleem Abdulrasool2016-04-201-1/+0
| | | | | | This removes the unused variable `flags`. NFC llvm-svn: 266892
* builtins: remove use of __attribute__((pcs("aapcs"))) on WindowsSaleem Abdulrasool2016-04-201-5/+1
| | | | | | | | | Windows does not honour the __attribute__((pcs)) on ARM. Although this will result in ABI mismatches, compiler-rt should largely be unneeded for resolving dependencies as we generate MS ABI compliant library calls now for the most part. llvm-svn: 266891
* Delete refersToGotEntry.Rafael Espindola2016-04-204-32/+11
| | | | | | It can be computed from the expression. llvm-svn: 266890
* IR: Use a single ModuleSlotTracker in the VerifierDuncan P. N. Exon Smith2016-04-203-6/+35
| | | | | | | | | | | | Speed up Verifier output by sharing a single ModuleSlotTracker for the duration. There should be no functionality change here except for much faster output when there's more than one statement. Now the Verifier won't be traversing the full Metadata graph every time it prints an error. The TypePrinter is still not shared, but that would take some extra plumbing. llvm-svn: 266889
* Simplify mips gp0 handling.Rafael Espindola2016-04-203-8/+4
| | | | | | In all currently supported cases this is a nop. llvm-svn: 266888
* Add warning about CR+LF line endings on Windows.Adrian McCarthy2016-04-201-9/+12
| | | | | | | | s/checkout/check out/ when used as a verb. Differential Revision: http://reviews.llvm.org/D19285 llvm-svn: 266887
* Add missing file needed for PDB unittests.Zachary Turner2016-04-201-0/+0
| | | | llvm-svn: 266886
* test infra: move test event-related handling into its own packageTodd Fiala2016-04-2014-674/+734
| | | | | | | | | | | | | | | | | | | | | | | This change moves all the test event handling and its related ResultsFormatter classes out of the packages/Python/lldbsuite/test dir into a packages/Python/lldbsuite/test_event package. Formatters are moved into a sub-package under that. I am limiting the scope of this change to just the motion and a few minor issues caught by a static Python checker (e.g. removing unused import statements). This is a pre-step for adding package-level tests to the test event system. I also intend to simplify test event results formatter selection after I make sure this doesn't break anybody. See: http://reviews.llvm.org/D19288 Reviewed by: Pavel Labath llvm-svn: 266885
* IR: Don't use raw_null_ostream in VerifierDuncan P. N. Exon Smith2016-04-201-27/+32
| | | | | | | | While using a raw_null_ostream meant that the Verifier didn't have to think about whether to print, it's actually quite expensive to print out IR. Only print if the output is going somewhere. llvm-svn: 266884
* IR: Use default member initialization in Verifier, NFCDuncan P. N. Exon Smith2016-04-201-5/+4
| | | | llvm-svn: 266883
* [Hexagon] Fix handling of lcomm directiveKrzysztof Parzyszek2016-04-202-7/+31
| | | | | | Patch by Colin LeMahieu. llvm-svn: 266882
* Re-enable "[gold-plugin] Disable name for values other than GlobalValue"Teresa Johnson2016-04-204-0/+46
| | | | | | | | | | This restores r266871 with a fix for gold tests relying on the value names, when using a release compiler, by adding a way to disable the default discarding. Update affected tests to use the new mechanism so that value names are preserved as expected, regardless of how the compiler was built. llvm-svn: 266881
* Inline canRelaxTls.Rafael Espindola2016-04-201-27/+12
| | | | | | | It was always called in a position where the relocation type was already known. llvm-svn: 266880
* Simplify canRelaxTls.Rafael Espindola2016-04-201-10/+10
| | | | | | Check isTls in the called and pass a SymbolBody&. llvm-svn: 266879
* Move canRelaxTls to Writer.cpp. NFC.Rafael Espindola2016-04-203-29/+27
| | | | llvm-svn: 266878
* [ThinLTO] Prevent importing of "llvm.used" valuesTeresa Johnson2016-04-2012-27/+101
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch prevents importing from (and therefore exporting from) any module with a "llvm.used" local value. Local values need to be promoted and renamed when importing, and their presense on the llvm.used variable indicates that there are opaque uses that won't see the rename. One such example is a use in inline assembly. See also the discussion at: http://lists.llvm.org/pipermail/llvm-dev/2016-April/098047.html As part of this, move collectUsedGlobalVariables out of Transforms/Utils and into IR/Module so that it can be used more widely. There are several other places in LLVM that used copies of this code that can be cleaned up as a follow on NFC patch. Reviewers: joker.eph Subscribers: pcc, llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D18986 llvm-svn: 266877
* Delete needsDynRelative.Rafael Espindola2016-04-203-7/+2
| | | | | | | | It is now redundant. Writer.cpp can reason that 2 dynamic relocations are needed: one to find the final got entry address and one to fill the got entry. llvm-svn: 266876
* [RDF] Consider register as live if any alias is liveKrzysztof Parzyszek2016-04-202-2/+30
| | | | | | This only affects the recomputation of kill flags. llvm-svn: 266875
* IncludeFixerTest.cpp: Tweak not to assume clang-tools-extra were onto ↵NAKAMURA Takumi2016-04-202-1/+4
| | | | | | clang/tools/extra. llvm-svn: 266874
* [mips][microMIPS] Implement BGEC, BGEUC, BLTC, BLTUC, BEQC and BNEC instructionsZoran Jovanovic2016-04-206-24/+207
| | | | | | Differential Revision: http://reviews.llvm.org/D14206 llvm-svn: 266873
* Revert "[gold-plugin] Disable name for values other than GlobalValue"Teresa Johnson2016-04-202-41/+0
| | | | | | | | This reverts commit r266871. Setting the default based on the NDEBUG flag is causing test failures. Need to figure out whether to change this approach or update tests. llvm-svn: 266872
* [gold-plugin] Disable name for values other than GlobalValueTeresa Johnson2016-04-202-0/+41
| | | | | | | | | | | | | | | Summary: Applies Mehdi's optimization (r263086) to disable value names other than for GlobalValues to LTO/ThinLTO performed via the gold-plugin, in the same manner as it is applied in libLTO. Reviewers: rafael, joker-eph Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D19269 llvm-svn: 266871
* [include-fixer] Add a prototype for a new include fixing tool.Benjamin Kramer2016-04-2012-0/+644
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The goal of this tool is fairly simple, look up unknown identifiers in a global database and add the corresponding #include line. It accomplishes this by hooking into Sema as an ExternalSemaSource and responding to typo correction callbacks. This means we can see the unknown identifier before it's being munged by error recovery. This doesn't work perfectly yet as some typo corrections don't emit callbacks (delayed typos), but I think this is fixable. We also handle only one include at a time as this is meant to be run directly from the editing environment eventually. Adding multiple includes at the same time is tricky because of error recovery. This version only has a a dummy database, so all you can do is fixing missing includes of <string>, but the indexer to build a database will follow soon. Reviewers: djasper Subscribers: ioeric, hokein, cfe-commits Differential Revision: http://reviews.llvm.org/D19314 llvm-svn: 266870
* Always inlining PrintCurrentStackSlow of tsan library to fix tail-call issueChuang-Yu Cheng2016-04-201-0/+8
| | | | | | | | | | | | | | | | | | | | The real problem is that sanitizer_print_stack_trace obtains current PC and expects the PC to be in the stack trace after function calls. We don't prevent tail calls in sanitizer runtimes, so this assumption does not necessary hold. We add "always inline" attribute on PrintCurrentStackSlow to address this issue, however this solution is not reliable enough, but unfortunately, we don't see any simple, reliable solution. Reviewers: samsonov hfinkel kbarton tjablin dvyukov kcc http://reviews.llvm.org/D19148 Thanks Hal, dvyukov, and kcc for invaluable discussion, I have even borrowed part of dvyukov's summary as my commit message! llvm-svn: 266869
* [sanitizer] Fix 'dyld: Symbol not found: _dyldVersionNumber' link error on ↵Maxim Ostapenko2016-04-201-1/+5
| | | | | | | | | | | | | old Darwin systems. This patch fixes https://github.com/google/sanitizers/issues/669. On older Darwin systems (in particular, Darwin 10), dyld doesn't export '_dyldVersionNumber' symbol so we would have 'undefined reference' error in sanitzer library. Although sanitizers support was added to LLVM on OS X 10.7+ where '_dyldVersionNumber' symbol is already exported, GCC users still may want use them on older systems. Differential Revision: http://reviews.llvm.org/D19218 llvm-svn: 266868
* Fix xfail for test_tilde_home_directory on windowsTamas Berghammer2016-04-201-1/+1
| | | | llvm-svn: 266867
* clang-tidy: [misc-unused-using-decls] Support template types.Daniel Jasper2016-04-202-3/+14
| | | | | | This fixes llvm.org/PR27429. llvm-svn: 266866
* AMDGPU/SI: Assembler: improvements to support trap handlers.Nikolay Haustov2016-04-203-70/+140
| | | | | | | | | | | | Add ParseAMDGPURegister which can be invoked recursively for parsing lists. Rename getRegForName to getSpecialRegForName. Support legacy SP3 register list syntax: [s2,s3,s4,s5] or [flat_scratch_lo,flat_scratch_hi]. Add 64-bit registers TBA, TMA where missing. Add some tests. Differential Revision: http://reviews.llvm.org/D19163 llvm-svn: 266865
* clang-tidy: [misc-unused-using-decls] Always use the canonical decl toDaniel Jasper2016-04-203-5/+8
| | | | | | | | identify things. This fixes llvm.org/PR27430. llvm-svn: 266864
* [X86] enable PIE for functionsAsaf Badouh2016-04-205-44/+81
| | | | | | | | Call locally defined function directly for PIE/fPIE Differential Revision: http://reviews.llvm.org/D19226 llvm-svn: 266863
* Fix a crash in cppcoreguidelines-pro-type-member-init related to missing ↵Haojian Wu2016-04-202-6/+11
| | | | | | | | | | | | | | | | constructor bodies. Summary: Fixes a crash in cppcoreguidelines-pro-type-member-init when checking some record types with a constructor without a body. We now check to make sure the constructor has a body before looking for missing members and base initializers. Patch by Michael Miller! Reviewers: aaron.ballman, alexfh, hokein Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19270 llvm-svn: 266862
* [mips][microMIPS]Implement CFC*, CTC* and LDC* instructionsHrvoje Varga2016-04-2016-15/+198
| | | | | | Differential Revision: http://reviews.llvm.org/D18640 llvm-svn: 266861
* [AVX512] Add avx512cd+vl runs to vector-tzcnt-128/256 tests to show using ↵Craig Topper2016-04-202-132/+594
| | | | | | the vplzcntd/q instructions. llvm-svn: 266860
* [AVX512] Update vector-tzcnt-512 test to show how bad v32i16 and v64i8 is ↵Craig Topper2016-04-201-113/+859
| | | | | | with avx512bw enabled. llvm-svn: 266859
* [AVX512] Add popcount support for v32i16 and v64i8.Craig Topper2016-04-202-44/+72
| | | | llvm-svn: 266858
OpenPOWER on IntegriCloud