summaryrefslogtreecommitdiffstats
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
* [X86] Use __butilin_shufflevector for 512-bit shufps intrinsics.Craig Topper2016-07-102-19/+33
| | | | llvm-svn: 275012
* [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
* Add CLANG_BUILD_TOOLS as a clang counterpart for LLVM_BUILD_TOOLSMichael Gottesman2016-07-102-10/+20
| | | | | | | | | | | | | | LLVM_BUILD_TOOLS is a boolean variable that controls whether or not generated targets for llvm tools are built by the "all" target. CLANG_BUILD_TOOLS is an analogous variable for clang targets. This is useful functionality for selectively disabling the building of clang targets by default to speed up builds. In terms of implementation, I just followed the model of LLVM's implementation of this functionality. llvm-svn: 275006
* Delete dead code.Sean Silva2016-07-102-3/+0
| | | | | | We were just setting DisableUnitAtATime to its default value. llvm-svn: 275005
* [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
* Update comments.Rui Ueyama2016-07-091-5/+11
| | | | llvm-svn: 275003
* [docs] Fix up a broken link.Sean Silva2016-07-091-1/+1
| | | | llvm-svn: 275002
* Attempt to fix buildbots.Rui Ueyama2016-07-091-2/+2
| | | | llvm-svn: 275001
* [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
* Remove unused forward declarations.Rui Ueyama2016-07-091-2/+0
| | | | llvm-svn: 274998
* Remove Target::writeThunk.Rui Ueyama2016-07-093-21/+11
| | | | | | | | Only MipsThunk were using the function, and the way how it wrote thunk contents was different from ARM thunks. This patch makes them consistent. llvm-svn: 274997
* Make ARM thunks consistent with MIPS in coding style.Rui Ueyama2016-07-092-95/+101
| | | | | | | | Although they are in the same .cpp file, the way they were written were slightly different, so they looked more different than they were. This patch makes their styles consistent. llvm-svn: 274996
* [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
* Instantiate Thunk classes instead of the class member functions.Rui Ueyama2016-07-091-4/+4
| | | | llvm-svn: 274994
* Split addThunkARM. NFC.Rui Ueyama2016-07-091-27/+26
| | | | llvm-svn: 274993
* Move add_clang_* entry points from the main clang CMakeLists.txt to ↵Michael Gottesman2016-07-092-143/+147
| | | | | | | | | cmake/modules/AddClang.cmake. This matches how LLVM has its cmake files organized and is cleaner than just shoving this business logic into the main CMakeLists.txt. llvm-svn: 274992
* [clang-cl] Add support for /ZdDavid Majnemer2016-07-094-8/+17
| | | | | | | | | | MASM (ML.exe and ML64.exe) and older versions of MSVC (CL.exe) support a flag called /Zd which is more-or-less -gline-tables-only. It seems nicer to support this flag instead of exposing -gline-tables-only. llvm-svn: 274991
* [X86][SSE] Add support for target shuffle combining to INSERTPSSimon Pilgrim2016-07-093-18/+51
| | | | llvm-svn: 274990
* test: Use %clangxx in objc++ test filesSaleem Abdulrasool2016-07-098-9/+9
| | | | | | | | | | These test in this change are objc++, but are built using %clang, not %clangxx. The reason this works is the driver has been adding -lc++ for sanitizer enabled builds. By making these tests use %clangxx, they no longer depend on the driver linking to c++. Doing so will allow us to prevent overlinking of libc++ for applications. llvm-svn: 274989
* [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
* clang-tidy/readability-identifier-naming: crash on ↵Matthias Gehre2016-07-092-3/+10
| | | | | | | | | | | | | | | | DependentTemplateSpecializationType Summary: Previously, the added test cases crashed because the passed a null Decl to addUsage(). Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D22188 llvm-svn: 274985
* [MS ABI] Some code cleanupsDavid Majnemer2016-07-091-9/+6
| | | | | | | | Don't create unnecessary truncations if the result will not be used. Also prefer preforming math before the truncation, it makes it a little easier to reason about. llvm-svn: 274984
* [AST] Tighten up some bitfieldsDavid Majnemer2016-07-092-4/+4
| | | | | | Optimize the bitfield types to conserve space for the MSVC ABI. llvm-svn: 274983
* [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
* clang-format: [JS] Sort imports case insensitive.Martin Probst2016-07-092-3/+24
| | | | | | | | | | | | Summary: ASCII case sorting does not help finding imported symbols quickly, and it is common to have e.g. class Foo and function fooFactory exported/imported from the same file. Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D22146 llvm-svn: 274977
* clang-format: [JS] support trailing commas in imports.Martin Probst2016-07-092-0/+6
| | | | | | | | | | Reviewers: djasper Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D22147 llvm-svn: 274976
* [analyzer] Older version of GCC 4.7 crash on lambdas in default arguments.Benjamin Kramer2016-07-091-8/+9
| | | | llvm-svn: 274975
* [analyzer] Rewrite manual erase loop using remove_if.Benjamin Kramer2016-07-091-15/+14
| | | | | | No functionality change intended. llvm-svn: 274974
* [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] Use __builtin_ia32_vec_ext_v4hi and __builtin_ia32_vec_set_v4hi to ↵Craig Topper2016-07-093-13/+18
| | | | | | | | implement pextrw/pinsertw MMX intrinsics instead of trying to use native IR. Without this we end up generating code that doesn't use mmx registers and probably doesn't work well with other mmx intrinsics. llvm-svn: 274968
* [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
OpenPOWER on IntegriCloud