summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* DebugInfo: Rename some testcasesDuncan P. N. Exon Smith2015-03-303-0/+0
| | | | | | | | Momentarily (but never in tree), the `scope:` field was called `parent:`. Apparently a few testcases were left behind with "parent" in the name, so rename them. llvm-svn: 233560
* Verifier: Check operands of MDSubprogram nodesDuncan P. N. Exon Smith2015-03-306-91/+186
| | | | | | | | | | | Check operands of `MDSubprogram`s in the verifier, and update the accessors and factory functions to use more specific types. There were a lot of broken testcases, which I fixed in r233466. If you have out-of-tree tests for debug info, you probably need similar changes to the ones I made there. llvm-svn: 233559
* Trying to fix the Hexagon and debian-fast bots arm32_neon_vcnt_upgrade.ll test.Yaron Keren2015-03-301-1/+1
| | | | llvm-svn: 233558
* While testing Erik's code coverage scripts, I found a hole in the test suite ↵Marshall Clow2015-03-302-16/+74
| | | | | | - vector::assign where a reallocation was not required had no tests. Add some llvm-svn: 233557
* Add option to only run scop detectionTobias Grosser2015-03-301-0/+10
| | | | llvm-svn: 233556
* Remove more superfluous .str() and replace std::string concatenation with Twine.Yaron Keren2015-03-3022-53/+52
| | | | | | Following r233392, http://llvm.org/viewvc/llvm-project?rev=233392&view=rev. llvm-svn: 233555
* more space; NFCSanjay Patel2015-03-301-1/+1
| | | | llvm-svn: 233554
* [X86] Ensure integer domain on scalar i64 load/store stack folding tests. NFCSimon Pilgrim2015-03-302-8/+16
| | | | llvm-svn: 233553
* [libcxx] Fix PR22771 - Support access control SFINAE in the library version ↵Eric Fiselier2015-03-302-5/+18
| | | | | | | | | | | | | | | | | | | of is_convertible. Summary: Currently the conversion check does not take place in a context where access control SFINAE is applied. This patch changes the context of the test expression so that SFINAE occurs if access control does not permit the conversion. Related bug: https://llvm.org/bugs/show_bug.cgi?id=22771 Reviewers: mclow.lists, rsmith, dim Reviewed By: dim Subscribers: dim, rodrigc, emaste, cfe-commits Differential Revision: http://reviews.llvm.org/D8461 llvm-svn: 233552
* Fix Sphinx warning " Title underline too short.".Rafael Espindola2015-03-301-1/+1
| | | | llvm-svn: 233551
* [ELF] Use override keyword instead of virtualSimon Atanasyan2015-03-301-6/+6
| | | | | | No functional changes. llvm-svn: 233550
* [Mips] Do not use llvm::Optional for GP0 value and TLS section addressSimon Atanasyan2015-03-301-6/+6
| | | | | | | | | Use of llvm::Optional is redundant here. Initializing by default value 0 is enough. No functional changes. llvm-svn: 233549
* [Mips] Rename class method merge => mergeHeaderFlagsSimon Atanasyan2015-03-303-4/+5
| | | | | | No functional changes. llvm-svn: 233548
* Replace sys.platform skips in tests with @skip decorators which check ↵Robert Flack2015-03-30259-545/+534
| | | | | | | | | | | | | | | | against remote platform. Adds @skipIfPlatform and @skipUnlessPlatform decorators which will skip if / unless the target platform is in the provided platform list. Test Plan: ninja check-lldb shows no regressions. When running cross platform, tests which cannot run on the target platform are skipped. Differential Revision: http://reviews.llvm.org/D8665 llvm-svn: 233547
* Fix check in TestNoreturnUnwindTamas Berghammer2015-03-301-1/+1
| | | | llvm-svn: 233546
* Save a std::string.Rafael Espindola2015-03-302-11/+14
| | | | | | The group names are always symbol names, so we can use a StringRef. llvm-svn: 233545
* [SystemZ] Fix definition of IntMaxType / Int64TypeUlrich Weigand2015-03-303-26/+28
| | | | | | | | Like on other 64-bit platforms, Int64Type should be SignedLong on SystemZ, not SignedLongLong as per default. This could cause ABI incompatibilities in certain cases (e.g. name mangling). llvm-svn: 233544
* [SystemZ] Fix some ABI corner casesUlrich Weigand2015-03-304-8/+413
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running the GCC's inter-compiler ABI compatibility test suite uncovered a couple of errors in clang's SystemZ ABI implementation. These all affect only rare corner cases: - Short vector types GCC synthetic vector types defined with __attribute__ ((vector_size ...)) are always passed and returned by reference. (This is not documented in the official ABI document, but is the de-facto ABI implemented by GCC.) clang would do that only for vector sizes >= 16 bytes, but not for shorter vector types. - Float-like aggregates and empty bitfields clang would consider any aggregate containing an empty bitfield as first element to be a float-like aggregate. That's obviously wrong. According to the ABI doc, the presence of an empty bitfield makes an aggregate to be *not* float-like. However, due to a bug in GCC, empty bitfields are ignored in C++; this patch changes clang to be compatible with this "feature" of GCC. - Float-like aggregates and va_arg The va_arg implementation would mis-detect some aggregates as float-like that aren't actually passed as such. This applies to aggregates that have only a single element of type float or double, but using an aligned attribute that increases the total struct size to more than 8 bytes. This error occurred because the va_arg implement used to have an copy of the float-like aggregate detection logic (i.e. it would call the isFPArgumentType routine, but not perform the size check). To simplify the logic, this patch removes the duplicated logic and instead simply checks the (possibly coerced) LLVM argument type as already determined by classifyArgumentType. llvm-svn: 233543
* [mips] Add support for 'ZC' inline assembly memory constraint.Daniel Sanders2015-03-302-0/+40
| | | | | | | | | | | | | | Summary: Also add tests for 'R' and 'm'. Reviewers: atanasyan Reviewed By: atanasyan Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D8449 llvm-svn: 233542
* [SystemZ] Fix LLVM crash on unoptimized codeUlrich Weigand2015-03-302-0/+32
| | | | | | | | | | | | | | Compiling the following function with -O0 would crash, since LLVM would hit an assertion in getTestUnderMaskCond: int test(unsigned long x) { return x >= 0 && x <= 15; } Fixed by detecting the case in the caller of getTestUnderMaskCond. llvm-svn: 233541
* [SystemZ] Remove TargetMachine CPU auto-detectionUlrich Weigand2015-03-301-5/+0
| | | | | | As was done for X86 in r206094. llvm-svn: 233540
* Special case the creation of relocation sections.Rafael Espindola2015-03-303-6/+20
| | | | | | | | | | | These sections are never looked up and we know when have to create them. Use that to save adding them to the regular map and avoid a symbol->string->symbol conversion for the group symbol. This also makes the implementation independent of the details of how unique sections are implemented. llvm-svn: 233539
* [ARM] Remove whitespace in rel-ifunc testDenis Protivensky2015-03-301-7/+7
| | | | llvm-svn: 233538
* [mips] Support 9-bit offsets for the 'R' inline assembly memory constraint.Daniel Sanders2015-03-303-10/+74
| | | | | | | | | | | | | | | | | | | Summary: The 'R' constraint is actually supposed to be much more complicated than this and is defined in terms of whether it will cause macro expansion in the assembler. 'R' is getting less useful due to architecture changes and ought to be replaced by other constraints. We therefore implement 9-bit offsets which will work for all subtargets and all instructions. Reviewers: vkalintiris Reviewed By: vkalintiris Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8440 llvm-svn: 233537
* Revert test commit at revision 233535.Russell Gallop2015-03-301-2/+0
| | | | llvm-svn: 233536
* Test commitRussell Gallop2015-03-301-0/+2
| | | | llvm-svn: 233535
* Add forgotten underscoreTobias Grosser2015-03-301-1/+1
| | | | llvm-svn: 233534
* Add some missing isl prefixesTobias Grosser2015-03-302-18/+22
| | | | llvm-svn: 233533
* [Mips] Fix writing R_MIPS_REL32 relocation addendumSimon Atanasyan2015-03-305-0/+211
| | | | | | | | | If input relocation records have RELA format while output dynamic relocations have REL format the only way to transfer a dynamic relocation addendum is to save it into the location modified by the dynamic relocation. llvm-svn: 233532
* Fix TestGdbRemote* on remote linuxTamas Berghammer2015-03-302-22/+39
| | | | | | Differential revision: http://reviews.llvm.org/D8454 llvm-svn: 233531
* clang-format: [JS] Fix comment formatting in goog.scopes.Daniel Jasper2015-03-302-2/+8
| | | | | | | | | | | | | | | | | | Before: goog.scope(function() { // test var x = 0; // test }); After: goog.scope(function() { // test var x = 0; // test }); llvm-svn: 233530
* Revert "[SCEV] Look at backedge dominating conditions."Daniel Jasper2015-03-302-95/+0
| | | | | | | This leads to terribly slow compile times under MSAN. More discussion on the commit thread of r233447. llvm-svn: 233529
* AVX-512: blank lines, duplicated tests, no functional changesElena Demikhovsky2015-03-302-65/+29
| | | | | | see comments http://reviews.llvm.org/D6835 llvm-svn: 233528
* AVX-512: added intrinsics for VPAND, VPOR and VPXORElena Demikhovsky2015-03-303-9/+124
| | | | | | by Asaf Badouh (asaf.badouh@intel.com) llvm-svn: 233525
* [X86] In getHostCPUFeatures, disable xop, f16c, fma, and fma4 if OS does not ↵Craig Topper2015-03-301-4/+4
| | | | | | support saving ymm state. llvm-svn: 233518
* [X86] Remove FeatureAES for 'corei7' CPU. 'corei7' should match 'nehalem' ↵Craig Topper2015-03-301-11/+9
| | | | | | which doesn't have AES. Having AES and not PCLMUL makes 'corei7' halfway between Nehalem and Westmere. llvm-svn: 233517
* [X86] Use the more specific CPU names like 'nehalem', 'westmere', 'haswell', ↵Craig Topper2015-03-301-12/+9
| | | | | | etc. Split Nehalem and Westmere CPUs. llvm-svn: 233516
* [X86] Move family 6 model 21 to 'pentium-m'. Near as I can tell this is a ↵Craig Topper2015-03-301-0/+2
| | | | | | Dothan based SOC. llvm-svn: 233515
* [X86] Family 6 model 29 is a Penryn based processor not a Nehalem based ↵Craig Topper2015-03-301-2/+2
| | | | | | processor. llvm-svn: 233514
* [OPENMP] Codegen for 'atomic update' construct.Alexey Bataev2015-03-3011-123/+1450
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds atomic update codegen for the following forms of expressions: x binop= expr; x++; ++x; x--; --x; x = x binop expr; x = expr binop x; If x and expr are integer and binop is associative or x is a LHS in a RHS of the assignment expression, and atomics are allowed for type of x on the target platform atomicrmw instruction is emitted. Otherwise compare-and-swap sequence is emitted: bb: ... atomic load <x> cont: <expected> = phi [ <x>, label %bb ], [ <new_failed>, %cont ] <desired> = <expected> binop <expr> <res> = cmpxchg atomic &<x>, desired, expected <new_failed> = <res>.field1; br <res>field2, label %exit, label %cont exit: ... Differential Revision: http://reviews.llvm.org/D8536 llvm-svn: 233513
* [MCJIT] In debug memory dump output, don't truncate 64 bit addressesAlexei Starovoitov2015-03-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: In dumpMemorySections a cast was too short, and in resolveRelocations a format string was too short. Test Plan: Enable debug build and run a program which invokes MCJIT::finalizeObject(). Saw valid input as below (highlighted addresses were previously truncated): ``` Parse relocations: Resolving relocations Section #0 **0x7f4c1337b000** ----- Contents of section socket1 before relocations ----- **0x00007f4c1337b000**: 18 01 00 00 01 01 01 0a 00 00 00 00 04 03 02 01 0x00007f4c1337b010: 7b 1a f8 ff 00 00 00 00 18 11 00 00 05 00 00 00 ``` Reviewers: lhames Reviewed By: lhames Subscribers: llvm-commits, ast Differential Revision: http://reviews.llvm.org/D8681 llvm-svn: 233512
* [OPENMP] Improved codegen for implicit/explicit 'barrier' constructs.Alexey Bataev2015-03-306-29/+56
| | | | | | | Replace boolean IsExplicit parameter of OpenMPRuntime::emitBarrierCall() method by OpenMPDirectiveKind Kind for better compatibility with the runtime library. Also add processing of 'nowait' clause on worksharing directives. Differential Revision: http://reviews.llvm.org/D8659 llvm-svn: 233511
* [Orc] Add missing #include. Hopefully this will appease the modules buildbots.Lang Hames2015-03-301-0/+1
| | | | llvm-svn: 233510
* [MCJIT][Orc] Refactor RTDyldMemoryManager, weave RuntimeDyld::SymbolInfo throughLang Hames2015-03-3038-560/+750
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MCJIT. This patch decouples the two responsibilities of the RTDyldMemoryManager class, memory management and symbol resolution, into two new classes: RuntimeDyld::MemoryManager and RuntimeDyld::SymbolResolver. The symbol resolution interface is modified slightly, from: uint64_t getSymbolAddress(const std::string &Name); to: RuntimeDyld::SymbolInfo findSymbol(const std::string &Name); The latter passes symbol flags along with symbol addresses, allowing RuntimeDyld and others to reason about non-strong/non-exported symbols. The memory management interface removes the following method: void notifyObjectLoaded(ExecutionEngine *EE, const object::ObjectFile &) {} as it is not related to memory management. (Note: Backwards compatibility *is* maintained for this method in MCJIT and OrcMCJITReplacement, see below). The RTDyldMemoryManager class remains in-tree for backwards compatibility. It inherits directly from RuntimeDyld::SymbolResolver, and indirectly from RuntimeDyld::MemoryManager via the new MCJITMemoryManager class, which just subclasses RuntimeDyld::MemoryManager and reintroduces the notifyObjectLoaded method for backwards compatibility). The EngineBuilder class retains the existing method: EngineBuilder& setMCJITMemoryManager(std::unique_ptr<RTDyldMemoryManager> mcjmm); and includes two new methods: EngineBuilder& setMemoryManager(std::unique_ptr<MCJITMemoryManager> MM); EngineBuilder& setSymbolResolver(std::unique_ptr<RuntimeDyld::SymbolResolver> SR); Clients should use EITHER: A single call to setMCJITMemoryManager with an RTDyldMemoryManager. OR (exclusive) One call each to each of setMemoryManager and setSymbolResolver. This patch should be fully compatible with existing uses of RTDyldMemoryManager. If it is not it should be considered a bug, and the patch either fixed or reverted. If clients find the new API to be an improvement the goal will be to deprecate and eventually remove the RTDyldMemoryManager class in favor of the new classes. llvm-svn: 233509
* Add check for kind of UnqualifiedId in Declarator::isStaticMember()Petar Jovanovic2015-03-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Method CXXMethodDecl::isStaticOverloadedOperator expects Operator field from the struct OperatorFunctionId, which is a member of the union in the class UnqualifiedId. If the kind of UnqualifiedId is not checked, there is no guarantee that the value that this method receives will be correct, because it can be the value of another union member and not OperatorFunctionId. This bug manifests itself when running make check-all on mips64 BE. This fix resolves the following regression tests: Clang :: CXX/special/class.dtor/p9.cpp Clang :: CodeGenCXX/2006-09-12-OpaqueStructCrash.cpp Clang :: CodeGenCXX/ctor-dtor-alias.cpp Clang :: CodeGenCXX/debug-info-windows-dtor.cpp Clang :: CodeGenCXX/dllexport-members.cpp Clang :: CodeGenCXX/dllexport.cpp Patch by Violeta Vukobrat. Differential Revision: http://reviews.llvm.org/D8437 llvm-svn: 233508
* Gist-simplify access relations in the context of domain constraintsTobias Grosser2015-03-302-2/+3
| | | | | | | This simplifies already one test case and is needed for upcoming improvements to our delinearization. llvm-svn: 233507
* [Orc] Add missing inline keyword to the function introduced in r233504.Lang Hames2015-03-291-1/+1
| | | | llvm-svn: 233506
* Avoid nullptr dereference in the ScopGraphPrinterTobias Grosser2015-03-291-1/+1
| | | | | Reported-by: http://buildd-clang.debian.net/scan-build llvm-svn: 233505
* [Orc] Use raw TargetAddresses for callback trampoline addresses, rather than IR.Lang Hames2015-03-292-10/+15
| | | | | | | | Add convenience function for building a typed IR Constant from trampoline addresses. llvm-svn: 233504
* [MS ABI] Rework .xdata HandlerType emissionDavid Majnemer2015-03-299-55/+47
| | | | | | | | | | Utilizing IMAGEREL relocations for synthetic IR constructs isn't valuable, just clutter. While we are here, simplify HandlerType names by making the numeric value for the 'adjective' part of the mangled name instead of appending '.const', etc. The old scheme made for very long global names and leads to wordy things like '.std_bad_alloc' llvm-svn: 233503
OpenPOWER on IntegriCloud