summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Removed useless palignr test - we don't actually provide a ↵Simon Pilgrim2015-03-121-28/+0
| | | | | | | | llvm.x86.ssse3.palign.r.128 intrinsic Differential Revision: http://reviews.llvm.org/D8302 llvm-svn: 232108
* R600/SI: Don't print scc reg in sopc assembly stringTom Stellard2015-03-121-1/+1
| | | | | | This is how the proprietary driver prints sopc instructions. llvm-svn: 232106
* R600/SI: Remove _e32 and _e64 suffixes from mnemonicsTom Stellard2015-03-128-29/+45
| | | | | | | | Instead print them as part of the $dst operand. The AsmMatcher requires the 32-bit and 64-bit encodings have the same mnemonic in order to parse them correctly. llvm-svn: 232105
* Adding WinEHPrepare tests (currently XFAILs)Andrew Kaylor2015-03-122-0/+472
| | | | llvm-svn: 232104
* Migrate the AArch64 TargetRegisterInfo to its TargetMachineEric Christopher2015-03-128-48/+52
| | | | | | | implementation. This requires a bit of scaffolding and a few fixups that'll go away once all of the ports have been migrated. llvm-svn: 232103
* Remove unused headers.Eric Christopher2015-03-121-2/+0
| | | | llvm-svn: 232102
* Unxfail passing test on HexagonKrzysztof Parzyszek2015-03-121-1/+0
| | | | | | test/CodeGen/Generic/2008-02-20-MatchingMem.ll llvm-svn: 232098
* Revert "r232027 - Add infrastructure for support of multiple memory constraints"Hal Finkel2015-03-1218-107/+44
| | | | | | | | | | | | | | | | | | | | | | | | This (r232027) has caused PR22883; so it seems those bits might be used by something else after all. Reverting until we can figure out what else to do. Original commit message: The operand flag word for ISD::INLINEASM nodes now contains a 15-bit memory constraint ID when the operand kind is Kind_Mem. This constraint ID is a numeric equivalent to the constraint code string and is converted with a target specific hook in TargetLowering. This patch maps all memory constraints to InlineAsm::Constraint_m so there is no functional change at this point. It just proves that using these previously unused bits in the encoding of the flag word doesn't break anything. The next patch will make each target preserve the current mapping of everything to Constraint_m for itself while changing the target independent implementation of the hook to return Constraint_Unknown appropriately. Each target will then be adapted in separate patches to use appropriate Constraint_* values. llvm-svn: 232093
* [autoconf] Fix the build failure by quoting the strings.Logan Chien2015-03-122-20/+20
| | | | llvm-svn: 232090
* [X86] Fix a regression introduced by r223641.Quentin Colombet2015-03-124-6/+17
| | | | | | | | | | | | | The permps and permd instructions have their operands swapped compared to the intrinsic definition. Therefore, they do not fall into the INTR_TYPE_2OP category. I did not create a new category for those two, as they are the only one AFAICT in that case. <rdar://problem/20108262> llvm-svn: 232085
* Reapply "[dsymutil] Gather function ranges during DIE selection."Frederic Riss2015-03-121-4/+47
| | | | | | | | This reverts commit r231967 which reinstates r231957. Now that IntervalMap uses explicitely aligned storage, it should be safe. llvm-svn: 232080
* [ADT] IntervalMap: use AlignedCharArrayUnion.Frederic Riss2015-03-121-14/+4
| | | | | | | | | | Currently IntervalMap would assert when used with keys bigger than host pointers. This patch uses the AlignedCharArrayUnion functionality to overcome that limitation. Differential Revision: http://reviews.llvm.org/D8268 llvm-svn: 232079
* Add missing include guards.Yaron Keren2015-03-121-0/+5
| | | | llvm-svn: 232078
* Fix comment formatting.Eric Christopher2015-03-121-2/+1
| | | | llvm-svn: 232076
* Remove the need to cache the subtarget in the X86 TargetRegisterInfoEric Christopher2015-03-123-24/+23
| | | | | | | classes. Use a Triple instead and simplify a lot of the querying logic to use lookups on the Triple. llvm-svn: 232071
* Refactoring CMake CrossCompile module.Chris Bieneman2015-03-123-35/+57
| | | | | | | | | * put most of the cross-compiling support into a function llvm_create_cross_target_internal. * when CrossCompile is included it still generates a NATIVE target. * llvm_create_cross_target function takes a target_name which should match a toolchain. * llvm_create_cross_target can now be used to target more than one cross-compilation target. llvm-svn: 232067
* [docs] Update the doxygen configuration file.Logan Chien2015-03-125-1292/+1527
| | | | | | | | | | Update the doxygen configuration file and Makefile build rules to provide better output (simply use the default stylesheet and template from the Doxygen distribution.) This CL has upgrade doxygen.cfg.in to Doxygen 1.8.6. llvm-svn: 232064
* [autoconf] Regenerate autoconf configure script.Logan Chien2015-03-121-7/+311
| | | | llvm-svn: 232063
* [autoconf] Refine doxygen document options.Logan Chien2015-03-122-6/+141
| | | | | | | This CL adds --enable-doxygen-search to enable doxygen search engine and --enable-doxygen-qt-help to enable the Qt help file generation. llvm-svn: 232062
* Remove unused complex patterns for addressing modes on Hexagon.Krzysztof Parzyszek2015-03-128-611/+217
| | | | llvm-svn: 232057
* make an array of constants explicitly constSanjay Patel2015-03-121-1/+1
| | | | | | | | Suggested by Craig Topper in D8184. This goes with r232047. llvm-svn: 232056
* Doing some cleanup to the iOS toolchain.Chris Bieneman2015-03-121-9/+23
| | | | | | | * There is no reason to require SDKROOT as an environment variable because we can derive it from xcrun * Setting CMAKE_RANLIB makes our static archives usable llvm-svn: 232053
* IRBuilder: add a CreateShuffleVector function that takes an ArrayRef of intSanjay Patel2015-03-122-4/+12
| | | | | | | | | This is a convenience function to ease mask creation of ShuffleVectors in AutoUpgrade and other places. Differential Revision: http://reviews.llvm.org/D8184 llvm-svn: 232047
* [X86] Fix wrong target specific combine on SETCC nodes.Andrea Di Biagio2015-03-122-26/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of the folding logic implemented by function 'PerformISDSETCCCombine' only worked under the assumption that the condition code in input could have been either SETNE or SETEQ. Unfortunately that assumption was incorrect, and in some cases the algorithm ended up incorrectly folding SETCC nodes. The incorrect folding only affected SETCC dag nodes where: - one of the operands was a build_vector of all zeroes; - the other operand was a SIGN_EXTEND from a vector of MVT:i1 elements; - the condition code was neither SETNE nor SETEQ. Example: (setcc (v4i32 (sign_extend v4i1:%A)), (v4i32 VectorOfAllZeroes), setge) Before this patch, the entire dag node sequence from the example was incorrectly folded to node %A. With this patch, the dag node sequence is folded to a (xor %A, (v4i1 VectorOfAllOnes)). Added test setcc-combine.ll. Thanks to Greg Bedwell for spotting this issue. llvm-svn: 232046
* [X86, AVX] replace vextractf128 intrinsics with generic shufflesSanjay Patel2015-03-125-40/+60
| | | | | | | | | | | | | | | | | Now that we've replaced the vinsertf128 intrinsics, do the same for their extract twins. This is very much like D8086 (checked in at r231794): We want to replace as much custom x86 shuffling via intrinsics as possible because pushing the code down the generic shuffle optimization path allows for better codegen and less complexity in LLVM. This is also the LLVM sibling to the cfe D8275 patch. Differential Revision: http://reviews.llvm.org/D8276 llvm-svn: 232045
* Silencing an "enumeral and non-enumeral type in conditional expression" ↵Aaron Ballman2015-03-121-1/+1
| | | | | | warning; NFC. llvm-svn: 232035
* [X86][AVX2] Added missing palignr stack folding testSimon Pilgrim2015-03-121-2/+7
| | | | llvm-svn: 232033
* Add infrastructure for support of multiple memory constraints.Daniel Sanders2015-03-1218-44/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The operand flag word for ISD::INLINEASM nodes now contains a 15-bit memory constraint ID when the operand kind is Kind_Mem. This constraint ID is a numeric equivalent to the constraint code string and is converted with a target specific hook in TargetLowering. This patch maps all memory constraints to InlineAsm::Constraint_m so there is no functional change at this point. It just proves that using these previously unused bits in the encoding of the flag word doesn't break anything. The next patch will make each target preserve the current mapping of everything to Constraint_m for itself while changing the target independent implementation of the hook to return Constraint_Unknown appropriately. Each target will then be adapted in separate patches to use appropriate Constraint_* values. Reviewers: hfinkel Reviewed By: hfinkel Subscribers: hfinkel, jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D8171 llvm-svn: 232027
* [Object/ELF] Add support for setVisibility()Davide Italiano2015-03-121-0/+8
| | | | | | | | | This is a prerequisite to implement symbol visibility for ELF in lld. Differential Revision: http://reviews.llvm.org/D8279 llvm-svn: 232020
* AVX-512: Added encoding tests for VPROR, VPROL instructions,Elena Demikhovsky2015-03-122-2/+930
| | | | | | fixed opcode. llvm-svn: 232018
* Remove some unnecessary forward declarations and put a couple moreEric Christopher2015-03-128-24/+3
| | | | | | where they're supposed to reside. llvm-svn: 232014
* Remove the need to cache the subtarget in the Sparc TargetRegisterInfoEric Christopher2015-03-124-12/+11
| | | | | | classes. llvm-svn: 232013
* Remove the need to cache the subtarget in the Mips TargetRegisterInfoEric Christopher2015-03-1210-26/+26
| | | | | | classes. llvm-svn: 232012
* Reapply 'Run LICM pass after loop unrolling pass.'Kevin Qin2015-03-122-1/+55
| | | | | | | | | It's firstly committed at r231630, and reverted at r231635. Function pass InstructionSimplifier is inserted as barrier to make sure loop unroll pass won't affect on LICM pass. llvm-svn: 232011
* Remove the need to cache the subtarget in the ARM TargetRegisterInfoEric Christopher2015-03-1211-44/+39
| | | | | | | classes. Replace the frame pointer initialization with a static function that'll look it up via the subtarget on the MachineFunction. llvm-svn: 232010
* docs: Fix a typo in my previous commitJustin Bogner2015-03-121-1/+1
| | | | llvm-svn: 232009
* docs: Document the llvm-cov show and report commandsJustin Bogner2015-03-121-21/+191
| | | | | | | Add a basic synopsis of how to work with instrprof based coverage using the llvm-cov tools. llvm-svn: 232007
* Remove the need to cache the subtarget in the AArch64 TargetRegisterInfoEric Christopher2015-03-124-21/+26
| | | | | | | classes. Replace it with a cache to the Triple and use that where applicable at the moment. llvm-svn: 232005
* [NVPTXAsmPrinter] do not print .align on function headersJingyue Wu2015-03-125-1/+17
| | | | | | | | | | | | | | | | | | | Summary: PTX does not allow .align directives on function headers. Fixes PR21551. Test Plan: test/Codegen/NVPTX/function-align.ll Reviewers: eliben, jholewinski Reviewed By: eliben, jholewinski Subscribers: llvm-commits, eliben, jpienaar, jholewinski Differential Revision: http://reviews.llvm.org/D8274 llvm-svn: 232004
* Make llvm.eh.actions an intrinsic and add docs for itReid Kleckner2015-03-123-5/+47
| | | | | | | | These docs *don't* match the way WinEHPrepare uses them yet, and verifier support isn't implemented either. The implementation will come after the documentation text is reviewed and agreed upon. llvm-svn: 232003
* Remove the need to cache the subtarget in the PowerPC TargetRegisterInfoEric Christopher2015-03-123-55/+68
| | | | | | | classes. Replace it with a cache to the TargetMachine and use that where applicable at the moment. llvm-svn: 232002
* docs: Try to fix a couple of internal links in the llvm-profdata manualJustin Bogner2015-03-121-4/+4
| | | | | | | These links seem broken on llvm.org/docs. Change them to use the sphinx-recommended style to see if that helps. llvm-svn: 232001
* Remove some CHECK-NOT lines in favor of CHECK-NEXTReid Kleckner2015-03-127-61/+32
| | | | | | NFC, this is just shorter. llvm-svn: 232000
* Update for a new year.Eric Christopher2015-03-123-6/+6
| | | | | | Patch by Tanya Lattner. llvm-svn: 231998
* Fix build break introduced in r231992Krzysztof Parzyszek2015-03-121-4/+2
| | | | llvm-svn: 231996
* Stop calling DwarfEHPrepare from WinEHPrepareReid Kleckner2015-03-126-54/+50
| | | | | | | | Instead, run both EH preparation passes, and have them both ignore functions with unrecognized EH personalities. Pass delegation involved some hacky code for creating an AnalysisResolver that we don't need now. llvm-svn: 231995
* Eliminate constant-extender profitability checks from Hexagon iselKrzysztof Parzyszek2015-03-127-515/+225
| | | | llvm-svn: 231992
* Fix FileCheck: substr() expect the length of the string as 2nd argMehdi Amini2015-03-121-2/+1
| | | | | | | | The code assumed that substr() was taking start,end while it takes start,length. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 231988
* Move the DataLayout to the generic TargetMachine, making it mandatory.Mehdi Amini2015-03-1230-105/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: I don't know why every singled backend had to redeclare its own DataLayout. There was a virtual getDataLayout() on the common base TargetMachine, the default implementation returned nullptr. It was not clear from this that we could assume at call site that a DataLayout will be available with each Target. Now getDataLayout() is no longer virtual and return a pointer to the DataLayout member of the common base TargetMachine. I plan to turn it into a reference in a future patch. The only backend that didn't have a DataLayout previsouly was the CPPBackend. It now initializes the default DataLayout. This commit is NFC for all the other backends. Test Plan: clang+llvm ninja check-all Reviewers: echristo Subscribers: jfb, jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D8243 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 231987
* Fix some clang warnings in WinEHPrepareReid Kleckner2015-03-111-3/+2
| | | | llvm-svn: 231985
OpenPOWER on IntegriCloud