summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Objective-C ARC. Allow conversion of (void*) pointers toFariborz Jahanian2014-06-185-8/+24
| | | | | | | retainable ObjC pointers without requiring a bridge-cast by recognizing this as a +0 context. // rdar://16627903 llvm-svn: 211234
* Move ARMJITInfo off of the TargetMachine and down onto the subtarget.Eric Christopher2014-06-189-24/+28
| | | | | | | | | This required untangling a mess of headers that included around. This a recommit of r210953 with a fix for the removed accessor for JITInfo. llvm-svn: 211233
* Use stdint macros for specifying size of constantsMatt Arsenault2014-06-181-2/+3
| | | | llvm-svn: 211231
* Teach llvm-size to know about Mach-O universal files (aka fat files) andKevin Enderby2014-06-183-1/+65
| | | | | | | | | | fat files containing archives. Also fix a bug in MachOUniversalBinary::ObjectForArch::ObjectForArch() where it needed a >= when comparing the Index with the number of objects in a fat file. As the index starts at 0. llvm-svn: 211230
* R600: Handle fnearbyintMatt Arsenault2014-06-183-0/+70
| | | | | | | | The difference from rint isn't really relevant here, so treat them as equivalent. OpenCL doesn't have nearbyint, so this is sort of pointless other than for completeness. llvm-svn: 211229
* R600/SI: add gather4 and getlod intrinsics (v3)Marek Olsak2014-06-186-26/+727
| | | | | | | | | This contains all the previous patches + getlod support on top of it. It doesn't use SDNodes anymore, so it's quite small. It also adds v16i8 to SReg_128, which is used for the sampler descriptor. Reviewed-by: Tom Stellard llvm-svn: 211228
* tests: relax ms-intrinsics testSaleem Abdulrasool2014-06-181-17/+14
| | | | | | | | | | Relax the tests to allow for differences between release and debug builds. This should fix the buildbots. Thanks to Benjamin Kramer and Eric Christo for their invaluable tip that this was release build specific issue. llvm-svn: 211227
* Use LL suffix for literal that should be 64-bits.Matt Arsenault2014-06-181-1/+1
| | | | | | This hopefully fixes Windows llvm-svn: 211225
* Relax the cl-inputs.c test a little bit in case link.exe is on PATHReid Kleckner2014-06-181-2/+2
| | | | llvm-svn: 211224
* [MS-ABI] Implement typeidWarren Hunt2014-06-182-2/+93
| | | | | | | This patch enables clang to generate calls to __RTtypeid when lowering typeid on win32 targets. Test cases are included. llvm-svn: 211223
* Add a symbols() range and use a range loop.Rafael Espindola2014-06-182-5/+7
| | | | llvm-svn: 211222
* Simplify code.Rafael Espindola2014-06-181-10/+1
| | | | | | We can delete the objects earlier now that we are copying the names to a buffer. llvm-svn: 211221
* MC: do not add comment string to the AsmToken in AsmLexer::LexLineCommentSaleem Abdulrasool2014-06-182-2/+12
| | | | | | | | Fixes macros with varargs if the macro instantiation has a trailing comment. Patch by Janne Grunau! llvm-svn: 211219
* MCAsmParser: full support for gas' '.if{cond} expression' directivesSaleem Abdulrasool2014-06-183-8/+130
| | | | | | Patch by Janne Grunau! llvm-svn: 211218
* CodeGen: improve ms instrincics supportSaleem Abdulrasool2014-06-184-22/+74
| | | | | | | | | Add support for _InterlockedCompareExchangePointer, _InterlockExchangePointer, _InterlockExchange. These are available as a compiler intrinsic on ARM and x86. These are used directly by the Windows SDK headers without use of the intrin header. llvm-svn: 211216
* Objective-C. Check for integer overflow in Objective-C'sFariborz Jahanian2014-06-182-2/+20
| | | | | | boxed expression. // rdar://16417427 llvm-svn: 211215
* Replace Execution Engine's mutex with std::recursive_mutex.Zachary Turner2014-06-187-71/+69
| | | | | | | | | | | | | This change has a bit of a trickle down effect due to the fact that there are a number of derived implementations of ExecutionEngine, and that the mutex is not tightly encapsulated so is used by other classes directly. Reviewed by: rnk Differential Revision: http://reviews.llvm.org/D4196 llvm-svn: 211214
* Revert a C API difference that I incorrectly introduced.Rafael Espindola2014-06-182-0/+5
| | | | | | | LLVMGetBitcodeModuleInContext should not take ownership on error. I will try to localize this odd api requirement, but this should get the bots green. llvm-svn: 211213
* Don't allow multiple line entries with the same address to exist sequentially.Greg Clayton2014-06-181-1/+11
| | | | | | The compiler, when JIT'ing code, can emit illegal DWARF line tables (address is line table sequences must increase). This changes fixes that issue by replacing previous line entries whose start address is the same with the new line entry to avoid having multiple line entries with the same address. Since the address range of lines entries is determined by the delta between the current and next line entry, this shouldn't cause any issues. llvm-svn: 211212
* Add pownJeroen Ketema2014-06-184-0/+35
| | | | | Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 211211
* Add missing undefsJeroen Ketema2014-06-182-3/+7
| | | | | Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 211210
* [analyzer] Don't create new PostStmt nodes if we don't have to.Jordan Rose2014-06-182-1/+28
| | | | | | | | Doing this caused us to mistakenly think we'd seen a particular state before when we actually hadn't, which resulted in false negatives. Credit to Rafael Auler for discovering this issue! llvm-svn: 211209
* Make getBaseObject static.Rafael Espindola2014-06-181-1/+1
| | | | | | Thanks to David Majnemer for noticing. llvm-svn: 211208
* Change IRObjectFile to parse the bitcode lazily.Rafael Espindola2014-06-181-2/+13
| | | | | | | The main point of this class is to provide a cheap object interface to a bitcode file, so it has to be as lazy as possible. llvm-svn: 211207
* Revert "[sanitizer] Intercept pthread_*attr_get*."Arnold Schwaighofer2014-06-186-103/+11
| | | | | | This reverts commit r211166. It broke public mac os x bots. llvm-svn: 211206
* Remove BitcodeReader::setBufferOwned.Rafael Espindola2014-06-183-23/+12
| | | | | | | | | | We do have use cases for the bitcode reader owning the buffer or not, but we always know which one we have when we construct it. It might be possible to simplify this further, but this is a step in the right direction. llvm-svn: 211205
* Simply test for available locations in optimization remarks.Diego Novillo2014-06-181-1/+1
| | | | | | | | | | | | | | | | | When emitting optimization remarks, we test for the presence of instruction locations by testing for a valid llvm.dbg.cu annotation. This is slightly inefficient because we can simply ask whether the debug location we have is known or not. Additionally, if my current plan works, I will need to remove the llvm.dbg.cu annotation from the IL (or prevent it from being generated) when -Rpass is used without -g. In those cases, we'll want to generate line tables but we will want to prevent code generation from emitting DWARF code for them. Tested on x86_64. llvm-svn: 211204
* [PowerPC] Remove unnecessary load of r12 in indirect callUlrich Weigand2014-06-181-4/+0
| | | | | | | | | | | | | | | When looking at the 64-bit SVR4 indirect call sequence, I noticed an unnecessary load of r12. And indeed the code says: // R12 must contain the address of an indirect callee. But this is not correct; in the 64-bit SVR4 (ELFv1) ABI, there is no need to load r12 at this point. It seems this code and comment is a remnant of code originally shared with the Darwin ABI ... This patch simply removes the unnecessary load. llvm-svn: 211203
* Update to the latest registered ELF e_machine names and values.Rafael Espindola2014-06-181-1/+22
| | | | | | Patch by John Wolf! llvm-svn: 211202
* Run clang-format in a small chunk of code I am about to change.Rafael Espindola2014-06-181-13/+9
| | | | llvm-svn: 211201
* Add an option for debugserver to propagate its environment to programs it ↵Greg Clayton2014-06-181-0/+18
| | | | | | | | | | | | | | | | launches using the --forward-env or -F: % ./debugserver --forward-env localhost:1234 -- /bin/ls % ./debugserver -F localhost:1234 -- /bin/ls Also allow new environment variables to be set using the "--env" or "-e": % ./debugserver --env FOO=1 --env BAR=2 localhost:1234 -- /bin/ls % ./debugserver -e FOO=1 -e BAR=2 localhost:1234 -- /bin/ls <rdar://problem/17350654> llvm-svn: 211200
* ProfileData: Fix copy-paste type in RawInstrProfReaderJustin Bogner2014-06-181-2/+2
| | | | | | | | These deleted definitions had the wrong types. Patch by Alex L! llvm-svn: 211199
* [ARM] [MC] Refactor the constant pool classesWeiming Zhao2014-06-184-136/+177
| | | | | | | | | | | ARMTargetStreamer implements ConstantPool and AssmeblerConstantPools to keep track of assembler-generated constant pools that are used for ldr-pseudo. When implementing ldr-pseudo for AArch64, these two classes can be reused. So this patch factors them out from ARM target to the general MC lib. llvm-svn: 211198
* Objective-C. Try to fix the test in buildbot in my last patch.Fariborz Jahanian2014-06-181-1/+1
| | | | llvm-svn: 211197
* ADT: correct typo in commentEd Maste2014-06-181-1/+1
| | | | llvm-svn: 211196
* Objective-C. Attributes on class declarations carry overFariborz Jahanian2014-06-182-1/+34
| | | | | | | to forward class declarations for diagnosis. // rdar://16681279 llvm-svn: 211195
* R600: Expand vector fceilJan Vesely2014-06-183-85/+217
| | | | | | | | | Move fp64 fceil tests to fceil64.ll v2: rebase Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 211194
* [PowerPC] Simplify and improve loading into TOC registerUlrich Weigand2014-06-187-44/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During an indirect function call sequence on the 64-bit SVR4 ABI, generate code must load and then restore the TOC register. This does not use a regular LOAD instruction since the TOC register r2 is marked as reserved. Instead, the are two special instruction patterns: let RST = 2, DS = 2 in def LDinto_toc: DSForm_1a<58, 0, (outs), (ins g8rc:$reg), "ld 2, 8($reg)", IIC_LdStLD, [(PPCload_toc i64:$reg)]>, isPPC64; let RST = 2, DS = 10, RA = 1 in def LDtoc_restore : DSForm_1a<58, 0, (outs), (ins), "ld 2, 40(1)", IIC_LdStLD, [(PPCtoc_restore)]>, isPPC64; Note that these not only restrict the destination of the load to r2, but they also restrict the *source* of the load to particular address combinations. The latter is a problem when we want to support the ELFv2 ABI, since there the TOC save slot is no longer at 40(1). This patch replaces those two instructions with a single instruction pattern that only hard-codes r2 as destination, but supports generic addresses as source. This will allow supporting the ELFv2 ABI, and also helps generate more efficient code for calls to absolute addresses (allowing simplification of the ppc64-calls.ll test case). llvm-svn: 211193
* Work around ridiculous warning.Matt Arsenault2014-06-181-2/+5
| | | | | | Apparently C++ doesn't really have hex floating point constants. llvm-svn: 211192
* Formatting improvements in the <string_view> synopsis suggested by RSmith. ↵Marshall Clow2014-06-181-112/+111
| | | | | | No functionality change. llvm-svn: 211191
* [PowerPC] Add back test case for absolute calls (removed in r211174)Ulrich Weigand2014-06-181-0/+16
| | | | | | | | As requested by Hal Finkel, this adds back a test for calls to a known-constant function pointer value, and verifies that the 64-bit SVR4 indirect function call sequence is used. llvm-svn: 211190
* Make clang-cl accept .lib inputs (PR20065)Hans Wennborg2014-06-183-0/+43
| | | | | | | | | | Patch by Ehsan Akhgari! (Tiny tweak by me: renamed PathSegment to LibDir.) Differential Revision: http://reviews.llvm.org/D4192 llvm-svn: 211189
* Add a triple so that right syntax is choosen on mac osx systemsArnold Schwaighofer2014-06-181-1/+1
| | | | llvm-svn: 211188
* R600/SI: Add intrinsics for brev instructionsMatt Arsenault2014-06-187-1/+39
| | | | llvm-svn: 211187
* R600/SI: Prettier operand printing for 64-bit ops.Matt Arsenault2014-06-183-18/+20
| | | | | | Copy what is done for 32-bit already so the order is about the same. llvm-svn: 211186
* [mips] SYNC $stype instruction was added in Mips32Matheus Almeida2014-06-1818-3/+68
| | | | | | but SYNC with an implied operand ($stype = 0) is valid since Mips2. llvm-svn: 211185
* Fix a memory leak in the error path.Rafael Espindola2014-06-181-2/+10
| | | | llvm-svn: 211184
* R600: Implement f64 ftrunc, ffloor and fceil.Matt Arsenault2014-06-185-22/+198
| | | | | | CI has instructions for these, so this fixes them for older hardware. llvm-svn: 211183
* R600: Custom lower f64 frint for pre-CIMatt Arsenault2014-06-183-6/+41
| | | | llvm-svn: 211182
* R600/SI: Temporary fix for f64 fnegMatt Arsenault2014-06-181-0/+4
| | | | | | | This should be a source modifier, but this unblocks most of my math patches. llvm-svn: 211181
OpenPOWER on IntegriCloud