summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* CriticalAntiDepBreaker is no longer needed for armv7 scheduling.Andrew Trick2013-09-254-8/+6
| | | | | | | | | | | | | | | | | This is being disabled because it is no longer needed for performance. It is only used by postRAscheduler which is also planned for removal, and it is implemented with an out-dated view of register liveness. It consideres aliases instead of register units, assumes valid kill flags, and assumes implicit uses on partial register defs. Kill flags and implicit operands are error prone and impossible to verify. We should gradually eliminate dependence on them in the postRA phases. Targets that still benefit from this should move to the MI scheduler. If that doesn't solve the problem, then we should add a hook to regalloc to optimize reload placement. llvm-svn: 191348
* MachO: Improve backend diagnostic for overalignment.Jim Grosbach2013-09-241-1/+2
| | | | | | Give the symbol's name and disengage the enchanced crash reporting. llvm-svn: 191344
* Move LTO support library to a component, allowing it to be testedPeter Collingbourne2013-09-2420-59/+136
| | | | | | more reliably across platforms. Patch by Tom Roeder! llvm-svn: 191343
* Add missing check to SETCC optimization.Eli Friedman2013-09-242-0/+19
| | | | | | PR17338. llvm-svn: 191337
* llvm-dwarfdump: add missing opening quotation mark lost in r191330David Blaikie2013-09-241-1/+1
| | | | llvm-svn: 191333
* Patch that forces MergeFunctions pass for clang.Stepan Dyatkovskiy2013-09-241-0/+14
| | | | | | | It is temporary patch. We need to keep it in trunk, since it makes easer to test it on buildbots on different platforms. Once we see stable MergeFunctions behaviour with satisfied perfomance, this patch will be removed. llvm-svn: 191331
* llvm-dwarfdump: re-add field formatting for the entry kind lost in r191329David Blaikie2013-09-241-1/+1
| | | | | | CR feedback from Eric Christopher llvm-svn: 191330
* llvm-dwarfdump support for gnu_pubtypesDavid Blaikie2013-09-244-23/+49
| | | | llvm-svn: 191329
* Test case for r191314. Yi Jiang2013-09-241-0/+27
| | | | | | Some supplemental information for r191314: We would like to make sure SLP Vectorizer will not try to vectorize tiny trees even with a negative threshold so we set the cost to INT_MAX. llvm-svn: 191327
* Verify that we don't optimize null return checks to the nothrow_t version of ↵Benjamin Kramer2013-09-241-0/+23
| | | | | | operator new. llvm-svn: 191325
* Adding a feature flag to the llvm backend for x86 TBM instruction set.Yunzhong Gao2013-09-243-1/+13
| | | | | | | | | | Adding TBM feature to bdver2 processor; piledriver supports this instruction set according to the following document: http://developer.amd.com/wordpress/media/2012/10/New-Bulldozer-and-Piledriver-Instructions.pdf Phabricator code review is located here: http://llvm-reviews.chandlerc.com/D1692 llvm-svn: 191324
* MemoryBuiltins: Remove posix_memalign from the list and replace it with a TODO.Benjamin Kramer2013-09-241-1/+1
| | | | | | | This code isn't ready to deal with allocation functions where the return is not the allocated pointer. The checks below will reject posix_memalign anyways. llvm-svn: 191319
* Make the size and expr arguments of .fill directive optional.Roman Divacky2013-09-242-16/+37
| | | | llvm-svn: 191318
* MemoryBuiltins: Reinstate optimizing (uninitialized) loads from operator new.Benjamin Kramer2013-09-242-10/+35
| | | | llvm-svn: 191315
* set the cost of tiny trees to INT_MAX in SLP vectorizer to disable ↵Yi Jiang2013-09-241-1/+1
| | | | | | vectorization on them llvm-svn: 191314
* MemoryBuiltins: Fix operator new bits.Benjamin Kramer2013-09-242-3/+23
| | | | | | We really don't want to optimize malloc return value checks away. llvm-svn: 191313
* Comment typo.Andrew Trick2013-09-241-1/+1
| | | | llvm-svn: 191312
* Teach MemoryBuiltins and InstructionSimplify that operator new never returns ↵Benjamin Kramer2013-09-246-7/+46
| | | | | | | | | | | | NULL. This is safe per C++11 18.6.1.1p3: [operator new returns] a non-null pointer to suitably aligned storage (3.7.4), or else throw a bad_alloc exception. This requirement is binding on a replacement version of this function. Brings us a tiny bit closer to eliminating more vector push_backs. llvm-svn: 191310
* Push analysis passes to InstSimplify when they're around anyways.Benjamin Kramer2013-09-243-3/+4
| | | | llvm-svn: 191309
* [mips][msa] Added support for matching pckev, and pckod from normal IR (i.e. ↵Daniel Sanders2013-09-245-8/+216
| | | | | | not intrinsics) llvm-svn: 191306
* [mips][msa] Added support for matching ilv[lr], ilvod, and ilvev from normal ↵Daniel Sanders2013-09-245-19/+452
| | | | | | IR (i.e. not intrinsics) llvm-svn: 191304
* DAGCombiner: Unify rotate matching for extended and unextended amounts.Benjamin Kramer2013-09-241-79/+57
| | | | | | No functionality change, lots of indentation changes. llvm-svn: 191303
* [mips][msa] Added support for matching shf from normal IR (i.e. not intrinsics)Daniel Sanders2013-09-247-11/+149
| | | | llvm-svn: 191302
* [mips][msa] Added support for matching vshf from normal IR (i.e. not intrinsics)Daniel Sanders2013-09-248-20/+450
| | | | llvm-svn: 191301
* [mips][msa] Remove the VSPLAT and VSPLATD nodes in favour of matching ↵Daniel Sanders2013-09-249-249/+658
| | | | | | | | | | | | | | | | | | | | | | | | | | | BUILD_VECTOR. Most constant BUILD_VECTOR's are matched using ComplexPatterns which cover bitcasted as well as normal vectors. However, it doesn't seem to be possible to match ldi.[bhwd] in a type-agnostic manner (e.g. to support the widest range of immediates, it should be possible to use ldi.b to load v2i64) using TableGen so ldi.[bhwd] is matched using custom code in MipsSEISelDAGToDAG.cpp This made the majority of the constant splat BUILD_VECTOR lowering redundant. The only transformation remaining for constant splats is when an (up-to) 32-bit constant splat is possible but the value does not fit into a 10-bit signed integer. In this case, the BUILD_VECTOR is transformed into a bitcasted BUILD_VECTOR so that fill.[bhw] can be used to splat the vector from a GPR32 register (which is initialized using the usual lui/addui sequence). There are no additional tests since this is a re-implementation of previous functionality. The change is intended to make it easier to implement some of the upcoming instruction selection patches since they can rely on existing support for BUILD_VECTOR's in the DAGCombiner. compare_float.ll changed slightly because a BITCAST is no longer introduced during legalization. llvm-svn: 191299
* [mips][msa] Non-constant BUILD_VECTOR's should be expanded to ↵Daniel Sanders2013-09-242-0/+127
| | | | | | | | INSERT_VECTOR_ELT instead of memory operations. The resulting code is the same length, but doesnt cause memory traffic or latency. llvm-svn: 191297
* [mips][msa] Added partial support for matching fmax_a from normal IR (i.e. ↵Daniel Sanders2013-09-243-0/+45
| | | | | | | | not intrinsics) This covers the case where fmax_a can be used to implement ISD::FABS. llvm-svn: 191296
* [mips][msa] Line wrapping.Daniel Sanders2013-09-241-4/+4
| | | | | | No functional change. llvm-svn: 191295
* [mips][msa] Added support for matching andi, ori, nori, and xori from normal ↵Daniel Sanders2013-09-243-10/+277
| | | | | | IR (i.e. not intrinsics) llvm-svn: 191293
* [mips][msa] Added support for matching max, maxi, min, mini from normal IR ↵Daniel Sanders2013-09-247-71/+1254
| | | | | | (i.e. not intrinsics) llvm-svn: 191291
* [mips][msa] Added support for matching bsel and bseli from normal IR (i.e. ↵Daniel Sanders2013-09-247-17/+461
| | | | | | | | not intrinsics) This required correcting the definition of the bsel and bseli intrinsics. llvm-svn: 191290
* Remove error output from configure if CFLAGS is set (r174313).Patrik Hagglund2013-09-242-4/+4
| | | | | | This fixes PR16724. llvm-svn: 191289
* [msan] Handling of atomic load/store, atomic rmw, cmpxchg.Evgeniy Stepanov2013-09-243-6/+289
| | | | llvm-svn: 191287
* [mips][msa] Added support for matching comparisons from normal IR (i.e. not ↵Daniel Sanders2013-09-246-73/+1440
| | | | | | | | | intrinsics) MIPS SelectionDAG changes: * Added VCEQ, VCL[ET]_[SU] nodes to represent vector comparisons that produce a bitmask. llvm-svn: 191286
* [mips][msa] Added support for matching slli, srai, and srli from normal IR ↵Daniel Sanders2013-09-243-20/+258
| | | | | | (i.e. not intrinsics) llvm-svn: 191285
* Followup to r191252.Bill Wendling2013-09-241-113/+127
| | | | | | | | | | Make sure that the code that handles the constant addresses is run for the GEPs. This just refactors that code and then calls it for the GEPs that are collected during the iteration. <rdar://problem/12445434> llvm-svn: 191281
* Fix formatting to match coding standards.Craig Topper2013-09-241-10/+7
| | | | llvm-svn: 191280
* llvm/test/CodeGen/AArch64/neon-scalar-reduce-pairwise.ll: Use -mtriple here, ↵NAKAMURA Takumi2013-09-241-1/+1
| | | | | | or aach64-pecoff might be misassumed on win32 hosts. llvm-svn: 191275
* DWARFTypeUnit::dump(): Use PRIx64 to format uint64_t.NAKAMURA Takumi2013-09-241-1/+1
| | | | llvm-svn: 191266
* Initial support for Neon scalar instructions.Jiangning Liu2013-09-2444-388/+1320
| | | | | | | | | | Patch by Ana Pazos. 1.Added support for v1ix and v1fx types. 2.Added Scalar Pairwise Reduce instructions. 3.Added initial implementation of Scalar Arithmetic instructions. llvm-svn: 191263
* [stackprotector] Forgot to add in PR number to test case.Michael Gottesman2013-09-241-0/+2
| | | | llvm-svn: 191261
* [stackprotector] Allow for copies from vreg -> vreg to be in a terminator ↵Michael Gottesman2013-09-242-6/+89
| | | | | | | | | | | sequence. Sometimes a copy from a vreg -> vreg sneaks into the middle of a terminator sequence. It is safe to slice this into the stack protector success bb. This fixes PR16979. llvm-svn: 191260
* Misc fixes for cpp backend.Eli Friedman2013-09-241-3/+16
| | | | | | PR17317. llvm-svn: 191258
* Add namespaces to the list of items that we expose via pubnames.Eric Christopher2013-09-242-0/+2
| | | | llvm-svn: 191257
* Regenerate testcase from source.Eric Christopher2013-09-241-64/+70
| | | | llvm-svn: 191256
* Format the index entry kind string to align.Eric Christopher2013-09-241-3/+3
| | | | llvm-svn: 191255
* Make dwarfdump-type-units.test order-independentDavid Blaikie2013-09-241-19/+26
| | | | | | | The order in which the comdat type unit sections appear in the output is unspecified and may vary from machine to machine. llvm-svn: 191253
* Selecting the address from a very long chain of GEPs can blow the stack.Bill Wendling2013-09-242-3/+25619
| | | | | | | | | | The recursive nature of the address selection code can cause the stack to explode if there is a long chain of GEPs. Convert the recursive bit into a iterative method to avoid this. <rdar://problem/12445434> llvm-svn: 191252
* Comments for r191234 as suggested by Eric Christopher.David Blaikie2013-09-231-0/+4
| | | | llvm-svn: 191244
* Explicitly request unsigned enum types when desiredReid Kleckner2013-09-2311-27/+46
| | | | | | | | | | | | | | | | | | | | | The underlying type of all plain enums in MSVC is 'int', even if the enumerator contains large 32-bit unsigned values or values greater than UINT_MAX. The only way to get a large or unsigned enum type is to request it explicitly with the C++11 strong enum types feature. However, since LLVM isn't C++11 yet, I had to add a conditional LLVM_ENUM_INT_TYPE to Compiler.h to control its usage. The motivating true positive for this change is compiling PointerIntPair with MSVC for win64. The PointerIntMask value is supposed to be pointer sized value of all ones with some low zeros. Instead, it's truncated to 32-bits! We are only saved later because it is sign extended back in the AND with int64_t, and we happen to want all ones. This silences lots of -Wmicrosoft warnings during a clang self-host targeting Windows. llvm-svn: 191241
OpenPOWER on IntegriCloud