summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [asan] Disable tests more selectively.Akira Hatanaka2016-08-273-2/+3
| | | | | | | Add "target-arch+host-os" to the feature list to enable disabling the tests I committed in r279614 and r279880 more selectively. llvm-svn: 279918
* Convert some functions to use StringRef instead of c_str, lenZachary Turner2016-08-278-65/+62
| | | | | | | | | | | | | | | | | | | | | This started as an effort to change StringExtractor to store a StringRef internally instead of a std::string. I got that working locally with just 1 test failure which I was unable to figure out the cause of. But it was also a massive changelist due to a trickle down effect of changes. So I'm starting over, using what I learned from the first time to tackle smaller, more isolated changes hopefully leading up to a full conversion by the end. At first the changes (such as in this CL) will seem mostly a matter of preference and pointless otherwise. However, there are some places in my larger CL where using StringRef turned 20+ lines of code into 2, drastically simplifying logic. Hopefully once these go in they will illustrate some of the benefits of thinking in terms of StringRef. llvm-svn: 279917
* [asan] Use "REQUIRES: x86_64-target-arch" to disable the test on i386.Akira Hatanaka2016-08-271-1/+1
| | | | | | | My attempt to disable this test on i386 by adding "UNSUPPORTED: i386-apple" in r279880 wasn't succesful, so I'm using REQUIRES instead. llvm-svn: 279916
* [X86] Remove stale comment about FixupBWInsts pass being off by default. NFCCraig Topper2016-08-271-2/+0
| | | | llvm-svn: 279915
* [AVX-512] Allow EVEX encoding unordered/ordered/equal/notequal ↵Craig Topper2016-08-272-8/+28
| | | | | | VCMPPS/PD/SS/SD to be commuted just like the SSE and AVX counterparts. llvm-svn: 279914
* [X86] Enable FR32/FR64 cmpeq/cmpne/cmpunord/cmpord to be commuted.Craig Topper2016-08-273-4/+13
| | | | llvm-svn: 279913
* [AVX-512] Add load folding for EVEX vcmpps/pd/ss/sd.Craig Topper2016-08-273-0/+62
| | | | llvm-svn: 279912
* [LTO] Don't create a new common unless merged has different sizeTeresa Johnson2016-08-273-7/+8
| | | | | | | | | | | | | | | | | Summary: This addresses a regression in common handling from the new LTO API in r278338. Only create a new common if the size is different. The type comparison against an array type fails when the size is different but not an array. GlobalMerge does not handle the array types as well and we lose some global merging opportunities. Reviewers: mehdi_amini Subscribers: junbuml, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D23955 llvm-svn: 279911
* AMDGPU: Mark sched model completeMatt Arsenault2016-08-271-1/+1
| | | | | | Fixes bug 26800 llvm-svn: 279910
* AMDGPU: Remove unneeded implicit exec uses/defsMatt Arsenault2016-08-272-40/+48
| | | | | | | SI_BREAK, SI_IF_BREAK, and SI_ELSE_BREAK do not def exec. SI_IF_BREAK and SI_ELSE_BREAK do not read it either. llvm-svn: 279909
* [Orc] Explicitly specify type for assignment.Lang Hames2016-08-271-3/+3
| | | | | | | This should fix the MSVC errors in http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/15120 llvm-svn: 279908
* GVN-hoist: invalidate MD cache (PR29144)Sebastian Pop2016-08-271-0/+2
| | | | | | | | | Without invalidating the entries in the MD cache we would try to access instructions that were removed in previous iterations of hoisting. Differential Revision: https://reviews.llvm.org/D23927 llvm-svn: 279907
* [RegBankSelect] Do not abort when the target wants to fall back.Quentin Colombet2016-08-272-20/+59
| | | | llvm-svn: 279906
* [InstructionSelect] Do not abort when the target wants to fall back.Quentin Colombet2016-08-272-7/+30
| | | | llvm-svn: 279905
* [MachineLegalize] Do not abort when the target wants to fall back.Quentin Colombet2016-08-273-6/+28
| | | | llvm-svn: 279904
* Add attribute noreturn to functions that throwAditya Kumar2016-08-272-1/+4
| | | | | | | | | Reviewers: mclow.lists, EricWF, howard.hinnant, sebpop Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D21232 llvm-svn: 279903
* AMDGPU: Select mulhi 24-bit instructionsMatt Arsenault2016-08-279-57/+456
| | | | llvm-svn: 279902
* AMDGPU: Move cndmask pseudo to be isel pseudoMatt Arsenault2016-08-275-41/+49
| | | | | | | | There's only one use of this for the convenience of a pattern. I think v_mov_b64_pseudo should also be moved, but SIFoldOperands does currently make use of it. llvm-svn: 279901
* AMDGPU: Fix sched type for branchesMatt Arsenault2016-08-271-1/+1
| | | | llvm-svn: 279900
* AMDGPU: Remove register operand from si_mask_branchMatt Arsenault2016-08-272-5/+3
| | | | | | | | | It isn't used for anything, and is also misleading since it could be spilled at the end of the block, so it can't be relied on. There ends up being a verifier error about using an undefined register since the spill kills the register. llvm-svn: 279899
* [asan] restrict release_to_os_test.cc to x86_64Kostya Serebryany2016-08-271-1/+1
| | | | llvm-svn: 279898
* This test now succeeds.Jim Ingham2016-08-271-1/+0
| | | | llvm-svn: 279897
* Fixed the location of a conditional to make the following code clearer.Sean Callanan2016-08-271-7/+7
| | | | llvm-svn: 279896
* AMDGPU: Improve error reporting for maximum branch distanceMatt Arsenault2016-08-272-30/+68
| | | | | | Unfortunately this seems to only help the assembler diagnostic. llvm-svn: 279895
* The error stream in IRForTarget is never null, so use it instead of the log.Sean Callanan2016-08-273-102/+53
| | | | llvm-svn: 279894
* [CMake] Only generate Components.cmake if components are specifiedChris Bieneman2016-08-271-18/+20
| | | | | | | | Generating the Components import file is useless if there are no components coming in from the runtimes configuration, so we should skip generation in that case. This also should fix the configuration error that Renato reported on llvm-dev. llvm-svn: 279893
* [ORC] Fix typo in LogicalDylib, add unit test.Lang Hames2016-08-273-1/+78
| | | | llvm-svn: 279892
* [GlobalISel] Add a fallback path to SDISel.Quentin Colombet2016-08-276-0/+85
| | | | | | | | | When global-isel fails on a MachineFunction MF, MF will be cleaned up and given to SDISel. Thanks to this fallback, we can already perform correctness test even if we support only a small portion of the functions in a test. llvm-svn: 279891
* [AArch64][CallLowering] Do not assert for not implemented part.Quentin Colombet2016-08-271-6/+9
| | | | | | | When doing the ABI lowering, report a failure to the caller instead of asserting. This gives a chance for the caller to recover. llvm-svn: 279890
* [GlobalISel] Teach the core pipeline not to run if ISel failed.Quentin Colombet2016-08-273-0/+14
| | | | llvm-svn: 279889
* [X86] Add baseline test for "odd" shuffles. NFC.Michael Kuperstein2016-08-271-0/+691
| | | | | | | | Adds a baseline test for lowering shuffles where the width of the output vector is not twice the size of the input vectors. Many of those sequences are suboptimal, and will hopefully be improved in follow-up patches. llvm-svn: 279888
* [asan] first attempt at releasing free-d memory back to the system using ↵Kostya Serebryany2016-08-2618-31/+182
| | | | | | madvise. Requires quite some tuning. llvm-svn: 279887
* [IRTranslator] Do not abort when the target wants to fall back.Quentin Colombet2016-08-262-5/+58
| | | | | | Every pass in the GlobalISel pipeline will need to do something similar. llvm-svn: 279886
* [MFProperties] Introduce a FailedISel property.Quentin Colombet2016-08-262-0/+2
| | | | | | | | | | | This is used to communicate that the instruction selection pipeline failed at some point. Another way to achieve that would be to have some kind of conditional scheduling in the PassManager, such that we only schedule a pass based on the success/failure of another one. The property approach has the advantage of being lightweight and solve the problem at stake. llvm-svn: 279885
* Fixed a bad lldbassert() condition.Sean Callanan2016-08-261-1/+1
| | | | llvm-svn: 279884
* [ThinLTO] Move loading of cache entry to clientTeresa Johnson2016-08-264-18/+17
| | | | | | | | | | | | | | | | | | | | | | Summary: Have the cache pass back the path to the cache entry when it is ready to be loaded, instead of a buffer. For gold-plugin we can simply pass this file back to gold directly, which avoids expensive writing of a separate tmp file. Ensure the cache entry is not deleted on cleanup by adjusting the setting of the IsTemporary flags. Moved the loading of the buffer into llvm-lto2 to maintain current behavior. Reviewers: mehdi_amini Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D23946 llvm-svn: 279883
* Tables of command options in LLDB benefit from hand-formatting to make itKate Stone2016-08-2620-554/+564
| | | | | | | | | | | | | easier to scan a set of options with a relatively large number of positional arguments. This commit standardizes their formatting throughout LLDB and applies surrounding directives to exempt them from being formatted by clang-format. These kinds of exemptions should be rare cases that benefit significantly from alternative formatting. They also imply a long-term obligation to maintain their format since the automated tools will not do so. llvm-svn: 279882
* Adding document describing the use of the -opt-bisect-limit option.Andrew Kaylor2016-08-262-0/+201
| | | | llvm-svn: 279881
* [asan] Mark symbolize_pc.cc as UNSUPPORTED on i386-apple.Akira Hatanaka2016-08-261-0/+1
| | | | | | | | atos currently doesn't work well when loaded from 32-bit binaries, which was causing some of the bots to fail. Disable this test until we can come up with a better fix. llvm-svn: 279880
* [TargetPassConfig] Add a target hook to know what GlobalISel should do on error.Quentin Colombet2016-08-262-0/+18
| | | | | | | | | By default, this hook tells GlobalISel to abort (report a fatal error) when it encounters an error. The alternative will be to fall back on SDISel. This fall back will be removed when the bring-up of GlobalISel is over. llvm-svn: 279879
* [IRTranslator][NFC] Use DEBUG_TYPE instead of repeating the name.Quentin Colombet2016-08-261-1/+1
| | | | llvm-svn: 279878
* [SelectionDAG] Do not run the ISel process on already selected code.Quentin Colombet2016-08-261-0/+4
| | | | | | | Right now, this cannot happen, but with the fall back path of GlobalISel it will show up eventually. llvm-svn: 279877
* [MachineFunction] Introduce a reset method.Quentin Colombet2016-08-262-5/+31
| | | | | | | | | | This method allows to reset the state of a MachineFunction as if it was just created. This will be used during the bring-up of GlobalISel to provide a way to fallback on SelectionDAG. That way, we can start doing correctness testing even if we are not able to select all functions via the global instruction selector. llvm-svn: 279876
* TableGen: Switch from a std::map to a DenseMap in CodeGenSubRegIndex. NFCJustin Bogner2016-08-261-2/+1
| | | | | | | | | This mapping is between pointers, which DenseMap is particularly good at. Most targets aren't really affected, but if there's a lot of subregister composition this can shave off a good chunk of time from generating registers. llvm-svn: 279875
* [MFProperties] Introduce a reset method with no argument.Quentin Colombet2016-08-262-1/+6
| | | | | | This method allows to reset all the properties in one go. llvm-svn: 279874
* [MFProperties][NFC] Rename clear into reset to match BitVector naming.Quentin Colombet2016-08-263-5/+5
| | | | | | | The name clear is used to reset all the bit in bitvectors and using it to reset just properties was confusing. llvm-svn: 279873
* clang-cl: Support MSVC2015's /validate-charset flag.Nico Weber2016-08-262-0/+10
| | | | | | | | | | | | | | | | | | | Clang always assumes that files are utf-8. If an invalidly encoded character is used in an identifier, clang always errors. If it's used in a character literal, clang warns Winvalid-source-encoding (on by default). Clang never checks the encoding of things in comments (adding this seems like a nice feature if it doesn't impact performance). For cl.exe /utf-8 (which enables /validate-charset), if a bad character is used in an identifier, it emits both an error and a warning. If it's used in a literal or a comment, it emits a warning. So mapping /validate-charset to -Winvalid-source-encoding seems like a fairly decent fit. https://reviews.llvm.org/D23945 llvm-svn: 279872
* [ARM] Adding .arch directives around WMMX unwind codeRenato Golin2016-08-262-0/+4
| | | | | | | | | | | Some unwind code is purposedly old enough to work on previous architecutres and they're guaranteed to never trigger in newer architectures, so we need to add .arch directives to tell the compiler/assembler that it's fine and we know what we're doing. Fixes PR29149. llvm-svn: 279871
* AMDGPU/SI: Canonicalize offset order for merged DS instructionsTom Stellard2016-08-267-25/+37
| | | | | | | | | | | | | | | | | | | Summary: If the scheduler clusters the loads, then the offsets will be sorted, but it is possible for the scheduler to scheduler loads together without out explicitly clustering them, which would give us non-sorted offsets. Also, we will want to do this if we move the load/store optimizer before the scheduler. Reviewers: arsenm Subscribers: arsenm, llvm-commits, kzhuravl Differential Revision: https://reviews.llvm.org/D23776 llvm-svn: 279870
* clang-cl: Accept MSVC2015's '/utf-8' flag.Nico Weber2016-08-262-0/+2
| | | | | | Clang always behaves as if that's passed, so just ignore the flag. llvm-svn: 279869
OpenPOWER on IntegriCloud