summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* [SystemZ] Utilize Test Data Class instructions.Marcin Koscielnicki2016-07-1013-4/+1003
| | | | | | | | | | | This adds a new SystemZ-specific intrinsic, llvm.s390.tdc.f(32|64|128), which maps straight to the test data class instructions. A new IR pass is added to recognize instructions that can be converted to TDC and perform the necessary replacements. Differential Revision: http://reviews.llvm.org/D21949 llvm-svn: 275016
* reformat, fix comments/names; NFCISanjay Patel2016-07-101-27/+22
| | | | llvm-svn: 275015
* Give helper classes/functions internal linkage. NFC.Benjamin Kramer2016-07-107-12/+25
| | | | llvm-svn: 275014
* [codeview] Drop unused private inheritance.Benjamin Kramer2016-07-102-7/+6
| | | | | | | | There is no polymorphism here, and StreamRef already contains a StreamInterface pointer. Dropping the base class makes StreamRef more transparent to the compiler, for example it can find unused variables. llvm-svn: 275013
* [AVX512] Add support for lowering to 512-bit SHUFPS.Craig Topper2016-07-103-6/+19
| | | | llvm-svn: 275011
* [pdb] Sanity check the stream mapDavid Majnemer2016-07-102-2/+8
| | | | | | | | Some abstractions in LLVM "know" that they are reading in-bounds, FixedStreamArray, and provide a simple result. This breaks down if the stream map is bogus. llvm-svn: 275010
* [llvm-pdbdump] Propagate errors a little more consistentlyDavid Majnemer2016-07-106-15/+26
| | | | | | | PDBFile::getBlockData didn't really return any indication that it failed. It merely returned an empty buffer. llvm-svn: 275009
* [cmake] Change lli-child-target to use add_llvm_utility instead of ↵Michael Gottesman2016-07-102-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | add_llvm_executable. We are currently using add_llvm_utility for executable targets that: 1. Are built by default. 2. Used for testing. 3. Are not installed by default. Originally, lli-child-target used add_llvm_tool instead of add_llvm_executable directly. This was changed so that lli-child-target would not be installed. This was good since this is only used for testing and should never be installed for users. This also had the unfortunate side effect that one can never turn off the building of lli-child-target by default, a regression for projects that by default do not want to compile any LLVM tools beyond tablegen/llvm-config. This patch changes lli-child-target to use add_llvm_utility. This makes sense since: 1. lli-child-target matches the semantics of executables created with add_llvm_utility. 2. We fix the regression since now one can use the flag LLVM_BUILD_UTILS to eliminate default compilation. llvm-svn: 275008
* [cmake] Create the LLVM_BUILD_UTILS option.Michael Gottesman2016-07-102-2/+9
| | | | | | | | | | | | | | | This option is the equivalent option to LLVM_BUILD_TOOLS but for executables created via add_llvm_utility. This is a useful tool for improving compile time in situations where LLVM is used as a library and no testing tools are needed. It follows the exact same implemention model as LLVM_BUILD_TOOLS. Since the option is by default set to on, no behavior is changed unless one sets it from the command line to be false. llvm-svn: 275007
* [SCCP] Rename undefined -> unknown.Davide Italiano2016-07-101-40/+40
| | | | | | | | | | In the solver, isUndefined() does really mean "we don't know the value yet" rather than "this is an UndefinedValue". Discussed with Eli Friedman. Differential Revision: http://reviews.llvm.org/D22192 llvm-svn: 275004
* [docs] Fix up a broken link.Sean Silva2016-07-091-1/+1
| | | | llvm-svn: 275002
* [PM] Port LoopVectorize to the new PM.Sean Silva2016-07-095-338/+477
| | | | llvm-svn: 275000
* Fix up an include guard.Sean Silva2016-07-091-3/+3
| | | | | | This should have been done as part of the move in r274960. llvm-svn: 274999
* [SCCP] Remove wrong and misleading vector handling code.Davide Italiano2016-07-091-53/+0
| | | | | | | | | This code was already commented out and it made some weird assumptions, e.g. using isUndefined() as "this value is UndefValue" instead of "we haven't computed this value is yet". Thanks to Eli Friedman for pointing out where I was wrong (and where this code was wrong). llvm-svn: 274995
* [X86][SSE] Add support for target shuffle combining to INSERTPSSimon Pilgrim2016-07-093-18/+51
| | | | llvm-svn: 274990
* [X86][SSE] Use scaleShuffleMask helper. NFCI.Simon Pilgrim2016-07-091-11/+2
| | | | llvm-svn: 274988
* [X86][SSE] Regenerate vector shift testsSimon Pilgrim2016-07-097-149/+496
| | | | llvm-svn: 274987
* [COFF, Dwarf] Don't emit DW_AT_location for dllimported entitiesDavid Majnemer2016-07-093-55/+93
| | | | | | | There exists no relocation which can describe the address of a dllimported variable: do not try to describe their location. llvm-svn: 274986
* [SLSR] Fix crash on handling 128-bit integers.Jingyue Wu2016-07-093-39/+73
| | | | | | | | | ConstantInt::getSExtValue may fail on >64-bit integers. Add checks to call getSExtValue only on narrow integers. As a minor aside, simplify slsr-gep.ll to remove unnecessary load instructions. llvm-svn: 274982
* fix documentation comments; NFCSanjay Patel2016-07-094-164/+145
| | | | llvm-svn: 274981
* [lanai] Treat .t as optional in assembly parser for RR operands and add ↵Jacques Pienaar2016-07-093-23/+52
| | | | | | predicate operand to ShiftRR llvm-svn: 274980
* AMDGPU: Move R600 only pieces into R600 classesMatt Arsenault2016-07-0911-109/+81
| | | | llvm-svn: 274979
* Revert "AMDGPU: Remove unused control flow intrinsic"Matt Arsenault2016-07-097-0/+32
| | | | llvm-svn: 274978
* [ArgPromote] Use function_ref and for-range loops.Benjamin Kramer2016-07-091-13/+10
| | | | | | No functionality change intended. llvm-svn: 274973
* AMDGPU: Merge / reorganize testsMatt Arsenault2016-07-095-168/+188
| | | | llvm-svn: 274972
* AMDGPU: Simplify tests with per function subtargetsMatt Arsenault2016-07-096-129/+326
| | | | llvm-svn: 274971
* AMDGPU: Prune AMDGPUAsmParser in libdeps.NAKAMURA Takumi2016-07-091-1/+1
| | | | llvm-svn: 274970
* AMDGPU: Fix fdiv lowering when f32 denormals supportedMatt Arsenault2016-07-092-22/+15
| | | | | | Also fix test not actually using function labels. llvm-svn: 274969
* [X86] Remove sse41 extract intrinsics. They are not used by clang and are ↵Craig Topper2016-07-091-16/+0
| | | | | | not implemented by the x86 backend. llvm-svn: 274967
* [X86] Remove and autoupgrade 512-bit non-temporal store intrinsics.Craig Topper2016-07-096-72/+40
| | | | llvm-svn: 274966
* [LoopSimplify] Remove a comment which is unlikely to age well.Davide Italiano2016-07-091-4/+0
| | | | | | | Chandler pointed out in his review but I forgot to remove before committing, my bad. llvm-svn: 274963
* [PM] Port CrossDSOCFI to the new pass manager.Davide Italiano2016-07-095-1/+41
| | | | llvm-svn: 274962
* [CFLAA] Make a constant variable `const`. NFC.George Burgess IV2016-07-091-1/+1
| | | | | | | `const` was dropped by r274958, and the lack of `const` makes GCC6 (correctly) complain. llvm-svn: 274961
* [PM] Fix a think-o. mv {Scalar,Vectorize}/SLPVectorize.hSean Silva2016-07-093-2/+2
| | | | llvm-svn: 274960
* [PM] Port LoopSimplify to the new pass manager.Davide Italiano2016-07-097-8/+100
| | | | | | | | | While here move simplifyLoop() function to the new header, as suggested by Chandler in the review. Differential Revision: http://reviews.llvm.org/D21404 llvm-svn: 274959
* [CFLAA] Move the graph builder out from CFLSteens. NFC.George Burgess IV2016-07-095-422/+459
| | | | | | | | Patch by Jia Chen. Differential Revision: http://reviews.llvm.org/D22022 llvm-svn: 274958
* [CFLAA] Simplify CFLGraphBuilder. NFC.George Burgess IV2016-07-091-41/+25
| | | | | | | | | | | This removes a few fields from the graph builder by making us compute things (that we'd always compute anyway) more eagerly. Patch by Jia Chen. Differential Revision: http://reviews.llvm.org/D22009 llvm-svn: 274957
* LivePhysRegs: addLiveOuts() can skip addPristines() in ret blockMatthias Braun2016-07-091-1/+2
| | | | | | | | Drive-by improvement: We would 1) add CSRs, 2) remove callee saved CSRs and 3) add all CSRs again for the return block. Just adding CSRs once obviously gives the same results. llvm-svn: 274955
* AMDGPU: Improve offset folding for register indexingMatt Arsenault2016-07-097-47/+137
| | | | llvm-svn: 274954
* AMDGPU: Simplify isSchedulingBoundaryMatt Arsenault2016-07-091-5/+4
| | | | llvm-svn: 274953
* VirtRegMap: Replace some identity copies with KILL instructions.Matthias Braun2016-07-0980-163/+9755
| | | | | | | | | | | | | | An identity COPY like this: %AL = COPY %AL, %EAX<imp-def> has no semantic effect, but encodes liveness information: Further users of %EAX only depend on this instruction even though it does not define the full register. Replace the COPY with a KILL instruction in those cases to maintain this liveness information. (This reverts a small part of r238588 but this time adds a comment explaining why a KILL instruction is useful). llvm-svn: 274952
* AsmPrinter: Fix emitKill() not flush()ing a raw_string_ostreamMatthias Braun2016-07-091-1/+1
| | | | llvm-svn: 274951
* Added REQUIRES to TestingGuide documentationPiotr Padlewski2016-07-082-0/+48
| | | | | | | | | | Reviewers: alexfh, wolfgangp, rengolin Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D22172 llvm-svn: 274949
* Add 'thinlto_src_module' md with asserts or -enable-import-metadataPiotr Padlewski2016-07-082-8/+21
| | | | | | | | | | | | | | | | Summary: This way the metadata will be only generated when asserts enabled, or when -enable-import-metadata specified FIXED missing colon on requires. Reviewers: tejohnson, eraman, mehdi_amini Subscribers: mehdi_amini, llvm-commits Differential Revision: http://reviews.llvm.org/D22167 llvm-svn: 274947
* Revert "Add 'thinlto_src_module' md with asserts or -enable-import-metadata"Piotr Padlewski2016-07-082-22/+9
| | | | | | | | | Reverting because of 17463 http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/17463 This reverts commit d20cb431bba2ba43b4c65a8556cff445bfefbb7c. llvm-svn: 274946
* [lanai] Update test to use peephole-opt and not peephole-optsJacques Pienaar2016-07-081-1/+1
| | | | llvm-svn: 274945
* Revert "InstCombine rule to fold truncs whose value is available"Anna Thomas2016-07-084-218/+17
| | | | | | | This reverts commit r274853. Caused failure in ppcBE build llvm-svn: 274943
* Lanai: Avoid implicit iterator conversions, NFCDuncan P. N. Exon Smith2016-07-081-6/+6
| | | | | | | Avoid implicit conversions from MachineInstrBundleIterator to MachineInstr* in the Lanai backend. llvm-svn: 274942
* [MC, COFF] Permit a variable to be redefinedDavid Majnemer2016-07-082-19/+25
| | | | | | | | | Our assertions in WinCOFFStreamer had unexpected side effects resulting in symbols getting unexpectedly marked as used. This fixes PR28462. llvm-svn: 274941
* [TTI] Expose TTI::getGEPCost and use it in SLSR and NaryReassociate.Jingyue Wu2016-07-085-80/+28
| | | | | | NFC. llvm-svn: 274940
OpenPOWER on IntegriCloud