summaryrefslogtreecommitdiffstats
path: root/llvm/cmake
Commit message (Collapse)AuthorAgeFilesLines
...
* [cmake] Remove use of deprecated generator expression. NFCShoaib Meenai2019-03-301-1/+1
| | | | | | | Use $<CONFIG> instead of $<CONFIGURATION>, since the latter has been deprecated since CMake 3.0, and the former is entirely equivalent. llvm-svn: 357338
* [cmake] Reset variable before using itShoaib Meenai2019-03-262-0/+4
| | | | | | | | | | | | | | | | A bunch of macros use the same variable name, and since CMake macros don't get their own scope, the value persists across macro invocations, and we can end up exporting targets which shouldn't be exported. Clear the variable before each use to avoid this. Converting these macros to functions would also help, since it would avoid the variable leaking into its parent scope, and that's something I plan to follow up with. It won't fully address the problem, however, since functions still inherit variables from their parent scopes, so if someone in the parent scope just happened to use the same variable name we'd still have the same issue. llvm-svn: 357036
* Moved everything SMT-related to LLVM and updated the cmake scripts.Mikhail R. Gadelha2019-03-252-0/+112
| | | | | | Differential Revision: https://reviews.llvm.org/D54978 llvm-svn: 356929
* Remove HAVE_REALPATH from config.hNico Weber2019-03-201-1/+0
| | | | | | | | | Its last use was removed in r352916. No behavior change. Differential Revision: https://reviews.llvm.org/D59601 llvm-svn: 356579
* [CMake] Correct CMake message modeAlex Langford2019-03-151-1/+1
| | | | | | | | | | | | | | | | Summary: This wasn't actually printing out a CMake warning, it was prepending "WARN" to the message. Reviewers: zturner Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D59432 llvm-svn: 356297
* [AIX][CMake] Changes for building on AIX with XL and GCCJason Liu2019-03-132-6/+33
| | | | | | | | | | | | | | | | | | | Summary: In support of IBM's efforts to produce a viable C and C++ LLVM compiler for AIX (ref: RFC at http://lists.llvm.org/pipermail/llvm-dev/2019-February/130175.html), this patch adds customizations to the CMake files in order to properly invoke the host toolchain for the build on AIX. Additional changes to enable a successful build will follow. Patch by Xing Xue Reviewers: hubert.reinterpretcast, jasonliu, sfertile Reviewed by: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D58250 llvm-svn: 356104
* [NFC][CMake] Improve Status message in the iOS toolchain fileLouis Dionne2019-03-131-2/+2
| | | | llvm-svn: 356056
* Use AIX version detection at LLVM run-timeHubert Tong2019-03-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | Summary: AIX compilers define macros based on the version of the operating system. This patch implements updating of versionless AIX triples to include the host AIX version. Also, the host triple detection in the build system is adjusted to strip the AIX version information so that the run-time detection is preferred. Reviewers: xingxue, stefanp, nemanjai, jasonliu Reviewed By: xingxue Subscribers: mgorny, kristina, jdoerfert, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58798 llvm-svn: 355995
* [CMake] Support stripping and linking output to .build-id directoryPetr Hosek2019-03-091-2/+8
| | | | | | | | | | | | | | | | | | | | | When installing runtimes with install-runtimes-stripped, we don't want to just strip them, we also want to preserve the debugging information for potential debugging. To make it possible to later find the stripped debugging information, we want to use the .build-id layout: https://fedoraproject.org/wiki/RolandMcGrath/BuildID#Find_files_by_build_ID That is, for libfoo.so with build ID abcdef1234, the debugging information will be installed into lib/debug/.build-id/ab/cdef1234. llvm-objcopy already has support for stripping files and linking the debugging stripped output into the right location. However, CMake doesn't support customizing strip invocation for the *-stripped targets. So instead, we replace CMAKE_STRIP with a custom script that invokes llvm-objcopy with the right command line flags. Differential Revision: https://reviews.llvm.org/D59127 llvm-svn: 355765
* Add secondary libstdc++ 4.8 and 5.1 detection mechanismsHubert Tong2019-03-071-1/+15
| | | | | | | | | | | | | | | | | | | | | | | Summary: The date-based approach to detecting unsupported versions of libstdc++ does not handle bug fix releases of older versions. As an example, the `__GLIBCXX__` value associated with version 5.1, `20150422`, is less than the values associated with versions 4.8.5 and 4.9.3. This patch adds secondary checks based on certain properties in sufficiently new versions of libstdc++. Reviewers: jfb, tstellar, rnk, sfertile, nemanjai Reviewed By: jfb Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58682 llvm-svn: 355638
* [PGO] Context sensitive PGO (part 4)Rong Xu2019-03-061-0/+14
| | | | | | | | | | | Part 4 of CSPGO changes: (1) add support in cmake for cspgo build. (2) fix an issue in big endian. (3) test cases. Differential Revision: https://reviews.llvm.org/D54175 llvm-svn: 355541
* [OptRemarks] Make OptRemarks more generic: rename OptRemarks to RemarksFrancis Visoiu Mistrih2019-03-051-1/+1
| | | | | | | | | | | | | | | Getting rid of the name "optimization remarks" for anything that involves handling remarks on the client side. It's safer to do this now, before we get stuck with that name in all the APIs and public interfaces we decide to export to users in the future. This renames llvm/tools/opt-remarks to llvm/tools/remarks-shlib, and now generates `libRemarks.dylib` instead of `libOptRemarks.dylib`. Differential Revision: https://reviews.llvm.org/D58535 llvm-svn: 355439
* [cmake] Create exports for umbrella library targetsShoaib Meenai2019-03-051-0/+2
| | | | | | | | | | When using the umbrella llvm-libraries and clang-libraries targets, we should export all library targets, otherwise they'll be part of our distribution but not usable from the CMake package. Differential Revision: https://reviews.llvm.org/D58862 llvm-svn: 355354
* Revert duplicate check for DragonFly BSDKamil Rytarowski2019-03-041-1/+0
| | | | | | | | | | | | | | | | | | Summary: Revert duplicate check for DragonFly BSD Submitted by tuxillo. Reviewers: krytarowski Reviewed By: krytarowski Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D58907 llvm-svn: 355319
* Unbreak shared library linkage on DragonFlyBSD.Kamil Rytarowski2019-03-041-0/+1
| | | | | | | | | | | | | | | | Patch submitted by rimvydas. Reviewers: llvm-commits, krytarowski, mgorny Reviewed By: krytarowski, mgorny Subscribers: mgorny Tags: #llvm Differential Revision: https://reviews.llvm.org/D35125 llvm-svn: 355315
* CMake: Fix stand-alone clang builds since r353268Tom Stellard2019-02-201-0/+3
| | | | | | | | | | | | | | | | | | | Summary: Handle the case where LLVM_MAIN_SRC_DIR is not set and also use LLVM_CMAKE_DIR for locating installed cmake files rather than LLVM_CMAKE_PATH. Reviewers: phosek, andrewrk, smeenai Reviewed By: phosek, andrewrk, smeenai Subscribers: mgorny, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D58204 llvm-svn: 354417
* Fix builds with llvm/runtimes/compiler-rt after r354365Daniel Sanders2019-02-191-0/+1
| | | | | | | Compiler-rt doesn't include config-ix which was providing CheckSymbolExists to the LLVM build. Add it to HandleLLVMOptions to fix this llvm-svn: 354389
* Fix builds for older macOS deployment targets after r354365Daniel Sanders2019-02-191-18/+24
| | | | | | | | | | | Surprisingly, check_symbol_exists is not sufficient. The macOS linker checks the called functions against a compatibility list for the given deployment target and check_symbol_exists doesn't trigger this check as it never calls the function. This fixes the GreenDragon bots where the deployment target is 10.9 llvm-svn: 354374
* Annotate timeline in Instruments with passes and other timed regions.Daniel Sanders2019-02-191-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Instruments is a useful tool for finding performance issues in LLVM but it can be difficult to identify regions of interest on the timeline that we can use to filter the profiler or allocations instrument. Xcode 10 and the latest macOS/iOS/etc. added support for the os_signpost() API which allows us to annotate the timeline with information that's meaningful to LLVM. This patch causes timer start and end events to emit signposts. When used with -time-passes, this causes the passes to be annotated on the Instruments timeline. In addition to visually showing the duration of passes on the timeline, it also allows us to filter the profile and allocations instrument down to an individual pass allowing us to find the issues within that pass without being drowned out by the noise from other parts of the compiler. Using this in conjunction with the Time Profiler (in high frequency mode) and the Allocations instrument is how I found the SparseBitVector that should have been a BitVector and the DenseMap that could be replaced by a sorted vector a couple months ago. I added NamedRegionTimers to TableGen and used the resulting annotations to identify the slow portions of the Register Info Emitter. Some of these were placed according to educated guesses while others were placed according to hot functions from a previous profile. From there I filtered the profile to a slow portion and the aforementioned issues stood out in the profile. To use this feature enable LLVM_SUPPORT_XCODE_SIGNPOSTS in CMake and run the compiler under Instruments with -time-passes like so: instruments -t 'Time Profiler' bin/llc -time-passes -o - input.ll' Then open the resulting trace in Instruments. There was a talk at WWDC 2018 that explained the feature which can be found at https://developer.apple.com/videos/play/wwdc2018/405/ if you'd like to know more about it. Reviewers: bogner Reviewed By: bogner Subscribers: jdoerfert, mgorny, kristina, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D52954 llvm-svn: 354365
* [llvm] [cmake] Provide split include paths in LLVMConfigMichal Gorny2019-02-132-4/+14
| | | | | | | | | | | | | | | | Modify LLVMConfig to provide split variables for in-source and generated include paths. Currently, it uses a single value for both LLVM_INCLUDE_DIRS and LLVM_INCLUDE_DIR which works for install tree but fails hard at build tree (where LLVM_INCLUDE_DIR incorrectly contains multiple values). Instead, put the generated directory in LLVM_INCLUDE_DIR, and the source tree in LLVM_MAIN_INCLUDE_DIR which is consistent with in-LLVM builds. For install tree, both variables will have the same value. Differential Revision: https://reviews.llvm.org/D58109 llvm-svn: 353924
* [llvm] [cmake] Use current directory in GenerateVersionFromVCSMichal Gorny2019-02-111-4/+2
| | | | | | | | | | | Find dependent scripts of GenerateVersionFromVCS in current directory rather than ../../cmake/modules. I do not see any reason why the former would not work and The latter is incorrect when GenerateVersionFromVCS is used from install directory (i.e. in stand-alone builds). Differential Revision: https://reviews.llvm.org/D57996 llvm-svn: 353674
* This reverts commit 1440a848a635849b97f7a5cfa0ecc40d37451f5b.Mikhail R. Gadelha2019-02-092-53/+0
| | | | | | | | and commit a1853e834c65751f92521f7481b15cf0365e796b. They broke arm and aarch64 llvm-svn: 353590
* [Cmake] Add an option to build LLVM using the experimental new pass managerRong Xu2019-02-081-0/+10
| | | | | | | | Add LLVM_USE_NEWPM to build LLVM using the experimental new pass manager. Differential Revision: http://reviews.llvm.org/D57068 llvm-svn: 353550
* [cmake] Pass LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN to NATIVE configureShoaib Meenai2019-02-071-0/+1
| | | | | | | We should propagate this down to host builds so that e.g. people using an optimized tablegen can do the sub-configure successfully. llvm-svn: 353463
* Bump minimum toolchain versionJF Bastien2019-02-071-22/+50
| | | | | | | | | | | | | | | Summary: The RFC on moving past C++11 got good traction: http://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html This patch therefore bumps the toolchain versions according to our policy: llvm.org/docs/DeveloperPolicy.html#toolchain Subscribers: mgorny, jkorous, dexonsmith, llvm-commits, mehdi_amini, jyknight, rsmith, chandlerc, smeenai, hans, reames, lattner, lhames, erichkeane Differential Revision: https://reviews.llvm.org/D57264 llvm-svn: 353374
* Move the SMT API to LLVMMikhail R. Gadelha2019-02-072-0/+53
| | | | | | | | Moved everything SMT-related to LLVM and updated the cmake scripts. Differential Revision: https://reviews.llvm.org/D54978 llvm-svn: 353373
* build: Remove the cmake check for malloc.h.Peter Collingbourne2019-02-061-1/+0
| | | | | | | | | | | As far as I can tell, malloc.h is only being used here to provide a definition of mallinfo (malloc itself is declared in stdlib.h via cstdlib). We already have a macro for whether mallinfo is available, so switch to using that instead. Differential Revision: https://reviews.llvm.org/D57807 llvm-svn: 353329
* [CMake] Unify scripts for generating VCS headersPetr Hosek2019-02-065-287/+162
| | | | | | | | | | | | | | | | | Previously, there were two different scripts for generating VCS headers: one used by LLVM and one used by Clang and lldb. They were both similar, but different. They were both broken in their own ways, for example the one used by Clang didn't properly handle monorepo resulting in an incorrect version information reported by Clang. This change unifies two the scripts by introducing a new script that's used from both LLVM, Clang and lldb, ensures that the new script supports both monorepo and standalone SVN and Git setups, and removes the old scripts. Differential Revision: https://reviews.llvm.org/D57063 llvm-svn: 353268
* Revert "Bump minimum toolchain version"JF Bastien2019-02-021-50/+22
| | | | | | | | | | | Reverting D57264 again, it looks like we're down to two bots that need fixing: polly-amd64-linux polly-arm-linux They both have old versions of libstdc++ and recent clang. llvm-svn: 352954
* Bump minimum toolchain versionJF Bastien2019-02-021-22/+50
| | | | | | | | | | | | | | | Summary: The RFC on moving past C++11 got good traction: http://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html This patch therefore bumps the toolchain versions according to our policy: llvm.org/docs/DeveloperPolicy.html#toolchain Subscribers: mgorny, jkorous, dexonsmith, llvm-commits, mehdi_amini, jyknight, rsmith, chandlerc, smeenai, hans, reames, lattner, lhames, erichkeane Differential Revision: https://reviews.llvm.org/D57264 llvm-svn: 352951
* [CMake] Add install targets for utilities to LLVM exports if ↵Stefan Granitz2019-02-011-11/+21
| | | | | | | | | | | | | | | | LLVM_INSTALL_UTILS=ON Summary: D56606 was only appending target names to the `LLVM_EXPORTS`/`LLVM_EXPORTS_BUILDTREE_ONLY` properties. Targets showed up correctly in the build-tree `LLVMExports.cmake`, but they were missing in the installed one (as we found in https://bugs.llvm.org/show_bug.cgi?id=40443), because install did not register them explicitly. Reviewers: mgorny, smeenai, beanz, gottesmm, dschuff, tstellar, serge-sans-paille Reviewed By: smeenai Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D57383 llvm-svn: 352869
* Revert "Bump minimum toolchain version"JF Bastien2019-02-011-57/+22
| | | | | | Looks like we still have a few bots that are sad. Let try to get them fixed! llvm-svn: 352835
* Bump minimum toolchain versionJF Bastien2019-02-011-22/+57
| | | | | | | | | | | | | | | Summary: The RFC on moving past C++11 got good traction: http://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html This patch therefore bumps the toolchain versions according to our policy: llvm.org/docs/DeveloperPolicy.html#toolchain Subscribers: mgorny, jkorous, dexonsmith, llvm-commits, mehdi_amini, jyknight, rsmith, chandlerc, smeenai, hans, reames, lattner, lhames, erichkeane Differential Revision: https://reviews.llvm.org/D57264 llvm-svn: 352834
* Revert "Bump minimum toolchain version"JF Bastien2019-01-311-54/+22
| | | | | | | | A handful of bots are still breaking, either because I missed them in my audit, they were offline, or something else. I'm contacting their authors, but I'll revert for now and re-commit later. llvm-svn: 352814
* Bump minimum toolchain versionJF Bastien2019-01-311-22/+54
| | | | | | | | | | | | | | | Summary: The RFC on moving past C++11 got good traction: http://lists.llvm.org/pipermail/llvm-dev/2019-January/129452.html This patch therefore bumps the toolchain versions according to our policy: llvm.org/docs/DeveloperPolicy.html#toolchain Subscribers: mgorny, jkorous, dexonsmith, llvm-commits, mehdi_amini, jyknight, rsmith, chandlerc, smeenai, hans, reames, lattner, lhames, erichkeane Differential Revision: https://reviews.llvm.org/D57264 llvm-svn: 352811
* [cmake] Note future cleanup in comment. NFCShoaib Meenai2019-01-311-1/+3
| | | | | | | | CMake 3.6 introduced CMAKE_TRY_COMPILE_PLATFORM_VARIABLES, which solves precisely the problem that necessitated init_user_prop, so we can switch over whenever we bump our minimum CMake requirement. llvm-svn: 352790
* Revert "[CMake] Unify scripts for generating VCS headers"Petr Hosek2019-01-315-158/+287
| | | | | | This reverts commits r352729 and r352731: this broke Sanitizer Windows bots llvm-svn: 352733
* [CMake] Unify scripts for generating VCS headersPetr Hosek2019-01-315-287/+158
| | | | | | | | | | | | | | | | Previously, there were two different scripts for generating VCS headers: one used by LLVM and one used by Clang. They were both similar, but different. They were both broken in their own ways, for example the one used by Clang didn't properly handle monorepo resulting in an incorrect version information reported by Clang. This change unifies two the scripts by introducing a new script that's used from both LLVM and Clang, ensures that the new script supports both monorepo and standalone SVN and Git setups, and removes the old scripts. Differential Revision: https://reviews.llvm.org/D57063 llvm-svn: 352729
* [CMake] Accept ENTITLEMENTS in llvm_add_library()Stefan Granitz2019-01-301-2/+2
| | | | | | | | | | | | | | Summary: We added support for code signing entitlements in add_llvm_executable() with D54443. In the future it would be useful to have this functionality available also for libraries. Reviewers: beanz, bogner Reviewed By: bogner Subscribers: mgorny, llvm-commits, lldb-commits, #lldb Differential Revision: https://reviews.llvm.org/D57334 llvm-svn: 352628
* [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT alwaysMichal Gorny2019-01-281-1/+0
| | | | | | | | | | | | | | | | | | | | | Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT, and require the fallback to be defined explicitly as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone after r346888. The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache variable and an optional pre-definition of default value from caller (e.g. libcxx). It included a hack to make this work by assigning the value back and forth but it was fragile and stopped working in libcxx. The new logic is simpler and more transparent. Default value is provided in a separate variable, and used only when user-specified variable is empty (i.e. not overriden). Differential Revision: https://reviews.llvm.org/D57282 llvm-svn: 352374
* Fix llvm::is_trivially_copyable portability issuesSerge Guelton2019-01-221-0/+9
| | | | | | | | | | | | | | | llvm::is_trivially_copyable portability is verified at compile time using std::is_trivially_copyable as the reference implementation. Unfortunately, the latter is not available on all platforms, so introduce a proper configure check to detect if it is available on the target platform. In a similar manner, std::is_copy_assignable is not fully supported for gcc4.9. Provide a portable (?) implementation instead. Differential Revision: https://reviews.llvm.org/D57018 llvm-svn: 351820
* Document toolchain update policyJF Bastien2019-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Capture the current agreed-upon toolchain update policy based on the following discussions: - LLVM dev meeting 2018 BoF "Migrating to C++14, and beyond!" llvm.org/devmtg/2018-10/talk-abstracts.html#bof3 - A Short Policy Proposal Regarding Host Compilers lists.llvm.org/pipermail/llvm-dev/2018-May/123238.html - Using C++14 code in LLVM (2018) lists.llvm.org/pipermail/llvm-dev/2018-May/123182.html - Using C++14 code in LLVM (2017) lists.llvm.org/pipermail/llvm-dev/2017-October/118673.html - Using C++14 code in LLVM (2016) lists.llvm.org/pipermail/llvm-dev/2016-October/105483.html - Document and Enforce new Host Compiler Policy llvm.org/D47073 - Require GCC 5.1 and LLVM 3.5 at a minimum llvm.org/D46723 Subscribers: jkorous, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D56819 llvm-svn: 351765
* [AVR] Allow AVR to be explicitly set as the default target tripleDylan McKay2019-01-201-0/+2
| | | | | | | | | | | | | | | This extends the CMake cross compilation logic so that AVR can be set as the default target triple, and thus the generic codegen tests can be run. This used to be possible on AVR; the CMake configuration files have since been changed. With this patch, 'cmake -DLLVM_DEFAULT_TARGET_TRIPLE=avr-unknown-unknown' can be passed on the command line, making the `-mcpu` argument redundant to 'llc' and friends. llvm-svn: 351678
* [NFC] Factor out + document build requirementsJF Bastien2019-01-161-41/+55
| | | | | | | | | | Summary: This change factors out compiler checking / warning, and documents LLVM_FORCE_USE_OLD_TOOLCHAIN. It doesn't introduce any functional changes nor policy changes, these will come late. Subscribers: mgorny, jkorous, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D56799 llvm-svn: 351387
* [CMake] Export utility targets to the build/install tree depending on ↵Stefan Granitz2019-01-111-0/+3
| | | | | | | | | | | | | | | | | | LLVM_BUILD/INSTALL_UTILS Summary: Allow external projects to import test-related targets like FileCheck, count, not etc. and query binary paths, properties, etc. This would be useful for LLDB, because it reduces the difference between in-tree vs. standalone builds and simplifies CMake logic. Reviewers: chapuni, gottesmm, beanz Reviewed By: beanz Subscribers: mgorny, lldb-commits, llvm-commits, #lldb Differential Revision: https://reviews.llvm.org/D56606 llvm-svn: 350959
* [CMake] Use XCODE_ATTRIBUTE properties for code signing and entitlements in ↵Stefan Granitz2019-01-041-7/+11
| | | | | | | | | | | | | | | | Xcode Summary: A post-commit comment to D55116 amended that this was the correct way for code signing in Xcode. Reviewers: beanz Reviewed By: beanz Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D55816 llvm-svn: 350383
* Fix mingw build failures caused by r349839Tom Stellard2018-12-221-0/+4
| | | | | | | | | | Reviewers: mstorsjo Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D56004 llvm-svn: 349990
* Fix Windows build failures caused by r349839Tom Stellard2018-12-201-6/+6
| | | | llvm-svn: 349846
* cmake: Remove add_llvm_loadable_module()Tom Stellard2018-12-201-37/+10
| | | | | | | | | | | | | | | | | Summary: This function is very similar to add_llvm_library(), so this patch merges it into add_llvm_library() and replaces all calls to add_llvm_loadable_module(lib ...) with add_llvm_library(lib MODULE ...) Reviewers: philip.pfaffe, beanz, chandlerc Reviewed By: philip.pfaffe Subscribers: chapuni, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D51748 llvm-svn: 349839
* Re-land "Fix MSVC dependency issue between Clang-tablegen and LLVM-tablegen"Alexandre Ganea2018-12-191-0/+6
| | | | | | (was reverted by mistake) llvm-svn: 349672
OpenPOWER on IntegriCloud