summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [AMDGPU] Mark .note section SHF_ALLOC so lld creates a segment for itKonstantin Zhuravlyov2016-10-172-2/+9
| | | | | | Differential Revision: https://reviews.llvm.org/D25694 llvm-svn: 284435
* [ADT] Move CachedHashString to its own header in ADT, and rename to ↵Justin Lebar2016-10-177-53/+88
| | | | | | | | | | | | | | | | CachedHashStringRef. Summary: Reclaiming the name 'CachedHashString' will let us add a type with that name that owns its value. Reviewers: timshen Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25644 llvm-svn: 284434
* [ADT] Add an initializer_list constructor to {Small,}DenseSet.Justin Lebar2016-10-172-0/+21
| | | | | | | | | | Reviewers: timshen Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25629 llvm-svn: 284433
* [ADT] Add SmallDenseSet.Justin Lebar2016-10-172-13/+56
| | | | | | | | | | | | Summary: This matches SmallDenseMap. Reviewers: timshen Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25628 llvm-svn: 284432
* Next set of additional error checks for invalid Mach-O files for theKevin Enderby2016-10-176-0/+90
| | | | | | | | | | | | load commands that use the MachO::sub_framework_command, MachO::sub_umbrella_command, MachO::sub_library_command and MachO::sub_client_command types but are not used in llvm libObject code but used in llvm tool code. This includes the LC_SUB_FRAMEWORK, LC_SUB_UMBRELLA, LC_SUB_LIBRARY and LC_SUB_CLIENT load commands. llvm-svn: 284431
* [Driver] Use stem rather than filename for executable namePetr Hosek2016-10-171-1/+1
| | | | | | | | | | When comparing the linker name in Fuchsia driver, use stem rather than filename to get the name of the linker becase on Windows, the filename will have an extension. Differential Revision: https://reviews.llvm.org/D25700 llvm-svn: 284430
* Revert formatting changes.Zachary Turner2016-10-175-747/+99
| | | | | | | This reverts r288425 and r284428 as they are causing test crashes on some systems. llvm-svn: 284429
* Try to fix build after invalid pointer conversion.Zachary Turner2016-10-173-2/+18
| | | | llvm-svn: 284428
* remove FIXME comment (fixed with r284424); NFCSanjay Patel2016-10-171-2/+0
| | | | llvm-svn: 284427
* Handle multi-dimensional invariant load.Eli Friedman2016-10-172-0/+73
| | | | | | | If the address of a load depends on another load, make sure to emit the loads in the right order. llvm-svn: 284426
* [Support] Add support for "advanced" number formatting.Zachary Turner2016-10-175-98/+730
| | | | | | | | | | | | | | | raw_ostream has not afforded a lot of flexibility in terms of how to format numbers when outputting. Wrap this all up into a set of low level helper functions that can be used to output numbers with arbitrary precision, alignment, format, etc and then update raw_ostream to use these functions. This will be useful for upcoming improvements to llvm's string formatting libraries, but are still useful independently. Differential Revision: https://reviews.llvm.org/D25497 llvm-svn: 284425
* [DAG] use isConstOrConstSplat in ComputeNumSignBits to optimize SRASanjay Patel2016-10-172-11/+1
| | | | | | | | | | | | | | The scalar version of this pattern was noted in: https://reviews.llvm.org/D25485 and fixed with: https://reviews.llvm.org/rL284395 More refactoring of the constant/splat helpers is needed and will happen in follow-up patches. Differential Revision: https://reviews.llvm.org/D25685 llvm-svn: 284424
* Explicitly pass an isysroot to avoid the SDKROOT overriding the deployment ↵Adrian Prantl2016-10-171-2/+7
| | | | | | | | target. This fixes the green dragon builders after r284416. llvm-svn: 284423
* [lldb] Read modules from memory when a local copy is not availableWalter Erquinigo2016-10-172-69/+113
| | | | | | | | | | | | | | | | | | | Summary: When the local lldb doesn't have access to a copy of the modules in the target, e.g. winphone, with this change now we read these modules from memory. There are mainly 2 changes: 1. create pecoff object files from memory 2. read from memory when the local file is not available Reviewers: sas, fjricci, zturner Subscribers: #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D24284 llvm-svn: 284422
* [DAG] make isConstOrConstSplat and isConstOrConstSplatFP more accessible; NFCSanjay Patel2016-10-173-38/+45
| | | | | | | | | | | | As noted in: https://reviews.llvm.org/D25685 This is the next-to-smallest step needed to enable the ComputeNumSignBits fix in that patch. In a minor attempt to keep some structure, we're pulling the FP helper over along with its integer sibling, but clearly we can and should do more refactoring of the similar helper functions in DAGCombiner and SelectionDAG to simplify and not duplicate functionality. llvm-svn: 284421
* Improve the CHECK lines in debug-options.c by separating out the checkAdrian Prantl2016-10-171-19/+33
| | | | | | for debug info kind and dwarf version. llvm-svn: 284420
* [Coverage] Update test after r284418.Davide Italiano2016-10-171-1/+1
| | | | | | We now strip coverage metadata if debug info are not present. llvm-svn: 284419
* [opt] Strip coverage if debug info is not present.Davide Italiano2016-10-172-1/+25
| | | | | | | | | | | | | | | If -coverage is passed, but -g is not, clang populates the PassManager pipeline with StripSymbols(debugOnly = true). The stripSymbol pass therefore scans the list of named metadata, drops !llvm.dbg.cu, but leaves !llvm.gcov and !0 (the compileUnit MD) around. The verifier runs, and finds out that there's a CU not listed in !llvm.dbg.cu (as it was previously dropped) -> crash. When we strip debug info, so, check if there's coverage data, and strip it as well, in order to avoid pending metadata left around. Differential Revision: https://reviews.llvm.org/D25689 llvm-svn: 284418
* Update testcase for r284416.Adrian Prantl2016-10-171-1/+2
| | | | llvm-svn: 284417
* Driver/Darwin: Set the DWARF version based on the deployment target.Adrian Prantl2016-10-174-21/+40
| | | | | | | | | | | System utilities such as atos only support DWARF 4 on OS X 10.11+ and iOS 9+. We thus want to enable DWARF 4 only if the deployment target has a recent enough operating system version and use DWARF 2 for older systems. <rdar://problem/28766743> llvm-svn: 284416
* Ignore debug info when making optimization decisions in SimplifyCFG.Dehao Chen2016-10-172-15/+35
| | | | | | | | | | | | Summary: Debug info should *not* affect code generation. This patch properly handles debug info to make sure the generated code are the same with or without debug info. Reviewers: davidxl, mzolotukhin, jmolloy Subscribers: aprantl, llvm-commits Differential Revision: https://reviews.llvm.org/D25286 llvm-svn: 284415
* Delete dead code.Rafael Espindola2016-10-171-5/+0
| | | | llvm-svn: 284414
* Avoid using getComdatSymbolTable.Rafael Espindola2016-10-171-12/+17
| | | | | | | | | | This is not particularly efficient, but does avoid exposing Comdat* out of LTO.h. I will send a patch for review with a more efficient interface that should map nicely to a bitcode symbol table. llvm-svn: 284413
* [doc] use double `` to prevent html output of merging double dashMehdi Amini2016-10-171-3/+3
| | | | llvm-svn: 284412
* Test commit.Michael LeMay2016-10-171-1/+1
| | | | llvm-svn: 284411
* Handle relocations to thumb functions when dynamic linking COFF modulesWalter Erquinigo2016-10-173-13/+88
| | | | | | | | | | | | | | | | Summary: This adds the necessary logic to support relocations to thumb functions in the COFF dynamic linker. The jumps to function addresses are mostly blx, which requires the ISA selection bit when jumping to a thumb function. Note: I'm determining if the relocation requires the ISA bit when creating the relocation entries and not when resolving the relocation. I have to do that because I need the ObjectFile and the actual Symbol, which are available only when creating the entries. It would require a gross refactor if I do it otherwise, but I'm okay with doing it if you think it's better. Reviewers: peter.smith, compnerd Subscribers: rengolin, sas Differential Revision: https://reviews.llvm.org/D25151 llvm-svn: 284410
* Update for llvm change.Rafael Espindola2016-10-171-7/+7
| | | | llvm-svn: 284409
* Return a StringRef instead of a Comdat*.Rafael Espindola2016-10-172-9/+8
| | | | | | | This is a small step in making this interface compatible with an bitcode symbol table. llvm-svn: 284408
* ELF: Implement skip() as (void)next()Justin Bogner2016-10-171-9/+1
| | | | | | Thanks to Rafael for pointing out the simplification. llvm-svn: 284407
* GlobalISel: support wider range of load/store sizes in AArch64.Tim Northover2016-10-172-0/+168
| | | | llvm-svn: 284406
* unittests: Specify types in a bunch of unittest EXPECT'sJustin Bogner2016-10-176-178/+178
| | | | | | | The EXPECT and ASSERT macros in gtest don't do the usual arithmetic conversions. Specify types in several of them to fix -Werror. llvm-svn: 284405
* [ELF] Support for R_ARM_TARGET2 relocationPeter Smith2016-10-175-0/+90
| | | | | | | | | | | | | | | | | The R_ARM_TARGET2 relocation is used in ARM exception tables to encode a data dependency that will only be dereferenced by code in the run-time support library. In a similar way to R_ARM_TARGET1 the handling of the relocation is target specific, it maps to one of R_ARM_ABS32, R_ARM_REL32 or R_ARM_GOT_PREL. The choice depends on the run-time library. R_ARM_GOT_PREL is used for linux and BSD, R_ARM_ABS32 and R_ARM_REL32 are used for bare-metal. The command line option --target2=<target> can be used to select the relocation used for R_ARM_TARGET2. The default is R_ARM_GOT_PREL. Differential revision: https://reviews.llvm.org/D25684 llvm-svn: 284404
* [Driver] Use VFS to perform all distribution checksMichal Gorny2016-10-171-3/+3
| | | | | | | | | | Use the VFS provided by D.getVFS() for all distribution checks, including those performing read of the release file. Requested by @bruno on D24954. Differential Revision: https://reviews.llvm.org/D25641 llvm-svn: 284403
* Add a dummy file in each subdirectory in test/Driver/Inputs/hexagon_treeKrzysztof Parzyszek2016-10-176-0/+24
| | | | | | | | | | Git does not store empty subdirectories (while SVN does). Git clone of the clang repository did not create the fake Hexagon installation tree used for testing the driver. This only became evident after a change in the Hexagon toolchain that started checking for existence of certain directories. llvm-svn: 284402
* Hexagon: add dummy files to test dir so git keeps them.Tim Northover2016-10-172-0/+0
| | | | | | Should fix hexagon-elf-toolchain.c tests on Git. llvm-svn: 284401
* Fix a typo.Adrian Prantl2016-10-171-1/+1
| | | | llvm-svn: 284400
* [clang-tidy] Clean up code after applying replacements.Alexander Kornienko2016-10-176-27/+97
| | | | | | | | | | | | | | | Summary: Remove empty namespaces and initializer list commas / colons in affected ranges. Initial patch: proper options for enabling the cleanup and specifying the format style are needed. Reviewers: hokein, ioeric Subscribers: beanz, mgorny, cfe-commits Differential Revision: https://reviews.llvm.org/D24572 llvm-svn: 284399
* AMDGPU/SI: LowerParameter() should be computing align based on memory typeTom Stellard2016-10-171-1/+1
| | | | | | | | | | Reviewers: arsenm Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, tony-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D25203 llvm-svn: 284398
* AMDGPU/SI: Fix LowerParameter() for i16 argumentsTom Stellard2016-10-172-15/+19
| | | | | | | | | | | | | | Summary: If we are loading an i16 value from a 32-bit memory location, then we need to be able to truncate the loaded value to i16. Reviewers: arsenm Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, tony-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D25198 llvm-svn: 284397
* Rename skip(StringRef) -> consume(StringRef).Rui Ueyama2016-10-174-27/+27
| | | | | | | | skip() and skip(StringRef) were overloaded functions that have different semantics. This patch rename one of the functions to avoid function overloading. llvm-svn: 284396
* [DAG] optimize away an arithmetic-right-shift of a 0 or -1 valueSanjay Patel2016-10-172-3/+4
| | | | | | | | | This came up as part of: https://reviews.llvm.org/D25485 Note that the vector case is missed because ComputeNumSignBits() is deficient for vectors. llvm-svn: 284395
* [x86] add tests to show missing DAG folds for arithmetic-shift-rightSanjay Patel2016-10-171-0/+44
| | | | llvm-svn: 284394
* [x86] auto-generate checksSanjay Patel2016-10-171-0/+17
| | | | llvm-svn: 284393
* Reapply r284383. The test failures were due to a missing dir in test/Krzysztof Parzyszek2016-10-171-1/+1
| | | | llvm-svn: 284392
* [clang-move] Fix generating illegal header guard.Haojian Wu2016-10-171-4/+4
| | | | | | | | The filepath might contain some characters (i.e. '@') which are not illegal in c identifiers. This patch changes all non-alphanumeric characters to '_'. llvm-svn: 284391
* Rename interface for querying physical hardware concurrencyTeresa Johnson2016-10-173-5/+7
| | | | | | | | | | Based on post-commit review for D25585/r284180, rename hardware_physical_concurrency to heavyweight_hardware_concurrency, to better reflect what type of tasks it should be used for and to enable other systems to map this to something other than the number of physical cores. llvm-svn: 284390
* Revert r284383, while I figure out how to reproduce the failures locallyKrzysztof Parzyszek2016-10-171-1/+1
| | | | llvm-svn: 284389
* [ELF] - Add support for -nopieGeorge Rimar2016-10-173-1/+15
| | | | | | | | This is https://llvm.org/bugs/show_bug.cgi?id=30696, Differential revision: https://reviews.llvm.org/D25676 llvm-svn: 284388
* [Object/ELF] - Check Header->e_shoff value earlier and do not crash.George Rimar2016-10-173-0/+10
| | | | | | | | | Patch checks that section pointer is aligned properly. This should be done before getStringTable() call. Differential revision: https://reviews.llvm.org/D25462 llvm-svn: 284387
* [Support] remove_dots: Remove windows test.Benjamin Kramer2016-10-171-2/+0
| | | | | | | Windows doesn't have roots, so I think this test doesn't make sense there. llvm-svn: 284386
OpenPOWER on IntegriCloud