summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 80-column fixups.Eric Christopher2014-06-191-5/+10
| | | | llvm-svn: 211255
* Convert some assert(0) to llvm_unreachable or fold an 'if' condition into ↵Craig Topper2014-06-1915-47/+26
| | | | | | the assert. llvm-svn: 211254
* R600: Add a few tests I forgot to add.Matt Arsenault2014-06-193-0/+103
| | | | | | These belong with r210827 llvm-svn: 211253
* Move optimization of some cases of (A & C1)|(B & C2) from instcombine to ↵Nick Lewycky2014-06-193-23/+69
| | | | | | instsimplify. Patch by Rahul Jain, plus some last minute changes by me -- you can blame me for any bugs. llvm-svn: 211252
* Make instsimplify's analysis of icmp eq/ne use computeKnownBits to determine ↵Nick Lewycky2014-06-193-1/+39
| | | | | | whether the icmp is always true or false. Patch by Suyog Sarda! llvm-svn: 211251
* Remove redundant code in InstCombineShift, no functionality change because ↵Nick Lewycky2014-06-191-5/+0
| | | | | | instsimplify already does this and instcombine calls instsimplify a few lines above. Patch by Suyog Sarda! llvm-svn: 211250
* MS asm: Properly handle quoted symbol namesDavid Majnemer2014-06-193-3/+25
| | | | | | | | | | | | | We would get confused by '@' characters in symbol names, we would mistake the text following them for the variant kind. When an identifier a string, the variant kind will never show up inside of it. Instead, check to see if there is a variant following the string. This fixes PR19965. llvm-svn: 211249
* DiagnoseUnknownTypename always emits a diagnostic and returns trueReid Kleckner2014-06-195-40/+29
| | | | | | | | Make it return void and delete the dead code in the parser that handled the case where it might return false. This has been dead since 2010 when John deleted Action.h. llvm-svn: 211248
* R600/SI: Add intrinsics for various math instructions.Matt Arsenault2014-06-1920-32/+393
| | | | | | | | These will be used for custom lowering and for library implementations of various math functions, so it's useful to expose these as builtins. llvm-svn: 211247
* Fix breakage from r211244 by using LLVM_EXPLICIT to avoid using explicit ↵David Blaikie2014-06-191-1/+2
| | | | | | operators under MSVC where they're not supported. llvm-svn: 211246
* Unbreak the build after r211244.David Blaikie2014-06-191-13/+0
| | | | | | | | | These operator overloads were unneeded (once the const correctness in PooledStringPtr was corrected) and inefficient (since the strings are pooled the pointers can just be compared for equality instead of doing strcmp). llvm-svn: 211245
* PR10140 - StringPool's PooledStringPtr has non-const operator== causing bad ↵Nikola Smiljanic2014-06-193-3/+35
| | | | | | | | OR-result. Mark conversion operator explicit and const qualify comparison operators. llvm-svn: 211244
* Objective-C ARC. Allow conversion of (void*) pointers toFariborz Jahanian2014-06-184-6/+28
| | | | | | | | retainable ObjC pointers without requiring a bridge-cast in the context of pointer comparison as this is in effect a +0 context. // rdar://16627903 llvm-svn: 211243
* Actually make a real scoped locker rather than constructing one that gets ↵Jim Ingham2014-06-181-9/+8
| | | | | | immediately thrown away... llvm-svn: 211242
* Add a lock in the UnwindTable class so two Targets won't tryJason Molenda2014-06-184-2/+13
| | | | | | | | | | to modify the same UnwindTable object simultaneously. Fix HistoryThread and HistoryUnwind's mutex lock acqusition to retain the lock for the duration of the operation instead of releasing the temporary immediately. <rdar://problem/17055023> llvm-svn: 211241
* Sema: Static redeclaration after extern declarations is a Microsoft ExtensionDavid Majnemer2014-06-188-36/+60
| | | | | | | | | | | CL permits static redeclarations to follow extern declarations. The storage specifier on the latter declaration has no effect. This fixes PR20034. Differential Revision: http://reviews.llvm.org/D4149 llvm-svn: 211238
* Objective-C. Revert my patch in r211234.Fariborz Jahanian2014-06-185-24/+8
| | | | llvm-svn: 211237
* Missing reduction detection test casesJohannes Doerfert2014-06-184-0/+152
| | | | llvm-svn: 211235
* 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
OpenPOWER on IntegriCloud