summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a few places that were building a regex from an identifier without ↵Greg Clayton2016-06-102-2/+2
| | | | | | | | escaping the identifier text. <rdar://problem/26090553> llvm-svn: 272423
* Remove a few gendered pronouns.Nico Weber2016-06-103-3/+3
| | | | llvm-svn: 272422
* Disable MSan-hostile loop unswitching.Evgeniy Stepanov2016-06-101-0/+18
| | | | | | | | | | | | | Loop unswitching may cause MSan false positive when the unswitch condition is not guaranteed to execute. This is very similar to ASan and TSan special case in llvm::isSafeToSpeculativelyExecute (they don't like speculative loads and stores), but for branch instructions. This is a workaround for PR28054. llvm-svn: 272421
* Move isGuaranteedToExecute out of LICM.Evgeniy Stepanov2016-06-103-67/+71
| | | | | | | Also rename LICMSafetyInfo to LoopSafetyInfo. Both will be used in LoopUnswitch in a separate change. llvm-svn: 272420
* [SystemZ] Support Compare and TrapsZhan Jun Liau2016-06-1012-44/+776
| | | | | | | | | | | | Support and generate Compare and Traps like CRT, CIT, etc. Support Trap as legal DAG opcodes and generate "j .+2" for them by default. Add support for Conditional Traps and use the If Converter to convert them into the corresponding compare and trap opcodes. Differential Revision: http://reviews.llvm.org/D21155 llvm-svn: 272419
* AMDGPU/SI: Don't use fixup_si_rodata for scratch rsrc relocationsTom Stellard2016-06-103-3/+11
| | | | | | | | | | | | | | | Summary: We need to set the fixup type to FK_Data_4 for the SCRATCH_RSRC_DWORD[01] symbols, since these require absolute relocations, and fixup_si_rodata is for relative relocations. Reviewers: arsenm, kzhuravl Subscribers: arsenm, kzhuravl, llvm-commits Differential Revision: http://reviews.llvm.org/D21153 llvm-svn: 272417
* Move CodeGen test from Generic to X86 specific directoryMehdi Amini2016-06-101-0/+0
| | | | llvm-svn: 272416
* Remove a few gendered pronouns.Nico Weber2016-06-105-8/+7
| | | | llvm-svn: 272415
* Interprocedural Register Allocation (IPRA): add a Transformation PassMehdi Amini2016-06-105-0/+172
| | | | | | | | | | | | Adds a MachineFunctionPass that scans the body to find calls, and update the register mask with the one saved by the RegUsageInfoCollector analysis in PhysicalRegisterUsageInfo. Patch by Vivek Pandya <vivekvpandya@gmail.com> Differential Revision: http://reviews.llvm.org/D21180 llvm-svn: 272414
* Strip Android version when looking up toolchain paths.Josh Gao2016-06-104-1/+19
| | | | | | | | | | | | | | | | Summary: Android target triples can include a version number in the abi field (e.g. 'aarch64-linux-android21'), used for checking for availability. However, the driver was searching for toolchain binaries using the passed in triple as a prefix. Reviewers: srhines, danalbert, t.p.northover Subscribers: t.p.northover, aemerson, tberghammer, danalbert, srhines, cfe-commits Differential Revision: http://reviews.llvm.org/D21163 llvm-svn: 272413
* [-fms-extensions] Permit incomplete types in dynamic exception specificationsDavid Majnemer2016-06-103-3/+12
| | | | | | | | | | Microsoft headers, comdef.h and comutil.h, assume that this is an OK thing to do. Downgrade the hard error to a warning if we are in -fms-extensions mode. This fixes PR28080. llvm-svn: 272412
* [x86] add test for PR28044Sanjay Patel2016-06-101-0/+62
| | | | llvm-svn: 272411
* Add a period. NFC.Chad Rosier2016-06-101-1/+1
| | | | llvm-svn: 272410
* Fix whitespace. NFC.Chad Rosier2016-06-101-1/+1
| | | | llvm-svn: 272409
* test: split test into two filesSaleem Abdulrasool2016-06-102-38/+39
| | | | | | | Split up the test cases into two inputs as per post-commit review comments from Renato. NFC. llvm-svn: 272408
* SBThread also had some places where it got the ExecutionContext w/o Jim Ingham2016-06-101-9/+27
| | | | | | taking the API lock. llvm-svn: 272407
* [X86] Add costs for SSE zext/sext to v4i64 to TTIMichael Kuperstein2016-06-103-0/+96
| | | | | | | | | The costs are somewhat hand-wavy, but should be much closer to the truth than what we get from BasicTTI. Differential Revision: http://reviews.llvm.org/D21156 llvm-svn: 272406
* [profile] fix bot failure on darwinXinliang David Li2016-06-102-6/+8
| | | | | | | Profile setting accross shared lib is broken on darwin (to be investigated). Move the test to Linux only for now llvm-svn: 272404
* Interprocedural Register Allocation (IPRA) AnalysisMehdi Amini2016-06-1012-0/+383
| | | | | | | | | | | | | | | | | | | | | | | Add an option to enable the analysis of MachineFunction register usage to extract the list of clobbered registers. When enabled, the CodeGen order is changed to be bottom up on the Call Graph. The analysis is split in two parts, RegUsageInfoCollector is the MachineFunction Pass that runs post-RA and collect the list of clobbered registers to produce a register mask. An immutable pass, RegisterUsageInfo, stores the RegMask produced by RegUsageInfoCollector, and keep them available. A future tranformation pass will use this information to update every call-sites after instruction selection. Patch by Vivek Pandya <vivekvpandya@gmail.com> Differential Revision: http://reviews.llvm.org/D20769 llvm-svn: 272403
* This patch fixes target linker emulation for ARM 32 big endian.Strahinja Petrovic2016-06-102-3/+3
| | | | llvm-svn: 272402
* [streambuf] Added call to traits_type::copy to common case in xsgetn()Evandro Menezes2016-06-101-2/+12
| | | | | | | | | Patch by Laman Sole <laxman.g@partner.samsung.com>, Sebastian Pop <s.pop@samsung.com>, Aditya Kumar <aditya.k7@samsung.com> Differential Revision: http://reviews.llvm.org/D21103 llvm-svn: 272401
* [AArch64] Add preferred alignments for Exynos M1Evandro Menezes2016-06-103-2/+13
| | | | | | Differential Revision: http://reviews.llvm.org/D21203 llvm-svn: 272400
* [Hexagon] Remove incorrect offset scalingKrzysztof Parzyszek2016-06-101-4/+2
| | | | llvm-svn: 272399
* [x86] fix test attributes and autogenerate checksSanjay Patel2016-06-101-37/+50
| | | | llvm-svn: 272398
* [x86] add missing tests for fcmp ueq/oneSanjay Patel2016-06-101-0/+212
| | | | | | | | | | | | Somehow, the codegen logic for these sequences has gone completely untested until now (note the 2 compare instructions generated per test). There's also an *Intel* AVX optimization opportunity exposed in these cases and the existing tests. Intel's (but not AMD's) AVX spec shows that extra FP predicates were added, so a single comparison should always be sufficient, and operand commutation should never be necessary. llvm-svn: 272397
* [x86] regenerate checksSanjay Patel2016-06-101-184/+309
| | | | llvm-svn: 272396
* Reapply "[TTI] Refine default cost for interleaved load groups with gaps"Matthew Simpson2016-06-102-0/+87
| | | | | | | | This reapplies commit r272385 with a fix. The build was failing when compiled with gcc, but not with clang. With the fix, we now get the data layout from the current TTI implementation, which will hopefully solve the issue. llvm-svn: 272395
* Preallocate ExplodedNode hash tableBen Craig2016-06-102-0/+7
| | | | | | | | | | | | | | | | | | | | | | Rehashing the ExplodedNode table is very expensive. The hashing itself is expensive, and the general activity of iterating over the hash table is highly cache unfriendly. Instead, we guess at the eventual size by using the maximum number of steps allowed. This generally avoids a rehash. It is possible that we still need to rehash if the backlog of work that is added to the worklist significantly exceeds the number of work items that we process. Even if we do need to rehash in that scenario, this change is still a win, as we still have fewer rehashes that we would have prior to this change. For small work loads, this will increase the memory used. For large work loads, it will somewhat reduce the memory used. Speed is significantly increased. A large .C file took 3m53.812s to analyze prior to this change. Now it takes 3m38.976s, for a ~6% improvement. http://reviews.llvm.org/D20933 llvm-svn: 272394
* Test commitRoman Shirokiy2016-06-101-3/+3
| | | | llvm-svn: 272393
* [X86][SSE] Added target shuffle combine tests for byte shift/rotates ↵Simon Pilgrim2016-06-101-0/+50
| | | | | | (PSLLDQ/PSRLDQ/PALIGNR) llvm-svn: 272392
* Revert "[TTI] Refine default cost for interleaved load groups with gaps"Matthew Simpson2016-06-102-86/+0
| | | | | | | This reverts commit r272385. This commit broke the build. I'm temporarily reverting to investigate. llvm-svn: 272391
* [ELF] Use static function isPreemptible instead of ↵Simon Atanasyan2016-06-101-1/+1
| | | | | | | | SymbolBody::isPreemptible. NFC Just for consistency with other parts of the code. llvm-svn: 272390
* [ELF][MIPS] Move MIPS specific code under `if` block to accent its ↵Simon Atanasyan2016-06-101-14/+17
| | | | | | specificity. NFC llvm-svn: 272389
* [ELF][MIPS] Fix mask used to parse MIPS 3-in-1 relocation packetSimon Atanasyan2016-06-101-2/+2
| | | | | | | | In isPreemptible routine we interested in R_MIPS_GPREL16 relocation only. This relocation fits 0xf. So the new mask 0xff is just to conform the ABI specification. llvm-svn: 272388
* [include-fixer] give users an option to show N more headers in case there ↵Eric Liu2016-06-101-4/+15
| | | | | | | | | | | | | | are too many candidates. Summary: give users an option to show N more headers in case there are too many candidates. Reviewers: bkramer Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D21181 llvm-svn: 272387
* [ASTMatchers] New forEachOverriden matcher.Clement Courbet2016-06-107-9/+134
| | | | | | Matches methods overridden by the given method. llvm-svn: 272386
* [TTI] Refine default cost for interleaved load groups with gapsMatthew Simpson2016-06-102-0/+86
| | | | | | | | | | | | This patch refines the default cost for interleaved load groups having gaps. If a load group has gaps, the legalized instructions corresponding to the unused elements will be dead. Thus, we don't need to account for them in the cost model. Instead, we only need to account for the fraction of legalized loads that will actually be used. Differential Revision: http://reviews.llvm.org/D20873 llvm-svn: 272385
* [AMDGPU] AsmParser: Support for sext() modifier in SDWA. Some code cleaning ↵Sam Kolton2016-06-106-263/+362
| | | | | | | | | | | | | | | | | | in AMDGPUOperand. Summary: sext() modifier is supported in SDWA instructions only for integer operands. Spec is unclear should integer operands support abs and neg modifiers with sext - for now they are not supported. Renamed InputModsWithNoDefault to FloatInputMods. Added SextInputMods for operands that support sext() modifier. Added AMDGPUOperand::Modifier struct to handle register and immediate modifiers. Code cleaning in AMDGPUOperand class: organize method in groups (render-, predicate-methods...). Reviewers: vpykhtin, artem.tamazov, tstellarAMD Subscribers: arsenm, kzhuravl Differential Revision: http://reviews.llvm.org/D20968 llvm-svn: 272384
* [X86][AVX512] Added VPSLLDQ/VPSRLDQ memory fold testsSimon Pilgrim2016-06-101-12/+44
| | | | | | | | | | Memory operand is new for AVX512 (SSE/AVX2 didn't support it). Also dropped the 'mask' from the tests (VPSLLDQ/VPSRLDQ don't support masked operations). Regenerated VPALIGNR test now that the shuffle comments work llvm-svn: 272383
* Fix stale name in comment.Sean Silva2016-06-101-1/+1
| | | | llvm-svn: 272382
* clang-rename: fix the DynamicCastExpr test on ps4Miklos Vajna2016-06-101-1/+1
| | | | | | | | | | It has RTTI disabled by default, so need to enable it explicitly. Reviewers: silvas Differential Revision: http://reviews.llvm.org/D21186 llvm-svn: 272381
* test commit: remove trailing whitespaces in README.txtRoger Ferrer Ibanez2016-06-101-8/+8
| | | | llvm-svn: 272380
* [ELF] - Properly check that R_X86_64_PC32 and R_X86_64_32 relocations are ↵George Rimar2016-06-102-2/+4
| | | | | | | | | | | | | disallowed in DSO. Initially we wanted to check that these two relocations are not present when linking DSO because of possible overflow in runtime. Patch moves them to writable segment in testcases to allow proper error check to trigger. Otherwise error message about using dynamic relocations against text segment was shown. Differential revision: http://reviews.llvm.org/D21184 llvm-svn: 272379
* test commit: remove trailing whitespace in commentsClement Courbet2016-06-101-3/+3
| | | | llvm-svn: 272378
* [ELF] - Inform user that we do not support dynamic relocations against text ↵George Rimar2016-06-1013-15/+15
| | | | | | | | | | | | | | | | segment. It was reported in PR28020, that lld does not link code which gold do. But in fact that is expected behavior as we do not support DT_TEXTREL. This patch changes error message as it can report about relocations against text segments exclusively, other dynamic relocations errors can be handled separately. Differential revision: http://reviews.llvm.org/D21133 llvm-svn: 272377
* Bug fix remove another illegal char from prof symbol nameXinliang David Li2016-06-101-1/+1
| | | | | | | | End-end test with no integrated assembly should be added at some point (not done now because some bots are not properly configured to support -no-integrated-as) llvm-svn: 272376
* [profile] add profile path tests for shared libXinliang David Li2016-06-101-0/+14
| | | | | | | | Test that __llvm_profile_set_filename invoked in main program is 'visible' to shared lib (overriding shared libary's profile path set on command line) llvm-svn: 272375
* [LibFuzzer] Fix some unit test crashes on OSX.Dan Liew2016-06-101-0/+4
| | | | | | | | | | | | | | | | | | | | | This fixes the following unit tests: FuzzerDictionary.ParseOneDictionaryEntry FuzzerDictionary.ParseDictionaryFile The issue appears to be mixing non-ASan-ified code (LibFuzzer) and ASan-ified code (the unittest) as the tests would pass fine if everything was built with ASan enabled. I believe the issue is that different implementations of std::vector<> are being used in LibFuzzer and outside LibFuzzer (in the unittests). For Libcxx (I've not seen the issue manifest for libstdc++) we can disable the ASanified std::vector<> by definining the ``_LIBCPP_HAS_NO_ASAN`` macro. Doing this fixes the tests on OSX. Differential Revision: http://reviews.llvm.org/D21049 llvm-svn: 272374
* Add missing include for r272369Craig Topper2016-06-101-0/+1
| | | | llvm-svn: 272373
* [profile] add profile path testsXinliang David Li2016-06-101-0/+35
| | | | | | Testing profile path setter predendence. llvm-svn: 272372
OpenPOWER on IntegriCloud