summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* [llvm-pdbdump] Dump MSF headers to YAML.Zachary Turner2016-06-0610-0/+297
| | | | | | | | | | | This is the simplest possible patch to get some kind of YAML output. All it dumps is the MSF header fields so that in theory an empty MSF file could be reconstructed. Reviewed By: ruiu, majnemer Differential Revision: http://reviews.llvm.org/D20971 llvm-svn: 271939
* [LibFuzzer] Provide stub implementation of __sanitizer_cov_trace_pc_indirDan Liew2016-06-061-1/+9
| | | | | | | | | | | | | Calls to this function are currently injected by the ``SanitizerCoverageModule`` pass when the both the ``indirect-calls`` and ``trace-pc`` sanitizer coverage options are enabled and the code being instrumented has indirect calls. Previously because LibFuzzer did not define this function this would lead to link errors when building some of the tests on OSX. Differential Revision: http://reviews.llvm.org/D20946 llvm-svn: 271938
* AMDGPU: Add function for getting instruction sizeMatt Arsenault2016-06-062-0/+51
| | | | llvm-svn: 271936
* AMDGPU: Fix constantexpr addrspacecastsMatt Arsenault2016-06-063-4/+177
| | | | | | | | If we had a constant group address space cast the queue pointer wasn't enabled for the function, resulting in a crash on noreg later. llvm-svn: 271935
* [PM] Preserve the correct set of analyses for GVN.Davide Italiano2016-06-061-1/+6
| | | | llvm-svn: 271934
* [GVN] Switch dump() definition over to LLVM_DUMP_METHOD.Davide Italiano2016-06-061-2/+1
| | | | llvm-svn: 271932
* [LoopUnrollAnalyzer] Fix a crash in analyzeLoopUnrollCost.Michael Zolotukhin2016-06-062-3/+21
| | | | | | | | | | | In some cases, when simplifying with SCEV, we might consider pointer values as just usual integer values. Thus, we might get a different type from what we had originally in the map of simplified values, and hence we need to check types before operating on the values. This fixes PR28015. llvm-svn: 271931
* Fix a test case. NFC.Haicheng Wu2016-06-061-5/+5
| | | | llvm-svn: 271930
* Reapply [LSR] Create fewer redundant instructions.Geoff Berry2016-06-063-20/+103
| | | | | | | | | | | | | | | | | | | Summary: Fix LSRInstance::HoistInsertPosition() to check the original insert position block first for a canonical insertion point that is dominated by all inputs. This leads to SCEV being able to reuse more instructions since it currently tracks the instructions it creates for reuse by keeping a table of <Value, insert point> pairs. Originally reviewed in http://reviews.llvm.org/D18001 Reviewers: atrick Subscribers: llvm-commits, mzolotukhin, mcrosier Differential Revision: http://reviews.llvm.org/D18480 llvm-svn: 271929
* [pdbdump] Print out New FPO stream contents.Rui Ueyama2016-06-069-2/+116
| | | | | | | | | | The data strucutre in the new FPO stream is described in the PE/COFF spec. There is one record per function if frame pointer is omitted. Differential Revision: http://reviews.llvm.org/D20999 llvm-svn: 271926
* [MBP] Reduce code size by running tail merging in MBP.Haicheng Wu2016-06-065-26/+156
| | | | | | | | | | | | | The code layout that TailMerging (inside BranchFolding) works on is not the final layout optimized based on the branch probability. Generally, after BlockPlacement, many new merging opportunities emerge. This patch calls Tail Merging after MBP and calls MBP again if Tail Merging merges anything. Differential Revision: http://reviews.llvm.org/D20276 llvm-svn: 271925
* [Kaleidoscope][BuildingAJIT] Fix hyphenation in chapter 2 title.Lang Hames2016-06-061-3/+3
| | | | llvm-svn: 271924
* [BranchFolding] Replace MachineBlockFrequencyInfo with MBFIWrapper. NFC.Haicheng Wu2016-06-063-9/+29
| | | | | | Differential Revision: http://reviews.llvm.org/D20184 llvm-svn: 271923
* [cpu-detection] Substantial refactor of Host CPU detection code (x86)Alina Sbirlea2016-06-061-261/+650
| | | | | | | | | | | | | | | | | | Summary: Following D20970 (committed as r271726). This is a substantial refactoring of the host CPU detection code. There is no functionality change intended, but the changes are extensive. Definitions of architecture types and subtypes are by no means exhaustive or perfectly defined, but a fair starting point. Suggestions for futher improvements are welcome. Reviewers: llvm-commits Differential Revision: http://reviews.llvm.org/D20988 llvm-svn: 271921
* [Kaleidoscope][BuildingAJIT] More cleanup of Chapter 2.Lang Hames2016-06-061-17/+18
| | | | | | Streamline some wording, fix a bug in the markup for the layer interface table. llvm-svn: 271917
* [Kaleidoscope][BuildingAJIT] Clean up sentence, remove comments from code block.Lang Hames2016-06-061-4/+2
| | | | llvm-svn: 271913
* [InstCombine] limit icmp transform to ConstantInt (PR28011)Sanjay Patel2016-06-062-3/+33
| | | | | | | | | | | | | | | In r271810 ( http://reviews.llvm.org/rL271810 ), I loosened the check above this to work for any Constant rather than ConstantInt. AFAICT, that part makes sense if we can determine that the shrunken/extended constant remained equal. But it doesn't make sense for this later transform where we assume that the constant DID change. This could assert for a ConstantExpr: https://llvm.org/bugs/show_bug.cgi?id=28011 And it could be wrong for a vector as shown in the added regression test. llvm-svn: 271908
* regenerate checksSanjay Patel2016-06-061-110/+159
| | | | llvm-svn: 271904
* regenerate checksSanjay Patel2016-06-061-57/+86
| | | | llvm-svn: 271903
* [AMDGPU][llvm-mc] v_cndmask_b32: src2 is mandatory; do not enforce VOP2 when ↵Artem Tamazov2016-06-069-19/+103
| | | | | | | | | | | | src2 == VCC. Another step for unification llvm assembler/disassembler with sp3. Besides, CodeGen output is a bit improved, thus changes in CodeGen tests. Assembler/Disassembler tests updated/added. Differential Revision: http://reviews.llvm.org/D20796 llvm-svn: 271900
* [LAA] Use load and store vectors (NFC)Matthew Simpson2016-06-061-11/+7
| | | | | | | Contributed-by: Aditya Kumar <hiraditya@msn.com> Differential Revision: http://reviews.llvm.org/D20953 llvm-svn: 271895
* [KNL] Fix UMULO lowering.Igor Breger2016-06-062-2/+21
| | | | | | Differential Revision: http://reviews.llvm.org/D21013 llvm-svn: 271891
* Remove dead function with incredibly broken assert.Benjamin Kramer2016-06-061-6/+0
| | | | | | Found by clang-tidy's misc-assert-side-effect. llvm-svn: 271887
* [NFC] Silence gcc warning (-Wsign-compare)Filipe Cabecinhas2016-06-061-1/+1
| | | | llvm-svn: 271882
* [AVX512] Remove masked palignr intrinsics and auto-upgrade them to native IR ↵Craig Topper2016-06-066-75/+125
| | | | | | of vector shuffle and select. llvm-svn: 271872
* LLVM_BUILD_32_BITS: Add -m32 with CMAKE_C*_FLAGS. [CMP0056]NAKAMURA Takumi2016-06-061-1/+2
| | | | | | | | | With CMP0056, try_compile() uses also CMAKE_EXE_LINKER_FLAG. It caused mismatch between CMAKE_CXX_FLAGS and CMAKE_EXE_LINKER_FLAGS, to fail to examine CXX_SUPPORTS_CXX11 with -m32. FYI, before this, try_compile() tries without -m32 regardless of LLVM_BUILD_32_BITS. llvm-svn: 271871
* [AVX512] Add PALIGNR shuffle lowering for v32i16 and v16i32.Craig Topper2016-06-063-13/+17
| | | | llvm-svn: 271870
* [AVX512] Update tests to show shuffle decoding for vpshuflw/vpshufhw.Craig Topper2016-06-061-12/+12
| | | | llvm-svn: 271869
* [Kaleidoscope][BuildingAJIT] Split up the code-block describing the substitutionLang Hames2016-06-061-0/+8
| | | | | | | | of OptimizeLayer for CompileLayer in Chapter 2. Hopefully this will read a little more clearly. llvm-svn: 271868
* [Kaleidoscope][BuildingAJIT] Fix code-blocks in Chapter 2.Lang Hames2016-06-061-4/+4
| | | | llvm-svn: 271867
* [Kaleidoscope][BuildingAJIT] Add tutorial text for Chapter 2.Lang Hames2016-06-061-13/+292
| | | | | | | | | | This chapter discusses IR optimizations, the ORC IRTransformLayer, and the ORC layer concept itself. The text is still pretty rough, but I think the main ideas are there. Feedback is very welcome, as always. llvm-svn: 271865
* Fix spelling and capitalization in comments. NFCNick Lewycky2016-06-061-2/+2
| | | | llvm-svn: 271862
* Trailing whitespace.NAKAMURA Takumi2016-06-061-1/+1
| | | | llvm-svn: 271861
* Untabify.NAKAMURA Takumi2016-06-064-9/+8
| | | | llvm-svn: 271860
* LICM: Don't sink stores out of loops that may throw.Eli Friedman2016-06-052-0/+81
| | | | | | | | | | | | | | | | Summary: This hasn't been caught before because it requires noalias or similarly strong alias analysis to actually reproduce. Fixes http://llvm.org/PR27952 . Reviewers: hfinkel, sanjoy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20944 llvm-svn: 271858
* Add safety check to InstCombiner::commonIRemTransformsSanjoy Das2016-06-052-2/+127
| | | | | | | | | | | | | | | | Since FoldOpIntoPhi speculates the binary operation to potentially each of the predecessors of the PHI node (pulling it out of arbitrary control dependence in the process), we can FoldOpIntoPhi only if we know the operation doesn't have UB. This also brings up an interesting profitability question -- the way it is written today, commonIRemTransforms will hoist out work from dynamically dead code into code that will execute at runtime. Perhaps that isn't the best canonicalization? Fixes PR27968. llvm-svn: 271857
* Add test case for InstCombiner::commonIRemTransforms; NFCSanjoy Das2016-06-051-0/+23
| | | | | | | The PHI case in commonIRemTransforms was untested; add a trivial test case. llvm-svn: 271856
* Fix deadlock in ThreadPool unittest.Eli Friedman2016-06-051-1/+1
| | | | | | | (Yes, this only deadlocks on a computer with a single core; I'm using a virtual machine.) llvm-svn: 271855
* [Internalize] Test that __stack_chk_{guard, fail} are not internalized.Davide Italiano2016-06-051-0/+9
| | | | | | | r154645 introduced this feature without test. This should have better coverage now. llvm-svn: 271853
* [BitCode] Make sure atomicrmw's argument is an actual PointerTypeFilipe Cabecinhas2016-06-053-0/+6
| | | | llvm-svn: 271851
* [BitCode] Make sure storeatomic's argument is an actual PointerTypeFilipe Cabecinhas2016-06-053-0/+6
| | | | llvm-svn: 271850
* [BitCode] Diagnose GEPs with no indicesFilipe Cabecinhas2016-06-053-0/+8
| | | | llvm-svn: 271849
* [BitCode] Don't allow constants of void type.Filipe Cabecinhas2016-06-053-0/+8
| | | | llvm-svn: 271848
* Add Visual Studio Visualizer for ArrayRefMike Spertus2016-06-051-1/+12
| | | | | | Modeled after visualization of llvm::SmallVec llvm-svn: 271847
* [PM] Port IndVarSimplify to the new pass managerSanjoy Das2016-06-057-0/+61
| | | | | | | | | | | | | | | | | Summary: There are some rough corners, since the new pass manager doesn't have (as far as I can tell) LoopSimplify and LCSSA, so I've updated the tests to run them separately in the old pass manager in the lit tests. We also don't have an equivalent for AU.setPreservesCFG() in the new pass manager, so I've left a FIXME. Reviewers: bogner, chandlerc, davide Subscribers: sanjoy, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D20783 llvm-svn: 271846
* [IndVars] Remove -liv-reduceSanjoy Das2016-06-054-144/+1
| | | | | | | | | | It is an off-by-default option that no one seems to use[0], and given that SCEV directly understands the overflow instrinsics there is no real need for it anymore. [0]: http://lists.llvm.org/pipermail/llvm-dev/2016-April/098181.html llvm-svn: 271845
* fix checksSanjay Patel2016-06-051-3/+3
| | | | | | update_test_checks.py got confused matching the variable names. llvm-svn: 271844
* [InstCombine] allow vector icmp bool transformsSanjay Patel2016-06-053-6/+6
| | | | llvm-svn: 271843
* add tests to show missing vector transformsSanjay Patel2016-06-051-0/+20
| | | | llvm-svn: 271842
* regenerate checksSanjay Patel2016-06-051-57/+78
| | | | llvm-svn: 271841
OpenPOWER on IntegriCloud