summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert r238190 and r238197: [mips] Make TTypeEncoding indirect to allow ↵Daniel Sanders2015-05-273-23/+4
| | | | | | | | | | .eh_frame to be read-only. This broke the llvm-mips-linux builder and several of our out-of-tree builders. Initial investigations show that the commit probably isn't the problem but reverting anyway while I investigate. llvm-svn: 238302
* AVX-512: Implemented all forms of sign-extend and zero-extend instructions ↵Elena Demikhovsky2015-05-273-75/+160
| | | | | | | | | | | for KNL and SKX Implemented DAG lowering for all these forms. Added tests for DAG lowering and encoding. By Igor Breger (igor.breger@intel.com) llvm-svn: 238301
* [X86] Implement the support for shrink-wrapping.Quentin Colombet2015-05-273-35/+68
| | | | | | | | | | | | | With this patch the x86 backend is now shrink-wrapping capable and this functionality can be tested by using the -enable-shrink-wrap switch. The next step is to make more test and enable shrink-wrapping by default for x86. Related to <rdar://problem/20821487> llvm-svn: 238293
* [ShrinkWrap] Add a target hook to check whether or notQuentin Colombet2015-05-271-5/+10
| | | | | | | | | the target can handle a given basic block as prologue or epilogue. Related to <rdar://problem/20821487> llvm-svn: 238292
* ARMLoadStoreOptimizer: Code cleanup; NFCMatthias Braun2015-05-271-15/+12
| | | | llvm-svn: 238289
* MachineBasicBlock: Cleanup computeRegisterLiveness()Matthias Braun2015-05-271-16/+14
| | | | | | | | | - Clean documentation comment - Change the API to accept an iterator so you can actually pass MachineBasicBlock::end() now. - Add more "const". llvm-svn: 238288
* MCSymbol: Make print() robust against empty namesMatthias Braun2015-05-271-0/+4
| | | | | | | This shouldn't happen, but it's nice not to abort when printing broken machine functions. llvm-svn: 238287
* [inliner] Fix the early-exit of the inline cost analysis to correctlyChandler Carruth2015-05-271-25/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | model the dense vector instruction bonuses. Previously, this code really didn't effectively compute the density of inlined vector instructions and apply the intended inliner bonus. It would try to compute it repeatedly while analyzing the function and didn't handle the case where future vector instructions would tip the scales back towards the bonus. Instead, speculatively apply all possible bonuses to the threshold initially. Once we *know* that a certain bonus can not be applied, subtract it. This should delay early bailout enough to get much more consistent results without actually causing us to analyze huge swaths of code. I expect some (hopefully mild) compile time hit here, and some swings in performance, but this was definitely the intended behavior of these bonuses. This also dramatically simplifies the computation of the bonuses to not interact with each other in confusing ways. The previous code didn't do a good job of this and the values for bonuses may be surprising but are at least now clearly written in the code. Finally, fix code to be in line with comments and use zero as the bailout condition. Patch by Easwaran Raman, with some comment tweaks by me to try and further clarify what is going on with this code. http://reviews.llvm.org/D8267 llvm-svn: 238276
* [BitcodeReader] Change assert to report_fatal_errorFilipe Cabecinhas2015-05-271-1/+2
| | | | | | | | It can be triggered by user input. Bug found with AFL fuzz. llvm-svn: 238272
* [BitstreamReader] Make sure the Array operand type is an encodingFilipe Cabecinhas2015-05-271-0/+3
| | | | | | Bug found with AFL fuzz. llvm-svn: 238269
* clang-format a couple of linesFilipe Cabecinhas2015-05-271-2/+2
| | | | llvm-svn: 238268
* [BitcodeReader] Make sure abbrev records have at least one operand (record code)Filipe Cabecinhas2015-05-261-0/+3
| | | | | | Bug found with AFL fuzz. llvm-svn: 238265
* Add initial support for the convergent attribute.Owen Anderson2015-05-267-1/+12
| | | | llvm-svn: 238264
* [BitcodeReader] Sanity check on Comdat IDFilipe Cabecinhas2015-05-261-2/+4
| | | | | | | | Shouldn't be an assert, since user input can trigger it. Bug found with AFL fuzz. llvm-svn: 238261
* [PlaceSafepoints] Entry safepoint location doesn't need to be a terminatorPhilip Reames2015-05-261-17/+1
| | | | | | | | | | Long ago, the poll insertion code assumed that the insertion site was a terminator. As a result, the entry selection code would split a basic block to ensure it could pass a terminator. The insertion code was updated quite a while ago - possibly before it ever landed upstream - but the now redundant work was never removed. While I'm at it, remove a comment which doesn't apply to the upstreamed code. NFC intended. llvm-svn: 238254
* [PlaceSafepoints] Cleanup InsertSafepointPoll functionPhilip Reames2015-05-263-20/+26
| | | | | | While working on another change, I noticed that the naming in this function was mildly deceptive. While fixing that, I took the oppurtunity to modernize some of the code. NFC intended. llvm-svn: 238252
* [lib/Fuzzer] make the fuzzing timeout 1200 seconds by default (was: infinity)Kostya Serebryany2015-05-262-1/+3
| | | | llvm-svn: 238251
* Simplify boolean conditional return statements.Rafael Espindola2015-05-261-4/+1
| | | | | | Patch by Richard <legalize@xmission.com>. llvm-svn: 238250
* Remove NoFramePointerElim and NoFramePointerElimOverride from TargetOptions andAkira Hatanaka2015-05-263-31/+8
| | | | | | | | | | remove ExecutionEngine's dependence on CodeGen. NFC. This is a follow-up to r238080. Differential Revision: http://reviews.llvm.org/D9830 llvm-svn: 238244
* Use "auto &" in range-based for-loop and remove the extra braces.Adrian Prantl2015-05-261-2/+1
| | | | llvm-svn: 238243
* Fix a use-after-free in a DEBUG output.Adrian Prantl2015-05-261-4/+4
| | | | llvm-svn: 238242
* [lib/Fuzzer] fix docsKostya Serebryany2015-05-261-2/+2
| | | | llvm-svn: 238236
* [lib/Fuzzer] fix build with assertionsKostya Serebryany2015-05-262-3/+4
| | | | llvm-svn: 238235
* Print "lock \t foo" instead of "lock \n foo".Rafael Espindola2015-05-261-1/+1
| | | | | | | | | | | This gets gas and llc -filetype=obj to agree on the order of prefixes. For llvm-mc we need to fix the asm parser to know that it makes a difference on which line the "lock" is in. Part of pr23594. llvm-svn: 238232
* R600: Use SIGN_EXTEND_INREG for SEXT loadsJan Vesely2015-05-261-6/+3
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Matt Arsenault <Matthew.Arsenault@amd.com> llvm-svn: 238229
* R600: Add comments to subword private address load lowering codeJan Vesely2015-05-261-0/+13
| | | | | | | | v2: Use C++ comments and end with periods Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Matt Arsenault <Matthew.Arsenault@amd.com> llvm-svn: 238228
* Revert "Re-commit changes in r237579 with fix for bug breaking windows builds."Diego Novillo2015-05-266-628/+17
| | | | | | | This reverts commit r238201 to fix linking problems in x86 Linux http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150525/278413.html llvm-svn: 238223
* CodeGenPrepare: Don't match addressing modes through addrspacecastMatt Arsenault2015-05-261-1/+8
| | | | | | | This was resulting in the addrspacecast being removed and incorrectly replaced with a ptrtoint when sinking. llvm-svn: 238217
* Object: Add Archive::getNumberOfSymbols().Rui Ueyama2015-05-261-14/+13
| | | | | | Add a function that returns number of symbols in archive headers. llvm-svn: 238213
* R600/SI: Add assembler support for all CI and VI VOP2 instructionsTom Stellard2015-05-263-3/+70
| | | | llvm-svn: 238211
* Replace getOrCreateSectionData with registerSection.Rafael Espindola2015-05-266-20/+17
| | | | | | There is now no SectionData to be created. llvm-svn: 238208
* Have getCurrentSectionData return a MCSection.Rafael Espindola2015-05-263-21/+16
| | | | | | I will fix the name shortly. llvm-svn: 238204
* Pass a MCSection to getCurrentSectionData.Rafael Espindola2015-05-261-9/+11
| | | | | | A step towards merging MCSection and MCSectionData. llvm-svn: 238203
* Re-commit changes in r237579 with fix for bug breaking windows builds.Luke Cheeseman2015-05-266-17/+628
| | | | llvm-svn: 238201
* Test CommitLuke Cheeseman2015-05-261-1/+0
| | | | llvm-svn: 238199
* AVX-512: fixed a bug in arithmetic operations lowering for i1 typeElena Demikhovsky2015-05-261-0/+12
| | | | | | https://llvm.org/bugs/show_bug.cgi?id=23630 llvm-svn: 238198
* AVX-512: fixed a bug in lowering VSELECT for 512-bit vectorElena Demikhovsky2015-05-261-1/+1
| | | | | | https://llvm.org/bugs/show_bug.cgi?id=23634 llvm-svn: 238195
* Use std::bitset for SubtargetFeatures.Michael Kuperstein2015-05-2630-963/+994
| | | | | | | | | | | | Previously, subtarget features were a bitfield with the underlying type being uint64_t. Since several targets (X86 and ARM, in particular) have hit or were very close to hitting this bound, switching the features to use a bitset. No functional change. The first several times this was committed (e.g. r229831, r233055), it caused several buildbot failures. Apparently the reason for most failures was both clang and gcc's inability to deal with large numbers (> 10K) of bitset constructor calls in tablegen-generated initializers of instruction info tables. This should now be fixed. llvm-svn: 238192
* [mips] Make TTypeEncoding indirect to allow .eh_frame to be read-only.Daniel Sanders2015-05-263-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Following on from r209907 which made personality encodings indirect, do the same for TType encodings. This fixes the case where a try/catch block needs to generate references to, for example, std::exception in the .gcc_except_table. This commit uses DW_EH_PE_sdata8 for N64 as far as is possible at the moment. However, it is possible to end up with DW_EH_PE_sdata4 when a TargetMachine is not available. There's no risk of issues with inconsistency here since the tables are self describing but it does mean there is a small chance of the PC-relative offset being out of range for particularly large programs. Reviewers: petarj Reviewed By: petarj Subscribers: srhines, joerg, tberghammer, llvm-commits Differential Revision: http://reviews.llvm.org/D9669 llvm-svn: 238190
* [TableGen] Fix line wrapping logic for the autogenerated header to use math ↵Craig Topper2015-05-261-7/+6
| | | | | | | | that makes more sense (at least to me). The old code had a bug if the description was between 75 and 85 characters or so as it substracted PSLen from Desc.size() instead of MAX_LINE_LEN in the compare. It also calculated odd values for PosE on the last split and just let StringRef::slice take care of it being larger than the description string. llvm-svn: 238187
* [TableGen] Rewrite an assert to not do a bunch unsigned math and then try to ↵Craig Topper2015-05-261-3/+3
| | | | | | | | ensure the result is a positive number. I think the fact that it was explicitly excluding 0 kept this from being a tautology. The exclusion of 0 for the old math was also a bug that's easily hit if the description gets split into multiple lines. llvm-svn: 238186
* [TableGen] Put a space between '*' and description in the autogenerated ↵Craig Topper2015-05-261-7/+6
| | | | | | tablegen header. Minor cleanup in surrounding code. llvm-svn: 238185
* [TableGen] Fix indentation. NFCCraig Topper2015-05-261-1/+1
| | | | llvm-svn: 238181
* [TableGen] Include header for each cpp file first. NFCCraig Topper2015-05-263-4/+3
| | | | llvm-svn: 238180
* [TableGen] Remove unneeded namespace around a function. Just put llvm:: on ↵Craig Topper2015-05-261-5/+1
| | | | | | the definition since it's already declared in a header file. llvm-svn: 238178
* [TableGen] Use 'static' instead of an anonymous namespace.Craig Topper2015-05-261-18/+16
| | | | llvm-svn: 238177
* Remove most uses of MCSectionData from MCAssembler.Rafael Espindola2015-05-267-33/+27
| | | | llvm-svn: 238172
* Stop using MCSectionData in MCAsmLayout.h.Rafael Espindola2015-05-265-48/+45
| | | | llvm-svn: 238170
* Move MCSection destruction to MCContext::reset.Rafael Espindola2015-05-261-8/+8
| | | | | | | | Fixes the leaks when running llc. Also found by an asan bot. llvm-svn: 238167
* Stop using MCSectionData in MCMachObjectWriter.h.Rafael Espindola2015-05-265-53/+39
| | | | llvm-svn: 238165
OpenPOWER on IntegriCloud