summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use the target lowering we can get off of the DAG rather than offEric Christopher2014-06-271-1/+1
| | | | | | of the cached target machine. llvm-svn: 211858
* Fix missing newline and simplify debug printing.Matt Arsenault2014-06-271-5/+5
| | | | llvm-svn: 211850
* R600: Move load/store ReplaceNodeResults to common code.Matt Arsenault2014-06-272-14/+14
| | | | | | Future patches will want to custom lower loads on SI. llvm-svn: 211848
* Move the constructor for NVPTXFrameLowering into the implementationEric Christopher2014-06-272-5/+6
| | | | | | file in preparation for the subtarget move. llvm-svn: 211847
* Remove unnecessary caching of the TargetMachine on NVPTXFrameLowering.Eric Christopher2014-06-273-14/+17
| | | | | | Adjust the constructor accordingly. llvm-svn: 211846
* Rework the logic for setting the TargetName. This appears toEric Christopher2014-06-271-11/+5
| | | | | | be shorter and identical in goal. llvm-svn: 211845
* Remove caching of the target machine in NVPTXInstrInfo andEric Christopher2014-06-273-5/+4
| | | | | | update constructor accordingly. llvm-svn: 211840
* Remove comment that duplicated information in the constructorEric Christopher2014-06-271-6/+6
| | | | | | that it's after. llvm-svn: 211839
* Remove commented out code.Eric Christopher2014-06-271-8/+0
| | | | llvm-svn: 211838
* Remove extraneous parens and extraneous const cast (and fix theEric Christopher2014-06-271-3/+3
| | | | | | prototype for the function to patch what we were returning). llvm-svn: 211837
* Move the subtarget dependent features from the target machine toEric Christopher2014-06-274-41/+53
| | | | | | the subtarget for the MSP430 target. llvm-svn: 211836
* Remove uses and caches of the target machine and subtarget fromEric Christopher2014-06-275-19/+8
| | | | | | | | both MSP430InstrInfo and MSP430RegisterInfo. Remove unused member variable StackAlign from MSP430RegisterInfo. Update constructors accordingly. llvm-svn: 211835
* Remove caching of an unused subtarget from MSP430FrameLowering.Eric Christopher2014-06-272-8/+3
| | | | llvm-svn: 211830
* [X86] AVX512: Add vbroadcasti*Adam Nemet2014-06-271-0/+22
| | | | | | | | | For now I used a separate template for these sub-vector/tuple broadcasts rather than sharing the mem variants with avx512_int_broadcast_rm. <rdar://problem/17402869> llvm-svn: 211828
* Remove unnecessary caching of variables by MSP430TargetLowering andEric Christopher2014-06-272-14/+5
| | | | | | | make the constructor more general since it only needs a target machine. llvm-svn: 211827
* Have MSP430SelectionDAGInfo constructor take a DataLayout ratherEric Christopher2014-06-273-4/+4
| | | | | | | than a target machine since it doesn't need anything past the DataLayout. llvm-svn: 211826
* Move all of the hexagon subtarget dependent variables from the targetEric Christopher2014-06-274-29/+46
| | | | | | machine to the subtarget. llvm-svn: 211824
* Have HexagonSelectionDAGInfo take a DataLayout rather than aEric Christopher2014-06-273-6/+4
| | | | | | target machine since that's all it needs. llvm-svn: 211822
* Make HexagonISelLowering not dependent upon a HexagonTargetMachine,Eric Christopher2014-06-272-21/+25
| | | | | | but a normal TargetMachine and remove a few cached uses. llvm-svn: 211821
* Reduce indentation.Eric Christopher2014-06-271-362/+360
| | | | llvm-svn: 211820
* Remove unnecessary caching of the subtarget for HexagonFrameLowering and ↵Eric Christopher2014-06-273-8/+4
| | | | | | remove the unused constructor argument. llvm-svn: 211819
* InstrItineraryData is already on the subtarget, no reason toEric Christopher2014-06-272-10/+6
| | | | | | cache it on the target as well. llvm-svn: 211818
* [StackMaps] Enable patchpoint liveness analysis per default.Juergen Ributzka2014-06-262-10/+8
| | | | llvm-svn: 211817
* [Stackmaps] Remove the liveness calculation for stackmap intrinsics.Juergen Ributzka2014-06-262-11/+5
| | | | | | | | | | There is no need to calculate the liveness information for stackmaps. The liveness information is still available for the patchpoint intrinsic and that is also the intended usage model. Related to <rdar://problem/17473725> llvm-svn: 211816
* [RuntimeDyld] Teach MachOObjectImage to deregister itself with the debugger uponLang Hames2014-06-261-1/+4
| | | | | | destruction the same way ELFObjectImage does. llvm-svn: 211815
* Revert "Introduce a string_ostream string builder facilty"Alp Toker2014-06-2643-159/+225
| | | | | | Temporarily back out commits r211749, r211752 and r211754. llvm-svn: 211814
* Move the various Subtarget dependent members down to the subtargetEric Christopher2014-06-264-65/+81
| | | | | | | | for the Sparc port. Use the same initializeSubtargetDependencies function to handle initialization similar to the other ports to handle dependencies. llvm-svn: 211811
* Have SparcSelectionDAGInfo take a DataLayout to initialize sinceEric Christopher2014-06-263-5/+5
| | | | | | that's all it needs. llvm-svn: 211810
* Remove the storage and use of the subtarget out of the sparc frameEric Christopher2014-06-262-9/+11
| | | | | | lowering code. llvm-svn: 211809
* GVN: Preserve invariant.load metadataArnold Schwaighofer2014-06-261-0/+4
| | | | | | | | | | | If both instructions to be replaced are marked invariant the resulting instruction is invariant. rdar://13358910 Fix by Erik Eckstein! llvm-svn: 211801
* Remove extraneous includes from the target machines.Eric Christopher2014-06-264-20/+0
| | | | llvm-svn: 211800
* Move all of the ARM subtarget features down onto the subtargetEric Christopher2014-06-264-121/+102
| | | | | | rather than the target machine. llvm-svn: 211799
* Move the frame lowering constructors out of line to avoid circularEric Christopher2014-06-264-9/+9
| | | | | | includes. llvm-svn: 211798
* R600/SI: Add FP mode bits to binary.Matt Arsenault2014-06-263-14/+128
| | | | | | | | The default rounding mode to initialize the mode register needs to be reported to the runtime. Fill in other bits a kernel may be interested in setting for future use. llvm-svn: 211791
* Silencing a warning about isZExtFree hiding an inherited virtual function. ↵Aaron Ballman2014-06-262-0/+5
| | | | | | No functional change intended. llvm-svn: 211783
* Silence a warning due to a comparison between signed and unsigned.Andrea Di Biagio2014-06-261-1/+1
| | | | | | No functional change intended. llvm-svn: 211782
* Add support for ppc64/power8 as a hostWill Schmidt2014-06-261-0/+2
| | | | llvm-svn: 211781
* add ppc64/pwr8 as targetWill Schmidt2014-06-265-3/+18
| | | | | | | includes handling DIR_PWR8 where appropriate The P7Model Itinerary is currently tied in for use under the P8Model, and will be updated later. llvm-svn: 211779
* Added parsing co-processor names starting with "cr"Renato Golin2014-06-261-9/+17
| | | | | | | | | | Additional compliant GAS names for coprocessor register name are enabled for all instruction with parameter MCK_CoprocReg: LDC,LDC2,STC,STC2,CDP,CDP2,MCR,MCR2,MCRR,MCRR2,MRC,MRC2,MRRC,MRRC2 Patch by Andrey Kuharev. llvm-svn: 211776
* [X86] Improve the selection of SSE3/AVX addsub instructions. Andrea Di Biagio2014-06-261-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | This patch teaches the backend how to canonicalize a shuffle vectors according to the rule: - (shuffle (FADD A, B), (FSUB A, B), Mask) -> (shuffle (FSUB A, -B), (FADD A, -B), Mask) Where 'Mask' is: <0,5,2,7> ;; for v4f32 and v4f64 shuffles. <0,3> ;; for v2f64 shuffles. <0,9,2,11,4,13,6,15> ;; for v8f32 shuffles. In general, ISel only knows how to pattern-match a canonical 'fadd + fsub + blendi' dag node sequence into an ADDSUB instruction. This new rule allows to convert a non-canonical dag sequence into a canonical one that will be matched by a single ADDSUB at ISel stage. The idea of converting a non-canonical ADDSUB into a canonical one by swapping the first two operands of the shuffle, and then negating the second operand of the FADD and FSUB, was originally proposed by Hal Finkel. llvm-svn: 211771
* This patch removed duplicate code for matching patterns Dinesh Dwivedi2014-06-262-142/+1
| | | | | | | | | which are now handled in SimplifyUsingDistributiveLaws() (after r211261) Differential Revision: http://reviews.llvm.org/D4253 llvm-svn: 211768
* Added instruction combine to transform few more negative values addition to ↵Dinesh Dwivedi2014-06-261-49/+54
| | | | | | | | | | | | subtraction (Part 2) This patch enables transforms for (x + (~(y | c) + 1) --> x - (y | c) if c is even Differential Revision: http://reviews.llvm.org/D4209 llvm-svn: 211765
* GlobalOpt: Don't optimize thread_local for initializersDavid Majnemer2014-06-261-2/+3
| | | | | | | | Folding a reference to a thread_local variable into another global variable's initializer is very problematic, there is no relocation that exists to represent such an access. llvm-svn: 211762
* R600: Fix vector FMAMatt Arsenault2014-06-261-0/+1
| | | | llvm-svn: 211757
* Don't build switch tables for dllimport and TLS variables in GEPsHans Wennborg2014-06-261-2/+3
| | | | | | | This is a follow-up to r211331, which failed to notice that we were returning early from ValidLookupTableConstant for GEPs. llvm-svn: 211753
* MSVC build fix following r211749Alp Toker2014-06-263-10/+13
| | | | | | Avoid strndup() llvm-svn: 211752
* [X86] AVX512: Fix asm syntax for packed vcmpAdam Nemet2014-06-261-3/+3
| | | | | | | | The *_alt defs for vcmp are used by the InstParser (the asm string in the main def is used by the InstPrinter) . The former was accepting vector registers as destination rather than mask registers. llvm-svn: 211750
* Introduce a string_ostream string builder faciltyAlp Toker2014-06-2643-224/+155
| | | | | | | | | | | | | | | | | | | | string_ostream is a safe and efficient string builder that combines opaque stack storage with a built-in ostream interface. small_string_ostream<bytes> additionally permits an explicit stack storage size other than the default 128 bytes to be provided. Beyond that, storage is transferred to the heap. This convenient class can be used in most places an std::string+raw_string_ostream pair or SmallString<>+raw_svector_ostream pair would previously have been used, in order to guarantee consistent access without byte truncation. The patch also converts much of LLVM to use the new facility. These changes include several probable bug fixes for truncated output, a programming error that's no longer possible with the new interface. llvm-svn: 211749
* For CrashRecoveryContext::RunSafelyOnThread, propagate Darwin's ↵Argyrios Kyrtzidis2014-06-251-2/+21
| | | | | | | | | | | | PRIO_DARWIN_BG to the new thread if it is set on the calling thread. This allows libclang's indexing threads to propagate their priority to the clang module building threads. rdar://17459872 llvm-svn: 211747
* [FastISel][X86] More refactoring of select lowering and XALU folding. NFC.Juergen Ributzka2014-06-251-83/+55
| | | | llvm-svn: 211740
OpenPOWER on IntegriCloud