summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Record whether a module came from a private module mapJordan Rose2018-04-205-6/+20
| | | | | | | | | | | Right now we only use this information in one place, immediately after we calculate it, but it's still nice information to have. The Swift project is going to use this to tidy up its "API notes" feature (see past discussion on cfe-dev that never quite converged). Reviewed by Bruno Cardoso Lopes. llvm-svn: 330452
* Revert r330442, CodeGen/no-ident-version.c is failing on PPCMikhail Maltsev2018-04-207-33/+3
| | | | llvm-svn: 330451
* Fix a crash when resolving overloads of C++ virtual methods.Adrian Prantl2018-04-204-1/+29
| | | | | | | | | The isOverload() method needs to account for situations where the two methods being compared don't have the same number of arguments. rdar://problem/39542960 llvm-svn: 330450
* [WebAssembly] Implement --print-gc-sections for synthetic functionsNicholas Wilson2018-04-205-9/+27
| | | | | | | | | | Enables cleaning up confusion between which name variables are mangled and which are unmangled, and --print-gc-sections then excersises and tests that. Differential Revision: https://reviews.llvm.org/D44440 llvm-svn: 330449
* [WebAssembly] Distinguish debug/symbol names in the Wasm structs. NFCNicholas Wilson2018-04-202-19/+11
| | | | | | Differential Revision: https://reviews.llvm.org/D45021 llvm-svn: 330448
* [CUDA] Set LLVM calling convention for CUDA kernelYaxun Liu2018-04-204-0/+52
| | | | | | | | | | | | | | Some targets need special LLVM calling convention for CUDA kernel. This patch does that through a TargetCodeGenInfo hook. It only affects amdgcn target. Patch by Greg Rodgers. Revised and lit tests added by Yaxun Liu. Differential Revision: https://reviews.llvm.org/D45223 llvm-svn: 330447
* Revert r330431.Michael Zolotukhin2018-04-201-30/+26
| | | | | | There are still stage3/stage4 miscompares :( llvm-svn: 330446
* [x86] auto-generate checks; NFCSanjay Patel2018-04-201-213/+411
| | | | | | | There's a proposal to change/add to this file in D45653, so we should know exactly what those differences would be. llvm-svn: 330445
* [NewGVN] Split OpPHI detection and creation.Florian Hahn2018-04-202-103/+168
| | | | | | | | | | | | | It also adds a check making sure PHIs for operands are all in the same block. Patch by Daniel Berlin <dberlin@dberlin.org> Reviewers: dberlin, davide Differential Revision: https://reviews.llvm.org/D43865 llvm-svn: 330444
* [ELF] --warn-backrefs: use the same GroupId for object files in the same ↵Fangrui Song2018-04-204-3/+25
| | | | | | | | | | | | --{start,end}-lib Reviewers: ruiu, espindola Subscribers: emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D45849 llvm-svn: 330443
* [CodeGen] Add an option to suppress output of llvm.identMikhail Maltsev2018-04-207-3/+33
| | | | | | | | | | | | | | | | | | | | | | Summary: By default Clang outputs its version (including git commit hash, in case of trunk builds) into object and assembly files. It might be useful to have an option to disable this, especially for debugging purposes. This patch implements new command line flags -Qn and -Qy (the names are chosen for compatibility with GCC). -Qn disables output of the 'llvm.ident' metadata string and the 'producer' debug info. -Qy (enabled by default) does the opposite. Reviewers: faisalv, echristo, aprantl Reviewed By: aprantl Subscribers: aprantl, cfe-commits, JDevlieghere, rogfer01 Differential Revision: https://reviews.llvm.org/D45255 llvm-svn: 330442
* Fix some tests that were failing on WindowsHans Wennborg2018-04-203-9/+9
| | | | llvm-svn: 330441
* [DebugInfo] Use WithColor for more debug line warningsAndrew Ng2018-04-203-8/+10
| | | | | | | | | | Updated two more debug line related warnings to use WithColor. This was necessary to ensure consistent output order of the warnings on Windows for debug line tests. Differential Revision: https://reviews.llvm.org/D45871 llvm-svn: 330440
* [CostModel][X86] Add vector element insert/extract cost testsSimon Pilgrim2018-04-202-0/+718
| | | | llvm-svn: 330439
* Fix test by allowing it to accept an upper or lower case letter as the first ↵Douglas Yung2018-04-201-1/+1
| | | | | | | | character. Windows for some reason uses a lower case letter, while linux uses upper case. llvm-svn: 330438
* [DAGCombine] (float)((int) f) --> ftrunc (PR36617)Sanjay Patel2018-04-2011-331/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was originally committed at rL328921 and reverted at rL329920 to investigate failures in Chrome. This time I've added to the ReleaseNotes to warn users of the potential of exposing UB and let me repeat that here for more exposure: Optimization of floating-point casts is improved. This may cause surprising results for code that is relying on undefined behavior. Code sanitizers can be used to detect affected patterns such as this: int main() { float x = 4294967296.0f; x = (float)((int)x); printf("junk in the ftrunc: %f\n", x); return 0; } $ clang -O1 ftrunc.c -fsanitize=undefined ; ./a.out ftrunc.c:5:15: runtime error: 4.29497e+09 is outside the range of representable values of type 'int' junk in the ftrunc: 0.000000 Original commit message: fptosi / fptoui round towards zero, and that's the same behavior as ISD::FTRUNC, so replace a pair of casts with the equivalent node. We don't have to account for special cases (NaN, INF) because out-of-range casts are undefined. Differential Revision: https://reviews.llvm.org/D44909 llvm-svn: 330437
* [CostModel][X86] Add srem/urem constant cost testsSimon Pilgrim2018-04-201-0/+248
| | | | llvm-svn: 330436
* [CostModel][X86] Add SLM/GLM/BtVer2 compare + division/remainder cost testsSimon Pilgrim2018-04-203-0/+194
| | | | llvm-svn: 330435
* Fix typo in a test.Michael Zolotukhin2018-04-201-1/+1
| | | | llvm-svn: 330434
* [CostModel][X86] Split off BtVer2 cost checksSimon Pilgrim2018-04-2015-101/+1454
| | | | llvm-svn: 330433
* [CostModel][X86] Add GoldmontPlus cost testsSimon Pilgrim2018-04-201-0/+1
| | | | | | Just reuses goldmont costs atm llvm-svn: 330432
* Revert "Revert r330403 and r330413."Michael Zolotukhin2018-04-205-62/+120
| | | | | | | | | | | Reapply the patches with a fix. Thanks Ilya and Hans for the reproducer! This reverts commit r330416. The issue was that removing predecessors invalidated uses that we stored for rewrite. The fix is to finish manipulating with CFG before we select uses for rewrite. llvm-svn: 330431
* [docs] Regenerate command line referenceJonas Hahnfeld2018-04-201-19/+77
| | | | | | | This will correctly sort some manually added entries which should generally be avoided! llvm-svn: 330430
* [OpenMP] Hide -fopenmp-cuda-modeJonas Hahnfeld2018-04-201-2/+4
| | | | | | | This is an advanced flag that should show up neither in clang --help nor in the ClangCommandLineReference. llvm-svn: 330429
* [X86][BtVer2] Cleanup some old FIXMEs from the model. NFCI.Simon Pilgrim2018-04-201-5/+2
| | | | llvm-svn: 330428
* clang-cl: Accept (and ignore) /Zc:__cplusplus.Nico Weber2018-04-202-1/+11
| | | | | | | | | | | See https://blogs.msdn.microsoft.com/vcblog/2018/04/09/msvc-now-correctly-reports-__cplusplus/ clang-cl already sets __cplusplus to the correct value, so we can just ignore this flag. Also add test coverage for a few more accepted-but-ignored flags. https://reviews.llvm.org/D45877 llvm-svn: 330427
* [CUDA] Document recent changesJonas Hahnfeld2018-04-202-1/+13
| | | | | | | | | * Finding installations via ptxas binary * Relocatable device code Differential Revision: https://reviews.llvm.org/D45449 llvm-svn: 330426
* [CUDA] Register relocatable GPU binariesJonas Hahnfeld2018-04-202-64/+168
| | | | | | | | | | nvcc generates a unique registration function for each object file that contains relocatable device code. Unique names are achieved with a module id that is also reflected in the function's name. Differential Revision: https://reviews.llvm.org/D42922 llvm-svn: 330425
* [X86] Tag CLDEMOTE instruction with WriteLoad scheduling classSimon Pilgrim2018-04-201-1/+2
| | | | | | Same as other cacheline instructions llvm-svn: 330424
* [AArch64][SVE] Asm: Support for contiguous LD1 (scalar+scalar) load ↵Sander de Smalen2018-04-2017-2/+396
| | | | | | | | | | | | | | | | | | | instructions. This is patch [4/4] in a series to add assembler/disassembler support for SVE's contiguous LD1 (scalar+scalar) instructions: - Patch [1/4]: https://reviews.llvm.org/D45687 - Patch [2/4]: https://reviews.llvm.org/D45688 - Patch [3/4]: https://reviews.llvm.org/D45689 - Patch [4/4]: https://reviews.llvm.org/D45690 Reviewers: fhahn, rengolin, javed.absar, huntergr, SjoerdMeijer, t.p.northover, echristo, evandro Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D45690 llvm-svn: 330423
* [Driver] Support for -save-stats in AddGoldPlugin.Florian Hahn2018-04-208-41/+75
| | | | | | | | | | | | | | This patch updates AddGoldPlugin to pass stats-file to the Gold plugin, if -save-stats is passed. It also moves the save-stats option handling to a helper function tools::getStatsFileName. Reviewers: tejohnson, mehdi_amini, compnerd Reviewed By: tejohnson, compnerd Differential Revision: https://reviews.llvm.org/D45771 llvm-svn: 330422
* [ObjectYAML] Add ability for DWARFYAML to calculate DIE lengthsJonas Devlieghere2018-04-203-8/+51
| | | | | | | | | | | | | | | | | | | | This patch adds the ability for the ObjectYAML DWARFEmitter to calculate the lengths of DIEs. This is accomplished by creating a DIEFixupVisitor class which traverses the DWARF DIEs to calculate and fix up the lengths in the Compile Unit header. The DIEFixupVisitor can be extended in the future to enable more complex fix ups which will enable simplified YAML string representations. This is also very useful when using the YAML format in unit tests because you no longer need to know the length of the compile unit when writing the YAML string. Differential commandeered from Chris Bieneman (beanz) Differential revision: https://reviews.llvm.org/D30666 llvm-svn: 330421
* [NEON] Add a comment explaining the situation with vget_high_f16() and ↵Ivan A. Kosarev2018-04-201-0/+4
| | | | | | | | vget_low_f16() intrinsics Related differential revision: https://reviews.llvm.org/D45668 llvm-svn: 330420
* [UpdateTestChecks] Fix update_mca_test_checks.py slowness issueGreg Bedwell2018-04-201-8/+1
| | | | | | | | | The script was using Python's difflib module to calculate the number of lines changed so that it could report it in its status output. It turns out this can be very very slow on large sets of lines (Python bug 6931). It's not worth the cost, so just remove the usage of difflib entirely. llvm-svn: 330419
* Parse .h files as objective-c++ if we don't have a compile command.Sam McCall2018-04-205-2/+52
| | | | | | | | | | | | Summary: This makes C++/objC not totally broken, without hurting C files too much. Reviewers: ilya-biryukov Subscribers: klimek, jkorous-apple, ioeric, cfe-commits Differential Revision: https://reviews.llvm.org/D45442 llvm-svn: 330418
* Require asserts for stats-file-option tests.Florian Hahn2018-04-202-0/+4
| | | | llvm-svn: 330417
* Revert r330403 and r330413.Ilya Biryukov2018-04-205-84/+52
| | | | | | | | | | | | | | | | Revert r330413: "[SSAUpdaterBulk] Use SmallVector instead of DenseMap for storing rewrites." Revert r330403 "Reapply "[PR16756] Use SSAUpdaterBulk in JumpThreading." one more time." r330403 commit seems to crash clang during our integrate while doing PGO build with the following stacktrace: #2 llvm::SSAUpdaterBulk::RewriteAllUses(llvm::DominatorTree*, llvm::SmallVectorImpl<llvm::PHINode*>*) #3 llvm::JumpThreadingPass::ThreadEdge(llvm::BasicBlock*, llvm::SmallVectorImpl<llvm::BasicBlock*> const&, llvm::BasicBlock*) #4 llvm::JumpThreadingPass::ProcessThreadableEdges(llvm::Value*, llvm::BasicBlock*, llvm::jumpthreading::ConstantPreference, llvm::Instruction*) #5 llvm::JumpThreadingPass::ProcessBlock(llvm::BasicBlock*) The crash happens while compiling 'lib/Analysis/CallGraph.cpp'. r3340413 is reverted due to conflicting changes. llvm-svn: 330416
* [NFC][InstCombine] Regenerate two tests that are affected by folding masked ↵Roman Lebedev2018-04-202-71/+71
| | | | | | merge llvm-svn: 330415
* [DebugInfo] Fix for split dwarf test on Windows (NFC)Andrew Ng2018-04-201-1/+1
| | | | | | | | | On Windows, %llc_dwarf automatically adds -mtriple causing this test to error. Changed %llc_dwarf to llc. Differential Revision: https://reviews.llvm.org/D45869 llvm-svn: 330414
* [SSAUpdaterBulk] Use SmallVector instead of DenseMap for storing rewrites.Michael Zolotukhin2018-04-204-39/+37
| | | | llvm-svn: 330413
* [Dockerfiles] Split checkout and build scripts into separate files.Ilya Biryukov2018-04-206-188/+245
| | | | | | | | | | | | | | | | | | | | | Summary: This is a small refactoring to extract the svn checkout code from the build script used inside the docker image. This would give more flexibility if more than a single invocation of cmake is needed inside the docker image. User-facing interface (build_docker_image.sh) hasn't changed, only the internal scripts running inside the build container are affected. Reviewers: ioeric Reviewed By: ioeric Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D45868 llvm-svn: 330412
* [LTO] Add stats-file option to LTO/Config.h.Florian Hahn2018-04-206-3/+79
| | | | | | | | | | | | | This patch adds a StatsFile option to LTO/Config.h and updates both LLVMGold and llvm-lto2 to set it. Reviewers: MatzeB, tejohnson, espindola Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D45531 llvm-svn: 330411
* CODE_OWNERS: Take code ownership of llvm-mca.Andrea Di Biagio2018-04-201-0/+5
| | | | llvm-svn: 330410
* [lit] Fix a bug where UNRESOLVED tests were not handled in the XUnitDan Liew2018-04-202-1/+80
| | | | | | | | | | | XML printer. A test has been added that tries to comprehensively test emitting XUnit XML output for shell tests. Differential Revision: https://reviews.llvm.org/D45567 llvm-svn: 330409
* Fix -Wunused-variable warnings after r330377.Andrea Di Biagio2018-04-201-2/+2
| | | | llvm-svn: 330408
* [AArch64][SVE] Fix diagnostic for SVE LD4 instructions:Sander de Smalen2018-04-205-17/+17
| | | | | | | | | | Diagnostic: 'index must be multiple of 3 in range [-32, 28]' Must be: 'index must be multiple of 4 in range [-32, 28]' llvm-svn: 330407
* [AArch64][SVE] Added GPR64shifted and GPR64NoXZRshifted register classes.Sander de Smalen2018-04-205-7/+88
| | | | | | | | | | | | | | | | | | | | Summary: This is patch [3/4] in a series to add assembler/disassembler support for SVE's contiguous LD1 (scalar+scalar) instructions: - Patch [1/4]: https://reviews.llvm.org/D45687 - Patch [2/4]: https://reviews.llvm.org/D45688 - Patch [3/4]: https://reviews.llvm.org/D45689 - Patch [4/4]: https://reviews.llvm.org/D45690 Reviewers: fhahn, rengolin, javed.absar, huntergr, SjoerdMeijer, t.p.northover, echristo, evandro Reviewed By: SjoerdMeijer Subscribers: tschuett, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D45689 llvm-svn: 330406
* Move FileSpecTest to UtilityPavel Labath2018-04-203-7/+7
| | | | | | | FileSpec class was moved to the Utility module a while ago, but the test file was left behind. This corrects that. llvm-svn: 330405
* [OpenCL] Add 'denorms-are-zero' function attributeAlexey Sotkin2018-04-202-13/+23
| | | | | | | | | | | | | | | | | | Summary: Generate attribute 'denorms-are-zero'='true' if '-cl-denorms-are-zero' compile option was specified and 'denorms-are-zero'='false' otherwise. Patch by krisb Reviewers: Anastasia, yaxunl Reviewed By: yaxunl Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D45808 llvm-svn: 330404
* Reapply "[PR16756] Use SSAUpdaterBulk in JumpThreading." one more time.Michael Zolotukhin2018-04-202-16/+50
| | | | | | | | | Hopefully, changing set to vector removes nondeterminism detected by some bots, or the new assert will catch something. This reverts commit r330180. llvm-svn: 330403
OpenPOWER on IntegriCloud