summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Add even more constatness in MachineDominators.h.Jakub Staszak2013-02-161-3/+3
| | | | llvm-svn: 175358
* Replace "check:" wth "CHECK:".Jakub Staszak2013-02-161-4/+4
| | | | | | Also fix one test by changing "vpermilps" to "vpshufd". llvm-svn: 175357
* R600/SI: Add pattern to simplify i64 loadingChristian Konig2013-02-162-0/+9
| | | | | | | | This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175356
* R600/SI: nuke SReg_1 v3Christian Konig2013-02-167-118/+23
| | | | | | | | | | | | | | | | | It's completely unnecessary and can be replace with proper SReg_64 handling instead. This actually fixes a piglit test on SI. v2: use correct register class in addRegisterClass, set special classes as not allocatable v3: revert setting special classes as not allocateable This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175355
* R600/SI: cleanup literal handling v3Christian Konig2013-02-1610-195/+176
| | | | | | | | | | | | | | | | Seems to be allot simpler, and also paves the way for further improvements. v2: rebased on master, use 0 in BUFFER_LOAD_FORMAT_XYZW, use VGPR0 in dummy EXP, avoid compiler warning, break after encoding the first literal. v3: correctly use V_ADD_F32_e64 This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175354
* R600/SI: replace AllReg_* with [SV]Src_* v2Christian Konig2013-02-163-85/+89
| | | | | | | | | | | | Mark all the operands that can also have an immediate. v2: SOFFSET is also an SSrc_32 operand This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175353
* R600/SI: fix VOPC encoding v2Christian Konig2013-02-161-37/+16
| | | | | | | | | | | | | Previously it only worked because of coincident. v2: fix 64bit versions, use 0x80 (inline 0) instead of SGPR0 for the unused SRC2 This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175352
* R600/SI: move *_Helper definitions to SIInstrFormat.tdChristian Konig2013-02-162-66/+66
| | | | | | | | This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175351
* R600/SI: remove some more unused codeChristian Konig2013-02-162-52/+0
| | | | | | | | This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175350
* R600/structurizer: improve inverting conditionsChristian Konig2013-02-161-1/+39
| | | | | | | | | | Stop adding more instructions than necessary. This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175349
* R600/structurizer: improve loop handlingChristian Konig2013-02-161-196/+148
| | | | | | | | | | Generate more than one loop if it seems to make sense. This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175348
* R600/structurizer: improve finding condition valuesChristian Konig2013-02-161-9/+22
| | | | | | | | | | Using the new NearestCommonDominator class. This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175347
* R600/structurizer: improve PHI value findingChristian Konig2013-02-161-0/+6
| | | | | | | | | | Using the new NearestCommonDominator class. This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175346
* R600/structurizer: add class to find the Nearest Common DominatorChristian Konig2013-02-161-0/+66
| | | | | | | | This is a candidate for the stable branch. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 175345
* Add some constantness in Machine Dominators.Jakub Staszak2013-02-161-6/+8
| | | | llvm-svn: 175344
* Remove trailing spaces.Jakub Staszak2013-02-161-24/+24
| | | | llvm-svn: 175343
* Use a different scheme to chose 16/32 variants. This scheme is moreReed Kotler2013-02-162-11/+7
| | | | | | | consistent with how BuildMI works. No new tests needed. All should work the same as before. llvm-svn: 175342
* [ELF] Add STN_UNDEF.Michael J. Spencer2013-02-161-0/+5
| | | | llvm-svn: 175338
* Reinitialize the ivars in the subtarget so that they can be reset with the ↵Bill Wendling2013-02-165-74/+89
| | | | | | new features. llvm-svn: 175336
* [ms-inline asm] Do not omit the frame pointer if we have ms-inline assembly.Chad Rosier2013-02-165-17/+43
| | | | | | | | | | | If the frame pointer is omitted, and any stack changes occur in the inline assembly, e.g.: "pusha", then any C local variable or C argument references will be incorrect. I pass no judgement on anyone who would do such a thing. ;) rdar://13218191 llvm-svn: 175334
* Derive ELF section type from the name in some cases where GNU as doesJoerg Sonnenberger2013-02-162-1/+72
| | | | | | so. llvm-svn: 175327
* [mips] Remove SDNPWantParent from the list of SDNodeProperties.Akira Hatanaka2013-02-162-17/+14
| | | | | | No functionality change intended. llvm-svn: 175325
* Pacify -Wnon-virtual-dtorMatt Beaumont-Gay2013-02-151-0/+2
| | | | llvm-svn: 175324
* Temporary revert of 175320.Bill Wendling2013-02-155-90/+75
| | | | llvm-svn: 175322
* Reinitialize the ivars in the subtarget.Bill Wendling2013-02-155-74/+156
| | | | | | | When we're recalculating the feature set of the subtarget, we need to have the ivars in their initial state. llvm-svn: 175320
* Suppress a GCC -Wunused-variable warning in -Asserts buildsMatt Beaumont-Gay2013-02-151-0/+2
| | | | llvm-svn: 175319
* c[ms-inline asm] It's possible to have a SizeDirective rewrite and anChad Rosier2013-02-151-1/+16
| | | | | | | Input/Output rewrite to the same location. Make sure the SizeDirective rewrite is performed first. This also ensure the sort algorithm is stable. llvm-svn: 175317
* If bundle alignment is enabled, do not add data to a fragment with instructionsDerek Schuff2013-02-153-6/+20
| | | | | | | | | | | | With bundle alignment, instructions all get their own MCFragments (unless they are in a bundle-locked group). For instructions with fixups, this is an MCDataFragment. Emitting actual data (e.g. for .long) attempts to re-use MCDataFragments, which we don't want int this case since it leads to fragments which exceed the bundle size. So, don't reuse them in this case. Also adds a test and fixes some formatting. llvm-svn: 175316
* Support changing the subtarget features in ARM.Bill Wendling2013-02-152-4/+29
| | | | llvm-svn: 175315
* Use the 'target-features' and 'target-cpu' attributes to reset the subtarget ↵Bill Wendling2013-02-154-41/+75
| | | | | | | | | | features. If two functions require different features (e.g., `-mno-sse' vs. `-msse') then we want to honor that, especially during LTO. We can do that by resetting the subtarget's features depending upon the 'target-feature' attribute. llvm-svn: 175314
* [ms-inline asm] Adjust the EndLoc to account for the ']'.Chad Rosier2013-02-151-1/+2
| | | | llvm-svn: 175312
* Forgot to 'svn add' the LoopVectorizer tests for the new parallel loop ↵Pekka Jaaskelainen2013-02-152-0/+166
| | | | | | metadata, sorry. llvm-svn: 175311
* [mips] Clean up class MipsCCInfo.Akira Hatanaka2013-02-152-58/+74
| | | | | | No functionality change intended. llvm-svn: 175310
* capitalize SCEV to match the current naming conventionSebastian Pop2013-02-151-15/+15
| | | | llvm-svn: 175302
* [mips] Split SelectAddr, which was used to match address patterns, into twoAkira Hatanaka2013-02-153-18/+71
| | | | | | | | | | | functions. Set AddedComplexity to determine the order in which patterns are matched. This simplifies selection of floating point loads/stores. No functionality change intended. llvm-svn: 175300
* Remove a final dependency on the form field in tablegen; which is a remnantReed Kotler2013-02-152-6/+10
| | | | | | | of the old jit and which we don't intend to support in mips16 or micromips. This dependency is for the testing of whether an instruction is a pseudo. llvm-svn: 175297
* add ScevApplyRewriterSebastian Pop2013-02-151-0/+39
| | | | llvm-svn: 175294
* add SCEVParameterRewriterSebastian Pop2013-02-151-0/+104
| | | | llvm-svn: 175293
* AsmParser: Reformat the MS asm parser to reduce nesting.Benjamin Kramer2013-02-151-85/+86
| | | | | | | While there postpone register name printing after uniquing. No intended functionality change. llvm-svn: 175292
* enable SDISel sincos optimization for GNU environmentsPaul Redmond2013-02-153-23/+73
| | | | | | | | | | | | - add sincos to runtime library if target triple environment is GNU - added canCombineSinCosLibcall() which checks that sincos is in the RTL and if the environment is GNU then unsafe fpmath is enabled (required to preserve errno) - extended sincos-opt lit test Reviewed by: Hal Finkel llvm-svn: 175283
* Hexagon: Set appropriate TSFlags to the loads/stores with global address toJyotsna Verma2013-02-151-33/+25
| | | | | | | | support constant extension. This patch doesn't introduce any functionality changes. llvm-svn: 175280
* BBVectorize: Call a DAG and DAG instead of a treeHal Finkel2013-02-151-84/+84
| | | | | | | | | | Several functions and variable names used the term 'tree' to refer to what is actually a DAG. Correcting this mistake will, hopefully, prevent confusion in the future. No functionality change intended. llvm-svn: 175278
* Fix refactoring mistake in "Teach InstCombine to work with smaller legal ↵Arnaud A. de Grandmaison2013-02-151-1/+1
| | | | | | types..." llvm-svn: 175273
* Teach InstCombine to work with smaller legal types in icmp (shl %v, C1), C2Arnaud A. de Grandmaison2013-02-153-3/+61
| | | | | | | | | It enables to work with a smaller constant, which is target friendly for those which can compare to immediates. It also avoids inserting a shift in favor of a trunc, which can be free on some targets. This used to work until LLVM-3.1, but regressed with the 3.2 release. llvm-svn: 175270
* AArch64: add branch fixup pass.Tim Northover2013-02-156-0/+652
| | | | | | | | | | | | | This is essentially a stripped-down version of the ConstandIslands pass (which always had these two functions), providing just the features necessary for correctness. In particular there needs to be a way to resolve the situation where a conditional branch's destination block ends up out of range. This issue crops up when self-hosting for AArch64. llvm-svn: 175269
* Give these callbacks hidden visibility. It is better to not export them moreRafael Espindola2013-02-152-4/+6
| | | | | | | than we need to and some ELF linkers complain about directly accessing symbols with default visibility. llvm-svn: 175268
* Don't make assumptions about the mangling of static functions in extern "C"Rafael Espindola2013-02-152-27/+17
| | | | | | | | blocks. We still don't have consensus if we should try to change clang or the standard, but llvm should work with compilers that implement the current standard and mangle those functions. llvm-svn: 175267
* [asan] support long double on 64-bit. See ↵Kostya Serebryany2013-02-152-1/+10
| | | | | | https://code.google.com/p/address-sanitizer/issues/detail?id=151 llvm-svn: 175266
* Make helpers static. Add missing include so LLVMInitializeObjCARCOpts gets C ↵Benjamin Kramer2013-02-157-11/+11
| | | | | | linkage. llvm-svn: 175264
* AArch64: remove ConstantIsland pass & put literals in separate section.Tim Northover2013-02-1521-1641/+121
| | | | | | | | This implements the review suggestion to simplify the AArch64 backend. If we later discover that we *really* need the extra complexity of the ConstantIslands pass for performance reasons it can be resurrected. llvm-svn: 175258
OpenPOWER on IntegriCloud