summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add a comment mirroring the one in LLVM's Dwarf.hAdrian Prantl2016-07-141-0/+1
| | | | llvm-svn: 275356
* MIRParser: Fix MIRParser not reporting nullptr on error.Matthias Braun2016-07-141-1/+1
| | | | | | | While some code paths in MIRParserImpl::parse() already returned nullptr in case of error one of the important ones did not. llvm-svn: 275355
* Synchronize LLVM and clang's ObjCDeclSpec::ObjCPropertyAttributeKind.Adrian Prantl2016-07-147-19/+77
| | | | | | | | | | This adds Clang-specific DWARF constants for nullability and ObjC class properties that are already generated by clang. This patch adds dwarfdump support and a more comprehensive testcase. <rdar://problem/27335745> llvm-svn: 275354
* [Object] Revert r275316, Archive::child_iterator changes, while I update lld.Lang Hames2016-07-1415-236/+197
| | | | | | Should fix the bots broken by r275316. llvm-svn: 275353
* [ConstantFolding] Fold masked loadsDavid Majnemer2016-07-142-1/+47
| | | | | | | | | We can constant fold a masked load if the operands are appropriately constant. Differential Revision: http://reviews.llvm.org/D22324 llvm-svn: 275352
* www/cxx_status: give more precise links to initialization order wordingRichard Smith2016-07-141-2/+6
| | | | llvm-svn: 275351
* P0305R0: Semantic analysis and code generation for C++17 init-statement for ↵Richard Smith2016-07-1422-62/+369
| | | | | | | | | | 'if' and 'switch': if (stmt; condition) { ... } Patch by Anton Bikineev! Some minor formatting and comment tweets by me. llvm-svn: 275350
* Force a semicolon at the end of the LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE() ↵Justin Lebar2016-07-131-1/+2
| | | | | | | | macro. This silences a warning about an extra semicolon on gcc. llvm-svn: 275349
* Add EnableIPRA to TargetOptions, and move the cl::opt -enable-ipra to ↵Mehdi Amini2016-07-135-13/+17
| | | | | | | | | | | | TargetMachine.cpp Avoid exposing a cl::opt in a public header and instead promote this option in the API. Alternatively, we could land the cl::opt in CommandFlags.h so that it is available to every tool, but we would still have to find an option for clang. llvm-svn: 275348
* [IPRA] Set callee saved registers to none for local function when IPRA is ↵Mehdi Amini2016-07-135-10/+46
| | | | | | | | | | | | | | | | | | | | enabled. IPRA try to optimize caller saved register by propagating register usage information from callee to caller so it is beneficial to have caller saved registers compare to callee saved registers when IPRA is enabled. Please find more detailed explanation here https://groups.google.com/d/msg/llvm-dev/XRzGhJ9wtZg/tjAJqb0eEgAJ. This change makes local function do not have any callee preserved register when IPRA is enabled. A simple test case is also added to verify this change. Patch by Vivek Pandya <vivekvpandya@gmail.com> Differential Revision: http://reviews.llvm.org/D21561 llvm-svn: 275347
* [JumpThreading] Delete commented out debug code; NFCSanjoy Das2016-07-131-3/+0
| | | | llvm-svn: 275346
* [ConstantFolding] Extend FoldReinterpretLoadFromConstPtr to handle negative ↵David Majnemer2016-07-132-10/+28
| | | | | | | | | offsets Treat loads which clip before the start of a global initializer the same way we treat clipping beyond the end of the initializer: use zeros. llvm-svn: 275345
* Move a transform from InstCombine to InstSimplify.David Majnemer2016-07-132-4/+9
| | | | | | | This transform doesn't require any new instructions, it can safely live in InstSimplify. llvm-svn: 275344
* Fix copy/paste bug in r275340.Michael Kuperstein2016-07-131-1/+1
| | | | llvm-svn: 275343
* MIRParser: Move SlotMapping and SourceMgr refs to PFS; NFCMatthias Braun2016-07-133-88/+69
| | | | | | | | Code cleanup: Move references to SlotMapping and SourceMgr into the PerFunctionMIParsingState to avoid unnecessary passing around in parameters. llvm-svn: 275342
* [DAG] Correctly chain masked loadsMichael Kuperstein2016-07-132-9/+24
| | | | | | | | | If a masked loads is not added to the chain, it should not reset the chain's root. This fixes the remaining part of PR28515. llvm-svn: 275340
* [SCCP] Have the logic for replacing insts with constant in a single place.Davide Italiano2016-07-131-53/+50
| | | | | | | | | The code was pretty much copy-pasted between SCCP and IPSCCP. The situation became clearly worse after I introduced the support for folding structs in SCCP. This commit is NFC as we currently (still) skip the replacement step in IPSCCP, but I'll change this soon. llvm-svn: 275339
* [Coverage] Return an ArrayRef to avoid copies (NFC)Vedant Kumar2016-07-131-1/+1
| | | | llvm-svn: 275338
* [Coverage] Mark a few methods const (NFC)Vedant Kumar2016-07-132-3/+3
| | | | llvm-svn: 275337
* Added test for setting breakpoints by basename and fullname.Greg Clayton2016-07-131-0/+67
| | | | | | <rdar://problem/24599697> llvm-svn: 275336
* [LAA] Don't hold on to DominatorTree in the analysis resultAdam Nemet2016-07-132-8/+7
| | | | llvm-svn: 275335
* [LAA] Don't hold on to TargetLibraryInfo in the analysis resultAdam Nemet2016-07-132-10/+9
| | | | llvm-svn: 275334
* [MIR] Fix one GlobalISel test case that I missed in r275314.Quentin Colombet2016-07-131-3/+2
| | | | llvm-svn: 275333
* [MI] Clean up some loops over MachineInstr::memoperands(). NFCJustin Lebar2016-07-131-14/+11
| | | | | | | Use range-based for loops and llvm::any_of instead of explicit iterators. llvm-svn: 275332
* [MI] Fix MachineInstr::isInvariantLoad.Justin Lebar2016-07-131-2/+1
| | | | | | | | | | | | | | | | | | | | Summary: Previously it would say we had an invariant load if any of the memory operands were invariant. But the load should be invariant only if *all* the memory operands are invariant. No testcase because this has proven to be very difficult to tickle in practice. As just one example, ARM's ldrd instruction, which loads 64 bits into two 32-bit regs, is theoretically affected by this. But when it's produced, it loses its memoperands' invariance bits! Reviewers: jfb Subscribers: llvm-commits, aemerson Differential Revision: http://reviews.llvm.org/D22318 llvm-svn: 275331
* Add XRay flags to Clang. We implement two flags to control the XRay behaviour:Aaron Ballman2016-07-1312-1/+147
| | | | | | | | | | | -fxray-instrument: enables XRay annotation of IR -fxray-instruction-threshold: configures the threshold for function size (looking at IR instructions), and allow LLVM to decide whether to add the nop sleds later on in the process. Also implements the related xray_always_instrument and xray_never_instrument function attributes. Patch by Dean Michael Berris. llvm-svn: 275330
* MIRParser: Move MachineFunction reference into PFS; NFCMatthias Braun2016-07-133-141/+132
| | | | | | | | | | Code cleanup: The PerFunctionMIParsingState is per function, moving a reference into PFS we can avoid passing around the MachineFunction in an extra parameter most of the time. Also change most signatures to consistently pass PFS reference first. llvm-svn: 275329
* MIRYamlMapping: Update stale commentMatthias Braun2016-07-131-3/+0
| | | | llvm-svn: 275328
* Add a triple to fix test on bots after 275320.Nico Weber2016-07-131-1/+1
| | | | llvm-svn: 275327
* [LAA] Don't hold on to DataLayout in the analysis resultAdam Nemet2016-07-132-17/+11
| | | | | | | In fact, don't even pass this to the ctor since we can get it from the module. llvm-svn: 275326
* [LAA] Don't hold on to LoopInfo in the analysis resultAdam Nemet2016-07-132-7/+5
| | | | llvm-svn: 275325
* [test] Add 'env' to fix test failures in windows bots.Argyrios Kyrtzidis2016-07-131-1/+1
| | | | llvm-svn: 275324
* [OpenMP] remove duplicate code in ActOnOpenMPRegionStartKelvin Li2016-07-131-153/+21
| | | | | | | | This patch is to remove duplicate code in ActOnOpenMPRegionStart. (NFC) Differential Revision: http://reviews.llvm.org/D22177 llvm-svn: 275323
* [LAA] Don't hold on to AliasAnalysis in the analysis resultAdam Nemet2016-07-132-9/+7
| | | | llvm-svn: 275322
* [llvm-cov] Use a thread pool to speed up report generation (NFC)Vedant Kumar2016-07-131-24/+75
| | | | | | | | | | | | | | It's safe to print out source coverage views using multiple threads when using the -output-dir mode of the `llvm-cov show` sub-command. While testing this on my development machine, I observed that the speed up is roughly linear with the number of available cores. Avg. time for `llvm-cov show ./llvm-as -show-line-counts-or-regions`: 1 thread: 7.79s user 0.33s system 98% cpu 8.228 total 4 threads: 7.82s user 0.34s system 283% cpu 2.880 total llvm-svn: 275321
* Fix a TODO in X86CallFrameOptimization to not rely on a codegen artifact.Nico Weber2016-07-132-16/+16
| | | | | | | | | This happens to make X86CallFrameOptimization in -O0 / FastISel builds as well, but it's not clear if the pass should run in that setup. http://reviews.llvm.org/D22314 llvm-svn: 275320
* Mark the textual headers in the module map for ProfileDataTeresa Johnson2016-07-131-0/+2
| | | | | | Follow on to r275312. llvm-svn: 275319
* [OpenCL] Fixes failures in test/Driver/opencl.cl.Yaxun Liu2016-07-133-51/+51
| | | | | | | | | | Also fixes strict-aliasing option to only be allowed when OpenCL Version 1.0. Added testcase in test/Frontend/opencl-blocks.cl. Patch by Aaron En Ye Shi. Differential Revision: http://reviews.llvm.org/D22170 llvm-svn: 275318
* Extended LoadStoreVectorizer to vectorize subchains.Alina Sbirlea2016-07-132-71/+121
| | | | | | | | | | | | | | Summary: LSV used to abort vectorizing a chain for interleaved load/store accesses that alias. Allow a valid prefix of the chain to be vectorized, mark just the prefix and retry vectorizing the remaining chain. Reviewers: llvm-commits, jlebar, arsenm Subscribers: mzolotukhin Differential Revision: http://reviews.llvm.org/D22119 llvm-svn: 275317
* [Object] Change Archive::child_iterator for better interop with Error/Expected.Lang Hames2016-07-1315-197/+236
| | | | | | | | | | | | | | | | | | | | | | | See http://reviews.llvm.org/D22079 Changes the Archive::child_begin and Archive::children to require a reference to an Error. If iterator increment fails (because the archive header is damaged) the iterator will be set to 'end()', and the error stored in the given Error&. The Error value should be checked by the user immediately after the loop. E.g.: Error Err; for (auto &C : A->children(Err)) { // Do something with archive child C. } // Check the error immediately after the loop. if (Err) return Err; Failure to check the Error will result in an abort() when the Error goes out of scope (as guaranteed by the Error class). llvm-svn: 275316
* [OpenMP] add more tests for 'distribute parallel for simd' pragmaKelvin Li2016-07-132-0/+1770
| | | | | | | | This patch is to add two additional tests for testing 'distribute parallel for simd' pragma with disallowed clauses and loops. Differential Revision: http://reviews.llvm.org/D22169 llvm-svn: 275315
* [MIR] Print on the given output instead of stderr.Quentin Colombet2016-07-13100-107/+107
| | | | | | | | | | | | Currently the MIR framework prints all its outputs (errors and actual representation) on stderr. This patch fixes that by printing the regular output in the output specified with -o. Differential Revision: http://reviews.llvm.org/D22251 llvm-svn: 275314
* [PCH/preamble] Make sure that if the preamble/PCH was serialized with errors ↵Argyrios Kyrtzidis2016-07-1310-5/+90
| | | | | | | | | | that we set diagnostic engine state appropriately. Otherwise there can be a crash with CFG analysis warnings doing work on invalid AST. Fixes crash of rdar://26224134 llvm-svn: 275313
* Define a module map entry for ProfileData.Teresa Johnson2016-07-131-0/+8
| | | | | | | | As per Richard Smith, this should help avoid a modules bug exposed by my r275216 commit: http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/17560 llvm-svn: 275312
* PPCGCodegen: Support compilation without GPU supportTobias Grosser2016-07-132-0/+13
| | | | llvm-svn: 275310
* AMDGPU: Remove last AMDIL intrinsicsMatt Arsenault2016-07-133-23/+2
| | | | llvm-svn: 275309
* [SCCP] Factor out common code.Davide Italiano2016-07-131-8/+9
| | | | llvm-svn: 275308
* [SCCP] Use early return. NFCI.Davide Italiano2016-07-131-5/+5
| | | | llvm-svn: 275307
* [OpenMP] add more tests for 'distribute simd' pragmaKelvin Li2016-07-132-0/+1873
| | | | | | | | This patch is to add two additional tests for testing 'distribute simd' pragma with disallowed clauses and loops. Differential Revision: http://reviews.llvm.org/D22176 llvm-svn: 275306
* Update the readme text.Rui Ueyama2016-07-131-0/+7
| | | | llvm-svn: 275305
OpenPOWER on IntegriCloud