summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix docsAlexander Kornienko2016-05-201-3/+3
| | | | llvm-svn: 270288
* [PowerPC] Add a testcase for TCO on string rvo functionTim Shen2016-05-201-0/+44
| | | | | | Differential Revision: http://reviews.llvm.org/D20311 llvm-svn: 270287
* [yaml2obj] [MachO] Fill Segment and Section dataChris Bieneman2016-05-201-7/+61
| | | | | | | | This fills section data with 0xDEADBEEF and segment data not inside a section with 0xBAADDA7A. This results in yaml2obj generating a matching size object file. Any additional bytes in the file are zero'd. This is a starting point for populating the remaining segment data, and provides a hex viewable file that you can easily see the missing data in. llvm-svn: 270286
* add test vector sdivSanjay Patel2016-05-201-0/+15
| | | | llvm-svn: 270285
* add test for vector shiftSanjay Patel2016-05-201-0/+13
| | | | llvm-svn: 270284
* SDAG: Implement Select instead of SelectImpl in PPCDAGToDAGISelJustin Bogner2016-05-201-151/+209
| | | | | | | | | | | - Where we were returning a node before, call ReplaceNode instead. - Where we would return null to fall back to another selector, rename the method to try* and return a bool for success. - Where we were calling SelectNodeTo, just return afterwards. Part of llvm.org/pr26808. llvm-svn: 270283
* [lanai] Change reloc to use PIC_ by default and cleanup.Jacques Pienaar2016-05-207-23/+23
| | | | | | | * Change reloc to PIC_; * Cleanup (clang-format & modify test); llvm-svn: 270282
* Simplify. NFC.Rui Ueyama2016-05-201-2/+2
| | | | llvm-svn: 270281
* Switch from the linux-specific 'struct sigaltstack' to POSIX's 'stack_t'. ThisRichard Smith2016-05-201-2/+2
| | | | | | is what I get for trusting my system's man pages I suppose. llvm-svn: 270280
* Update -ffast-math documentation to match reality.Justin Lebar2016-05-203-4/+15
| | | | | | | | | | Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D20457 llvm-svn: 270279
* Add a configure-time check for the existence of sigaltstack. It seems that someRichard Smith2016-05-203-2/+10
| | | | | | systems provide a <signal.h> that doesn't declare it. llvm-svn: 270278
* Refactor R_RELAX_TLS_* value computation.Rafael Espindola2016-05-204-11/+32
| | | | | | | | | | | | This makes it explicit that each R_RELAX_TLS_* is equivalent to some other expression. With this I think we are at a sweet spot for how much is done in Target.cpp. I did experiment with moving *all* the value math out of it. It has the advantage that we know the final value in target independent code, but it gets quite verbose. llvm-svn: 270277
* Reinstate r269992 (reverting r270267), but restricted to cases where glibc isRichard Smith2016-05-202-4/+60
| | | | | | | | | the C standard library implementation in use. This works around a glibc bug in the backtrace() function where it fails to produce a backtrace on x86_64 if libgcc / libunwind is statically linked. llvm-svn: 270276
* Simplify a bit. NFC.Rafael Espindola2016-05-201-18/+18
| | | | llvm-svn: 270275
* Document some constants. NFC.Rafael Espindola2016-05-201-0/+6
| | | | llvm-svn: 270274
* Create a sigaltstack when we register our signal handlers. Otherwise we'd veryRichard Smith2016-05-201-0/+31
| | | | | | likely fail to produce a backtrace if we crash due to stack overflow. llvm-svn: 270273
* Revert r270268 due to unused variable warnings.Michael Kuperstein2016-05-201-12/+17
| | | | llvm-svn: 270272
* add tests for vector uremSanjay Patel2016-05-201-1/+23
| | | | llvm-svn: 270271
* Address post-review for r270246David Majnemer2016-05-201-11/+13
| | | | | | | | | This gets rid of some unnecessary SmallStrings in X86TargetMachine::getSubtargetImpl. No functionality change is intended. llvm-svn: 270270
* dsymutil/modules: Reword the warning for static libraries without module cachesAdrian Prantl2016-05-208-29/+58
| | | | | | | | | | | | In addition to clarifying the warning message this contains a minor functional change in that it now warns if the *immediate* parent directory in which the missing PCM is expected to be isn't found. This patch also includes a more comprehensive testcase. rdar://problem/25860711 llvm-svn: 270269
* [BasicAA] Turn DecomposeGEPExpression runtime checks into asserts.Michael Kuperstein2016-05-201-17/+12
| | | | | | | | When it has a DataLayout, DecomposeGEPExpression() should return the same object as GetUnderlyingObject(). Per the FIXME, it currently always has a DL, so the runtime check is redundant and can become an assert. llvm-svn: 270268
* Revert "Work around a glibc bug: backtrace() spuriously fails if..."Chris Bieneman2016-05-202-52/+4
| | | | | | | | | This commit has been breaking the FreeBSD bots: http://lab.llvm.org:8011/builders/lld-x86_64-freebsd This reverts commit r269992. llvm-svn: 270267
* Directly compute the right value for R_RELAX_TLS_GD_TO_IE.Rafael Espindola2016-05-202-3/+2
| | | | | | This avoid doing math in Target.cpp to compensate. llvm-svn: 270266
* use FileCheck instead of grep for exact checkingSanjay Patel2016-05-201-5/+10
| | | | llvm-svn: 270265
* Check pc relative relocations too.Rafael Espindola2016-05-202-0/+14
| | | | llvm-svn: 270264
* [esan] Use ModulePass for EfficiencySanitizerPass.Derek Bruening2016-05-202-10/+18
| | | | | | | | | | | | | | | | | Summary: Uses ModulePass instead of FunctionPass for EfficiencySanitizerPass to better support global variable creation for a forthcoming struct field counter tool. Patch by Qin Zhao. Reviewers: aizatsky Subscribers: llvm-commits, eugenis, vitalybuka, bruening, kcc Differential Revision: http://reviews.llvm.org/D20458 llvm-svn: 270263
* pdbdump: print out symbol names referred by publics stream.Rui Ueyama2016-05-209-11/+182
| | | | | | | | | | | | | | | | | | DBI stream contains a stream number of the symbol record stream. Symbol record streams is an array of length-type-value members. Each member represents one symbol. Publics stream contains offsets to the symbol record stream. This patch is to print out all symbols that are referenced by the publics stream. Note that even with this patch, llvm-pdbdump cannot dump all the information in a publics stream since it contains more information than symbol names. I'll improve it in followup patches. Differential Revision: http://reviews.llvm.org/D20480 llvm-svn: 270262
* [OpenCL] Add to_{global|local|private} builtin functions.Yaxun Liu2016-05-206-0/+230
| | | | | | | | | | | | | | | | | | OpenCL builtin functions to_{global|local|private} accepts argument of pointer type to arbitrary pointee type, and return a pointer to the same pointee type in different addr space, i.e. global gentype *to_global(gentype *p); It is not desirable to declare it as global void *to_global(void *); in opencl header file since it misses diagnostics. This patch implements these builtin functions as Clang builtin functions. In the builtin def file they are defined to have signature void*(void*). When handling call expressions, their declarations are re-written to have correct parameter type and return type corresponding to the call argument. In codegen call to addr void *to_addr(void*) is generated with addrcasts or bitcasts to facilitate implementation in builtin library. Differential Revision: http://reviews.llvm.org/D19932 llvm-svn: 270261
* Use report_fatal_error after allKrzysztof Parzyszek2016-05-201-1/+1
| | | | | | | | Depending on the compiler used to build LLVM, llvm_unreachable can either expand to a call to abort(), or to a __builtin_unreachable. The latter does not have a predictable behavior at runtime. llvm-svn: 270260
* LiveIntervalAnalysis: Fix missing defs in renameDisconnectedComponents().Matthias Braun2016-05-205-17/+97
| | | | | | | | | | | | | | Fix renameDisconnectedComponents() creating vreg uses that can be reached from function begin withouthaving a definition (or explicit live-in). Fix this by inserting IMPLICIT_DEF instruction before control-flow joins as necessary. Removes an assert from MachineScheduler because we may now get additional IMPLICIT_DEF when preparing the scheduling policy. This fixes the underlying problem of http://llvm.org/PR27705 llvm-svn: 270259
* CodeGen: Move the call to DwarfDebug::beginModule() out of the constructor.Peter Collingbourne2016-05-202-5/+2
| | | | | | | | | This gives AsmPrinter a chance to initialize its DD field before we call beginModule(), which is about to start using it. Differential Revision: http://reviews.llvm.org/D20413 llvm-svn: 270258
* CodeGen: Do not require a MachineFunction just to create a DIEDwarfExpression.Peter Collingbourne2016-05-206-41/+49
| | | | | | | | | We are about to start using DIEDwarfExpression to create global variable DIEs, which happens before we generate code for functions. Differential Revision: http://reviews.llvm.org/D20412 llvm-svn: 270257
* [esan] Add custom flag supportDerek Bruening2016-05-205-17/+126
| | | | | | | | | | | | | | | Summary: Adds custom flag support to EfficiencySanitizer's runtime library. Adds an initial flag cache_line_size which will be used by multiple tools. Reviewers: aizatsky, vitalybuka Subscribers: llvm-commits, eugenis, kcc, zhaoqin, aizatsky, kubabrecka Differential Revision: http://reviews.llvm.org/D20478 llvm-svn: 270256
* [esan] Extend shadow mapping to cover low librariesDerek Bruening2016-05-204-22/+39
| | | | | | | | | | | | | | | Summary: Adds support for app libraries starting slightly below 0x7f00'00000000 (the mmap ASLR range extends down to 0x7efb'f8000000 for reasonable stack limits) by switching to a shadow mapping offset of 0x1300'00000000. Reviewers: aizatsky Subscribers: vitalybuka, zhaoqin, kcc, eugenis, llvm-commits, kubabrecka Differential Revision: http://reviews.llvm.org/D20479 llvm-svn: 270255
* Adopt mmap flags that allow mmap'ed memory to be less crash prone.Greg Clayton2016-05-201-2/+25
| | | | | | | | | | On Darwin if a mmap file is code signed and the code signature is invalid, it used to crash. If we specify the MAP_RESILIENT_CODESIGN mmap flag when mapping a file for reading, we can avoid crashing. Another mmap flag named MAP_RESILIENT_MEDIA allows us to survive if we mmap files that are on removable media like network servers or removable hard drives. If a file was mapped and later the media that had the file became unavailable, we would crash when we would touch the next page that wasn't paged in. Now it will return zeroes and stop of from us from crashing. <rdar://problem/25918698> llvm-svn: 270254
* CODE_OWNERS: Take ownership of SelectionDAGJustin Bogner2016-05-201-4/+1
| | | | | | Owen no longer has time to tend to the yaks in SelectionDAG. llvm-svn: 270253
* Remove trailing whitespace in src/ directoryJonathan Peyton2016-05-2031-163/+163
| | | | | | This patch doesn't affect D19878's context. So D19878 still cleanly applies. llvm-svn: 270252
* [AArch64] Disable narrow load merge by defaultJun Bum Lim2016-05-202-4/+4
| | | | | | | | | | | | | | Summary: As this optimization converts two loads into one load with two shift instructions, it could potentially hurt performance if a loop is arithmetic operation intensive. Reviewers: t.p.northover, mcrosier, jmolloy Subscribers: evandro, jmolloy, aemerson, rengolin, mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D20172 llvm-svn: 270251
* Functions with differing phis should not be merged.Mark Lacey2016-05-202-0/+61
| | | | | | | | | | | Check that the incoming blocks of phi nodes are identical, and block function merging if they are not. rdar://problem/26255167 Differential Revision: http://reviews.llvm.org/D20462 llvm-svn: 270250
* [RegBankSelect] Look for the best mapping in greedy mode.Quentin Colombet2016-05-202-10/+45
| | | | | | | | | The Fast mode takes the first mapping, the greedy mode loops over all the possible mapping for an instruction and choose the cheaper one. Test case will come with target specific code, since we currently do not have instructions that have several mappings. llvm-svn: 270249
* [MachOYAML] Removing duplicated field from LC_UUID YAMLChris Bieneman2016-05-203-4/+0
| | | | | | The uuid_command was duplicating the load_command.cmdsize field. This removes the duplicate from the YAML mapping and from the test cases. llvm-svn: 270248
* [RegBankSelect] Get rid of a now dead method: setSafeInsertPoint.Quentin Colombet2016-05-202-39/+0
| | | | | | This is now encapsulated in the RepairingPlacement class. llvm-svn: 270247
* [X86] Reduce memory allocations in X86TargetMachine::getSubtargetImplDavid Majnemer2016-05-203-10/+15
| | | | | | | | We performed a number of memory allocations each time getTTI was called, remove them by using SmallString. No functionality change intended. llvm-svn: 270246
* [RegBankSelect] Take advantage of a potential best cost information inQuentin Colombet2016-05-202-4/+24
| | | | | | | | | | | | | computeMapping. Computing the cost of a mapping takes some time. Since in Fast mode, the cost is irrelevant, just spare some cycles by not computing it. In Greedy mode, we need to choose the best cost, that means that when the local cost gets more expensive than the best cost, we can stop computing the repairing and cost for the current mapping. llvm-svn: 270245
* [RegBankSelect] Use frequency and probability information to computeQuentin Colombet2016-05-202-7/+40
| | | | | | | | | more precise cost in Greedy mode. In Fast mode the cost is irrelevant so do not bother requiring that those passes get scheduled. llvm-svn: 270244
* Make tp offset computation target independent.Rafael Espindola2016-05-203-33/+36
| | | | | | | | This adds direct support for computing offsets from the thread pointer for both variants. Of the architectures we support, variant 1 is used only by aarch64 (but that doesn't seem to be documented anywhere.) llvm-svn: 270243
* [RegBankSelect] Use the Fast mode for functions with the optnone attribute.Quentin Colombet2016-05-201-0/+6
| | | | llvm-svn: 270242
* ObjectiveC: canonicalize "kindof id" to "id".Manman Ren2016-05-202-5/+27
| | | | | | | | There is no need to apply kindof on an unqualified id type. rdar://24753825 llvm-svn: 270241
* Make __FreeBSD_cc_version predefined macro configurable at build timeDimitry Andric2016-05-201-2/+9
| | | | | | | | | | | | | | | | | | The `FreeBSDTargetInfo` class has always set the `__FreeBSD_cc_version` predefined macro to a rather static value, calculated from the major OS version. In the FreeBSD base system, we will start incrementing the value of this macro whenever we make any signifant change to clang, so we need a way to configure the macro's value at build time. Use `FREEBSD_CC_VERSION` for this, which we can define in the FreeBSD build system using either the `-D` command line option, or an include file. Stock builds will keep the earlier value. Differential Revision: http://reviews.llvm.org/D20037 llvm-svn: 270240
* [obj2yaml][yaml2obj] Adding enumFallback for MachO load commandsChris Bieneman2016-05-203-3/+56
| | | | | | | | This adds support for handling unknown load commands, and a bogus_load_command tests. Unknown or unsupported load commands can be specified in YAML by their hex value. llvm-svn: 270239
OpenPOWER on IntegriCloud