summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [LLDB] Fix whitespace/tabs mismatch in lldbsuite Makefile.rulesMuhammad Omair Javaid2019-11-141-34/+34
| | | | | | | | | | | | This patch fixes whitespace/tabs mismatch in lldb/packages/Python/lldbsuite/test/make/Makefile.rules Legacy make files always used tabs though modern make version can work with white-spaces I have chosen the legacy just to be safe. Signed-off-by: Muhammad Omair Javaid <omair.javaid@linaro.org> Differential Revision: https://reviews.llvm.org/D70154
* [clang][IFS][test] Reverting driver-test.c to what it was prior to e782192d5e6Puyan Lotfi2019-11-141-7/+6
| | | | | | My mistake. Changes I had in this test were for code changes that are not landed yet. I am reverting driver-test.c back to what it was originally.
* [clang][IFS][test] Removing -shared, fixing triple: driver-test.c/windows.cpp.Puyan Lotfi2019-11-142-3/+3
| | | | | | | Removing -shared as it is not used on a lot of targets in order to green failing bots with this change. Also, tiding up the windows.cpp test as the triple compile out can look slightly different that what you specified on a windows bot.
* [clang][IFS][test][NFC] Tightening up clang-ifs tests to use -cc1 more often.Puyan Lotfi2019-11-1422-87/+75
| | | | | | | Unless the test is explicitly testing a driver feature if clang interface stubs I have changed the tests to use %clang_cc1. This should make some changes I plan to make to the driver job pipeline cause fewer test changes and breakages.
* Check result of emitStrLen before passing it to CreateGEPDimitry Andric2019-11-142-2/+17
| | | | | | | | | | | | | | | | | | Summary: This fixes PR43081, where the transformation of `strchr(p, 0) -> p + strlen(p)` can cause a segfault, if `-fno-builtin-strlen` is used. In that case, `emitStrLen` returns nullptr, which CreateGEP is not designed to handle. Also add the minimized code from the PR as a test case. Reviewers: xbolva00, spatel, jdoerfert, efriedma Reviewed By: efriedma Subscribers: lebedev.ri, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D70143
* [mips] Use local variable to escape repetitive calls of `getOpcode`. NFCSimon Atanasyan2019-11-141-13/+10
|
* [mips] Use isInt<> call instead of explicit range checking. NFCSimon Atanasyan2019-11-141-2/+1
|
* [cmake] Prevent building with BUILD_SHARED_LIBS and LLVM_LINK_LLVM_DYLIBTom Stellard2019-11-131-0/+4
| | | | | | | | | | | | | | Summary: This doesn't work, so error early if someone tries it. Reviewers: beanz, smeenai, compnerd, phosek Reviewed By: beanz Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70160
* [ModuleUtils] Clean up header file. [NFC]Francesco Petrogalli2019-11-141-10/+0
| | | | | | | | | | | | Summary: 1. Remove unused forward declaration. 2. Remove unnecessary `\defgroup` in docygen documentation. Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70218
* Warn on /align if used without /driverRui Ueyama2019-11-142-0/+15
| | | | | | | /align is not supposed to be used without /driver, so it makes sense to warn if only /align is passed. MSVC link.exe warns on this too. Differential Revision: https://reviews.llvm.org/D70163
* Implement /driver, /driver:wdm and /driver:uponlyRui Ueyama2019-11-145-3/+134
| | | | | | | | This patch implements /driver, /driver:wdm and /driver:uponly as described in https://docs.microsoft.com/en-us/cpp/build/reference/driver-windows-nt-kernel-mode-driver?view=vs-2019. Differential Revision: https://reviews.llvm.org/D70162
* [WebAssembly] -fwasm-exceptions enables reference-typesHeejin Ahn2019-11-133-3/+19
| | | | | | | | | | | | | | | Summary: This adds `-mreference-types` and `-mno-reference-types` flags to clang and make `-fwasm-exceptions` enables reference types feature in clang and the backend. Reviewers: tlively Subscribers: dschuff, sbc100, jgravelle-google, sunfish, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69832
* [unittests] Add InitializePasses.h includesHeejin Ahn2019-11-137-2/+7
| | | | | | | | | | | | | | Summary: After D70211, Pass.h does not include InitializePasses.h anymore, so these files need to include InitializePasses.h directly. Reviewers: rnk Subscribers: MatzeB, mehdi_amini, zzheng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70217
* [LLDB] Don't install the pretty stack trace handler twice.Jonas Devlieghere2019-11-131-7/+3
| | | | | | | | | I noticed that currently we are printing LLVM's pretty stack trace twice. The reason is that we're calling PrintStackTraceOnErrorSignal in addition to InitLLVM, which besides some other useful things, also register LLVM's pretty stack trace handler. Differential revision: https://reviews.llvm.org/D70216
* Move CodeGenFileType enum to Support/CodeGen.hReid Kleckner2019-11-1318-47/+46
| | | | | | | Avoids the need to include TargetMachine.h from various places just for an enum. Various other enums live here, such as the optimization level, TLS model, etc. Data suggests that this change probably doesn't matter, but it seems nice to have anyway.
* [AMDGPU] Fixed dpp test. NFC.Stanislav Mekhanoshin2019-11-131-1/+1
|
* [cmake] Remove confusing condition argument from else() NFCTom Stellard2019-11-131-1/+1
| | | | | | | | | | | | | | | | Summary: This makes it look like an elseif and also the variable referenced in the condition was removed from this function in r366622. Reviewers: dsanders, beanz, smeenai, compnerd, phosek Reviewed By: beanz Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70159
* Revert "Forward declare Optional<T> in STLExtras.h"Reid Kleckner2019-11-1311-14/+4
| | | | | | This reverts commit a36f316390d4bc1bcb0e9de0f55831385ab24099. I did not intend to push this with the InitializePasses.h change.
* Sink all InitializePasses.h includesReid Kleckner2019-11-13393-198/+596
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This file lists every pass in LLVM, and is included by Pass.h, which is very popular. Every time we add, remove, or rename a pass in LLVM, it caused lots of recompilation. I found this fact by looking at this table, which is sorted by the number of times a file was changed over the last 100,000 git commits multiplied by the number of object files that depend on it in the current checkout: recompiles touches affected_files header 342380 95 3604 llvm/include/llvm/ADT/STLExtras.h 314730 234 1345 llvm/include/llvm/InitializePasses.h 307036 118 2602 llvm/include/llvm/ADT/APInt.h 213049 59 3611 llvm/include/llvm/Support/MathExtras.h 170422 47 3626 llvm/include/llvm/Support/Compiler.h 162225 45 3605 llvm/include/llvm/ADT/Optional.h 158319 63 2513 llvm/include/llvm/ADT/Triple.h 140322 39 3598 llvm/include/llvm/ADT/StringRef.h 137647 59 2333 llvm/include/llvm/Support/Error.h 131619 73 1803 llvm/include/llvm/Support/FileSystem.h Before this change, touching InitializePasses.h would cause 1345 files to recompile. After this change, touching it only causes 550 compiles in an incremental rebuild. Reviewers: bkramer, asbirlea, bollu, jdoerfert Differential Revision: https://reviews.llvm.org/D70211
* Forward declare Optional<T> in STLExtras.hReid Kleckner2019-11-1311-4/+14
| | | | WIP stats
* [AMDGPU] Fixed mfma-loop test. NFC.Stanislav Mekhanoshin2019-11-131-26/+111
|
* [LLDB] Cleanup the DataEncoder utility. (NFC)Jonas Devlieghere2019-11-134-180/+47
| | | | | This commit removes unused methods from the DataEncoder class and cleans up the API by making all the internal methods private.
* Revert a hunk from 9634064cfa1b9bf7b7Reid Kleckner2019-11-131-1/+1
| | | | | | | | | | | | This causes errors when building LLDB because the Windows implementation doesn't implement this method: C:\src\llvm-project\lldb\source\Plugins\ScriptInterpreter\Python\ScriptInterpreterPython.cpp(915,19): error: allocating an object of abstract class type 'lldb_private::ConnectionGenericFile' new ConnectionGenericFile(read_file, true)); ^ C:\src\llvm-project\lldb\include\lldb/Utility/Connection.h(174,28): note: unimplemented pure virtual method 'GetReadObject' in 'ConnectionGenericFile' virtual lldb::IOObjectSP GetReadObject() = 0; ^
* [LLDB] Implement pure virtual method in MockConnectionJonas Devlieghere2019-11-131-0/+2
| | | | | I made GetReadObject pure virtual in the base class and forgot to add the method to the mock class.
* Sink MachineFunction private method out of lineReid Kleckner2019-11-132-9/+10
| | | | | | | This method is private and only called from this file and doesn't need to be inline. Saves a TargetMachine.h include in MachineFunction.h, a popular header. The include was introduced in 98603a8153086 despite the forward decl of LLVMTargetMachine.
* [X86] Don't treat mxcsr as a register name when parsing MS inline assembly.Craig Topper2019-11-132-3/+12
| | | | | No instruction takes mxcsr as a an operand so we should always treat it as an identifier name.
* [LLDB] Fix another set of -Wdocumentation warningsJonas Devlieghere2019-11-133-6/+3
| | | | | At this point I'm just fixing issues as I see them pop up locally in incremental builds.
* [LLDB] Remove dead code from StreamFileJonas Devlieghere2019-11-132-23/+0
|
* [RegisterContext] Remove now unneded vestiges.Davide Italiano2019-11-134-24/+0
|
* [LLDB] Fix a bunch of -Wdocumentation warnings in ExpressionParserJonas Devlieghere2019-11-136-111/+35
|
* Remove redundant check. (NFC)Adrian Prantl2019-11-131-3/+0
|
* Use cheaper, equivalent predicate. (NFC)Adrian Prantl2019-11-131-1/+1
|
* [X86] Don't set the operation action for i16 SINT_TO_FP to Promote just ↵Craig Topper2019-11-133-45/+44
| | | | | | | because SSE1 is enabled. Instead do custom promotion in the handler so that we can still allow i16 to be used with fp80. And f64 without sse2.
* [X86] Fix typo in comment. NFCCraig Topper2019-11-131-1/+1
|
* [X86] Move all the FP_TO_XINT/XINT_TO_FP setOperationActions into the same ↵Craig Topper2019-11-131-41/+28
| | | | | | | | | !useSoftFloat block. Qualify all of the Promote actions for these with !useSoftFloat too. NFCI The Promote action doesn't apply until LegalizeDAG. By the time we get there, we would have already softened all the FP operations if useSoftFloat was true. So there wouldn't be any operation left to Promote.
* Rename clang-module-related *DWO* functions to *ClangModule* (NFC)Adrian Prantl2019-11-135-46/+41
| | | | | | | This avoids confusing them with fission-related functionality. I also moved two accessor functions from DWARFDIE into static functions in DWARFASTParserClang were their only use is located.
* [PGO][PGSO] Temporarily disable the large working set size behavior.Hiroshi Yamauchi2019-11-132-2/+10
| | | | | | | | | | | | | | Summary: This temporarily disables the large working set size behavior in profile guided size optimization due to internal benchmark regressions. Reviewers: davidxl Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70207
* libc++ status page: Fix HTML.Marek Kurdej2019-11-131-1/+1
|
* [SimplifyCFG] add test for select with FMF; NFCSanjay Patel2019-11-131-6/+33
|
* Rename ParseTypeFromDWO to ParseTypeFromClangModule (NFC)Adrian Prantl2019-11-132-26/+27
| | | | | Because that is what this function really does. The old name is misleading.
* Revert "[RISCV] Use compiler-rt if no GCC installation detected"Richard Smith2019-11-138-45/+19
| | | | | | | This change causes test failures for builds configured with -DCLANG_DEFAULT_RTLIB=compiler-rt. This reverts commit 3289352e6bb9d2949c678c625478024bf2a5fbfb.
* [SLP] fix miscompile on min/max reductions with extra uses (PR43948)Sanjay Patel2019-11-133-3/+16
| | | | | | | | | | | | | | | | | The bug manifests as replacing a reduction operand with an undef value. The problem appears to be limited to cases where a min/max reduction has extra uses of the compare operand to the select. In the general case, we are tracking "ExternallyUsedValues" and an "IgnoreList" of the reduction operations, but those may not apply to the final compare+select in a min/max reduction. For that, we use replaceAllUsesWith (RAUW) to ensure that the new vectorized reduction values are transferred to all subsequent users. Differential Revision: https://reviews.llvm.org/D70148
* [clang-format] refactor the use of the SMDiagnostics in replacement warningsmydeveloperday2019-11-131-40/+9
| | | | | | | | | | | | | | | | | Summary: Review comments in {D69854} recommended a simpler approach of creating the SMDiagnostics to remove much of the complexity. (thanks @thakis) @vlad.tsyrklevich I've rebuilt on both Windows and Linux (running Linux with Address and Undefined sanitizers) over the clang code base Reviewers: thakis, klimek, mitchell-stellar, vlad.tsyrklevich Reviewed By: thakis Subscribers: cfe-commits, thakis, vlad.tsyrklevich Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D69921
* [LLD] [COFF] Fix automatically importing data symbols from DLLs with LTOMartin Storsjö2019-11-132-2/+28
| | | | | | | | | | | | | | | | This broke in 51dcb292cc002, "[lld-link] diagnose undefined symbols before LTO when possible" (very soon after the 9.0 branch, so luckily the 9.0 release is unaffected). The code for loading objects we believe might be needed for autoimport (loadMinGWAutomaticImports()) does run before the new reportUnresolvable() function, but it had a condition to only operate on symbols from regular object files. This condition came from resolveRemainingUndefines(), but as loadMinGWAutomaticImports() now has to operate before the LTO, it has to operate on undefineds from LTO objects as well. Differential Revision: https://reviews.llvm.org/D70166
* Add -disable-builtin option to optDimitry Andric2019-11-132-0/+40
| | | | | | | | | | | | | | | | | | Summary: The option allows to disable specific target library builtin functions, instead of -disable-simplify-libcalls, which disables all of them. This is a prerequisite for D70143, which fixes PR43081. Reviewers: xbolva00, spatel, jdoerfert, efriedma Reviewed By: efriedma Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70193
* [LLDB] Fix a bunch of -Wdocumentation warningsJonas Devlieghere2019-11-1353-404/+212
|
* [dsymutil] Add -dump to llvm-bcanalyzer invocationsFrancis Visoiu Mistrih2019-11-132-4/+4
|
* [TargetLowering] Increase the storage size of NumRegistersForVT to allow the ↵Craig Topper2019-11-132-2/+5
| | | | | | | | | | type break down for v256i1 and other types to be stored correctly v256i1 on X86 without avx512 breaks down to 256 i8 values when passed between basic blocks. But the NumRegistersForVT was sized at a byte for each VT. This results in 256 being stored as 0. This patch enlarges the type to 16 bits and adds an assert to ensure that no information is lost when the entry is stored. Differential Revision: https://reviews.llvm.org/D70138
* [mips] Reduce number of nested `if` statements. NFCSimon Atanasyan2019-11-131-8/+5
|
* [mips] Add test to check ELF output for JAL XGOT expansion. NFCSimon Atanasyan2019-11-131-0/+216
|
OpenPOWER on IntegriCloud