summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* More CMake fixes for OS X.Filipe Cabecinhas2013-04-259-11/+68
| | | | llvm-svn: 180243
* Fix one small whitespace alignment mistake.Jason Molenda2013-04-251-6/+6
| | | | llvm-svn: 180242
* [mips] Add definitions of micromips load and store instructions.Akira Hatanaka2013-04-254-17/+43
| | | | | | Patch by Zoran Jovanovic. llvm-svn: 180241
* Allow users to choose identity used to sign tools.Filipe Cabecinhas2013-04-251-1/+3
| | | | | | | | | | | Summary: No change if the identity isn't defined by the makefile. Reviewers: echristo Differential Revision: http://llvm-reviews.chandlerc.com/D632 llvm-svn: 180240
* Add "-no-canonical-prefixes" to a test case.Richard Trieu2013-04-251-4/+4
| | | | llvm-svn: 180239
* [mips] Add definitions of micromips shift instructions.Akira Hatanaka2013-04-254-12/+62
| | | | | | Patch by Zoran Jovanovic. llvm-svn: 180238
* <rdar://problem/13565393>Greg Clayton2013-04-251-1/+1
| | | | | | If a register is in a ValueObject, be sure to print its children if it is a vector type. llvm-svn: 180237
* Don't print the type if there is none and don't print "<invalid type>". ↵Greg Clayton2013-04-251-3/+8
| | | | | | | | ValueObjects can be register sets and register groups and dumping those with: (lldb) script print frame.GetRegisters() llvm-svn: 180236
* Don't crash if we try to interpret the IR (incorrectly in this case) and ↵Greg Clayton2013-04-251-3/+5
| | | | | | | | can't handle the size. This came from trying to do: (lldb) p typedef float __attribute__((ext_vector_type(8))) __ext_vector_float8; (__ext_vector_float8)$ymm0 llvm-svn: 180235
* [analyzer] Fix a crash in RetainCountChecker - we should not rely on ↵Anna Zaks2013-04-252-2/+55
| | | | | | | | | | | CallEnter::getCallExpr to return non-NULL We get a CallEnter with a null expression, when processing a destructor. All other users of CallEnter::getCallExpr work fine with null as return value. (Addresses PR15832, Thanks to Jordan for reducing the test case!) llvm-svn: 180234
* [neonemitter tests] Change triple of emitted tests to thumbv7s to match the ↵Michael Gottesman2013-04-251-1/+1
| | | | | | target cpu being swift. Also specify the target-abi to apcs-gnu. llvm-svn: 180233
* Fixing OCAML bindings for MCJITAndrew Kaylor2013-04-251-1/+1
| | | | llvm-svn: 180232
* R600: Initialize BooleanVectorContentsTom Stellard2013-04-241-0/+1
| | | | | | Fixes test/CodeGen/R600/setcc.ll llvm-svn: 180231
* R600: Use SHT_PROGBITS for the .AMDGPU.config sectionTom Stellard2013-04-242-1/+2
| | | | | | | | The libelf implementation that is distributed here: http://www.mr511.de/software/english.html will not parse sections that are marked SHT_NULL. llvm-svn: 180230
* Exposing MCJIT through C APIAndrew Kaylor2013-04-246-48/+249
| | | | | | Patch by Filip Pizlo llvm-svn: 180229
* Objective-C parsing [qoi]: Recover gracefully with good diagnosticFariborz Jahanian2013-04-243-0/+30
| | | | | | | when class implementation declaration adds protocol qualifier list. // rdar://12233858 llvm-svn: 180228
* Fix for r180193 - MI Sched: eliminate local vreg.Andrew Trick2013-04-241-2/+6
| | | | | | | | | Fixes PR15838. Need to check for blocks with nothing but dbg.value. I'm not sure how to force this situation with a unit test. I tried to reduce the test case in PR15838 (1k lines of metadata) but gave up. llvm-svn: 180227
* [inline asm] Fix a crasher for an invalid value type/register class.Chad Rosier2013-04-241-4/+11
| | | | | | rdar://13731657 llvm-svn: 180226
* Making invalidateInstructionCache automatic in SectionMemoryManagerAndrew Kaylor2013-04-242-3/+6
| | | | llvm-svn: 180225
* Added the ability to extract a ModuleSpecList (a new class) from an ↵Greg Clayton2013-04-2418-78/+602
| | | | | | | | | | | | | | | | | ObjectFile. This is designed to be used when you have an object file that contains one or more architectures (MacOSX universal (fat) files) and/or one or more objects (BSD archive (.a files)). There is a new static ObjectFile function you can call: size_t ObjectFile::GetModuleSpecifications (const FileSpec &file, lldb::offset_t file_offset, ModuleSpecList &specs) This will fill in "specs" which the details of all the module specs (file + arch + UUID (if there is one) + object name (for BSD archive objects eventually) + file offset to the object in question). This helps us when a user specifies a file that contains a single architecture, and also helps us when we are given a debug symbol file (like a dSYM file on MacOSX) that contains one or more architectures and we need to be able to match it up to an existing Module that has no debug info. llvm-svn: 180224
* Remove a print statement that was left in accidentally.Greg Clayton2013-04-241-1/+0
| | | | llvm-svn: 180223
* [objc-arc] Added ImpreciseAutoreleaseSet to track autorelease calls that ↵Michael Gottesman2013-04-241-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | were once autoreleaseRV instructions. Due to the semantics of ARC, we must be extremely conservative with autorelease calls inserted by the frontend since ARC gaurantees that said object will be in the autorelease pool after that point, an optimization invariant that the optimizer must respect. On the other hand, we are allowed significantly more flexibility with autoreleaseRV instructions. Often times though this flexibility is disrupted by early transformations which transform objc_autoreleaseRV => objc_autorelease if said instruction is no longer being used as part of an RV pair (generally due to inlining). Since we can not tell the difference in between an autorelease put into place by the frontend and one created through said ``strength reduction'' we can not perform these optimizations. The addition of this set gets around said issues by allowing us to differentiate in between said two cases. rdar://problem/13697741. llvm-svn: 180222
* Fixed comment typo.Michael Gottesman2013-04-241-1/+1
| | | | llvm-svn: 180221
* Mips assembler: Add 64 bit testing for JALJack Carter2013-04-241-39/+82
| | | | | Contributer: Vladimir Medic llvm-svn: 180220
* See: ↵Enrico Granata2013-04-241-1/+1
| | | | | | | | | http://stackoverflow.com/questions/16166897/c-how-to-obtain-address-of-stdvector-object-in-lldb-xcode The user was trying to obtain the address-of an std::vector and the experience was more painful than necessary because data formatters were kicking in for vector* objects We got this right for libc++ - we should get it right for libstdc++ too llvm-svn: 180219
* <rdar://problem/13209140>Enrico Granata2013-04-245-4/+29
| | | | | | “plugin load” tries to be more helpful when it fails to load a plugin llvm-svn: 180218
* Fixed IRForTarget to handle Objective-C messagesSean Callanan2013-04-244-0/+131
| | | | | | | | sent to "super". <rdar://problem/13042260> llvm-svn: 180217
* Temporarily recognize exc_type EXC_BREAKPOINT with an exc_code of 0Jason Molenda2013-04-241-0/+7
| | | | | | | | (normally undefined) as indicating a breakpoint hit, in addition to the normal (EXC_BREAKPOINT, EXC_ARM_BREAKPOINT) pair. <rdar://problem/13730366> llvm-svn: 180216
* Fixed expression parser handling of empty strings.Sean Callanan2013-04-242-0/+8
| | | | | | <rdar://problem/12977827> llvm-svn: 180215
* Use pointers to iterate over symbols.Rafael Espindola2013-04-244-83/+91
| | | | | | | | While here, don't report a dummy symbol for relocations that don't have symbols. We used to says such relocations were for the first defined symbol, but now we return end_symbols(). The llvm-readobj output change agrees with otool. llvm-svn: 180214
* default_delete needs a static_assert against void types. I had previously ↵Howard Hinnant2013-04-242-0/+26
| | | | | | thought that sizeof(void) would take care of this. I was wrong. llvm-svn: 180213
* Fixed a build problem.Sean Callanan2013-04-241-1/+1
| | | | llvm-svn: 180212
* Objective-C arc: Improve disgnostics when 'weak'Fariborz Jahanian2013-04-243-7/+35
| | | | | | | | property cannot be synthesized because its backing ivar does not support weak references. // rdar://13676793 llvm-svn: 180211
* Added support for pulling Objective-C class symbolsSean Callanan2013-04-244-1/+127
| | | | | | | | | | out of the runtime. This allows calling static methods on classes whose symbols have been stripped out of the binary. <rdar://problem/12042992> llvm-svn: 180210
* [Core] Allow weak symbols in shared library when linking.Michael J. Spencer2013-04-243-11/+23
| | | | | | Patch by Rui Ueyama. llvm-svn: 180209
* Removing example-dynarray.cpp test since it's of no value.Jyotsna Verma2013-04-241-178/+0
| | | | llvm-svn: 180208
* [driver] Test that last option wins between -Ofast and -O2.Chad Rosier2013-04-241-0/+8
| | | | | | Part of rdar://13622687 llvm-svn: 180207
* [driver] Put -fvectorize under the -Ofast umbrella flag.Chad Rosier2013-04-242-1/+17
| | | | | | Part of rdar://13622687 llvm-svn: 180206
* [driver] Improve the implementation of the -Ofast option.Chad Rosier2013-04-243-24/+55
| | | | | | | | | | | | Specifically, allow the flags that fall under this umbrella (i.e., -O3, -ffast-math, and -fstrict-aliasing) to be overridden/disabled with the individual -O[0|1|2|s|z]/-fno- flags. This also fixes the handling of various floating point optimization flags that are modified by -ffast-math (and thus -Ofast as well). Part of rdar://13622687 llvm-svn: 180204
* [driver] Add a hasFlag API that accepts a positive alias.Chad Rosier2013-04-242-1/+15
| | | | | | Part of rdar://13622687 llvm-svn: 180203
* Don't produce an empty llvm.compiler.used in LTO.Rafael Espindola2013-04-241-19/+19
| | | | | | | | | | LTO was always creating an empty llvm.compiler.used. With this patch we now first check if there is anything to be added first. Unfortunately, there is no good way to test libLTO in isolation as it needs gold or ld64, but there are bots doing LTO builds that found this problem. llvm-svn: 180202
* <rdar://problem/13665446>Greg Clayton2013-04-242-6/+54
| | | | | | Pass the user set target.env-vars when launching through a terminal. llvm-svn: 180201
* Don't forward declare environ on WindowsReid Kleckner2013-04-241-4/+2
| | | | | | | | | That seems to interact poorly with the environ and _environ macros defined in MSVC's <stdlib.h>. Also remove the incorrect comment about _NSGetEnviron(). llvm-svn: 180200
* Changes to the ObjC runtimeEnrico Granata2013-04-245-134/+545
| | | | llvm-svn: 180199
* Objective-C: When reporting on missing property accessor implementation inFariborz Jahanian2013-04-247-38/+137
| | | | | | | | categories, do not report when they are declared in primary class, class's protocol, or one of it super classes. This is because, its class is going to implement them. // rdar://13713098 llvm-svn: 180198
* LoopVectorizer: Change variable name Stride to ConsecutiveStrideArnold Schwaighofer2013-04-241-6/+6
| | | | | | | | This makes it easier to read the code. No functionality change. llvm-svn: 180197
* LoopVectorize: Scalarize padded typesArnold Schwaighofer2013-04-242-1/+38
| | | | | | | | | | | | | | | | | | This patch disables memory-instruction vectorization for types that need padding bytes, e.g., x86_fp80 has 10 bytes store size with 6 bytes padding in darwin on x86_64. Because the load/store vectorization is performed by the bit casting to a packed vector, which has incompatible memory layout due to the lack of padding bytes, the present vectorizer produces inconsistent result for memory instructions of those types. This patch checks an equality of the AllocSize of a scalar type and allocated size for each vector element, to ensure that there is no padding bytes and the array can be read/written using vector operations. Patch by Daisuke Takahashi! Fixes PR15758. llvm-svn: 180196
* LoopVectorizer: Bail out if we don't have datalayout we need itArnold Schwaighofer2013-04-244-1/+13
| | | | llvm-svn: 180195
* Revert r180189.Rafael Espindola2013-04-241-29/+24
| | | | | | | This should bring the ppc bots back. I will try to write a test that would have found the problem on a little endian system too. llvm-svn: 180194
* MI Sched: eliminate local vreg copies.Andrew Trick2013-04-246-10/+242
| | | | | | | | | | | | | | | | For now, we just reschedule instructions that use the copied vregs and let regalloc elliminate it. I would really like to eliminate the copies on-the-fly during scheduling, but we need a complete implementation of repairIntervalsInRange() first. The general strategy is for the register coalescer to eliminate as many global copies as possible and shrink live ranges to be extended-basic-block local. The coalescer should not have to worry about resolving local copies (e.g. it shouldn't attemp to reorder instructions). The scheduler is a much better place to deal with local interference. The coalescer side of this equation needs work. llvm-svn: 180193
OpenPOWER on IntegriCloud