llvm-6502/lib/Target/Hexagon
Akira Hatanaka 0e3246a86f Remove DisableTailCalls from TargetOptions and the code in resetTargetOptions
that was resetting it.

Remove the uses of DisableTailCalls in subclasses of TargetLowering and use
the value of function attribute "disable-tail-calls" instead. Also,
unconditionally add pass TailCallElim to the pipeline and check the function
attribute at the start of runOnFunction to disable the pass on a per-function
basis. 
 
This is part of the work to remove TargetMachine::resetTargetOptions, and since
DisableTailCalls was the last non-fast-math option that was being reset in that
function, we should be able to remove the function entirely after the work to
propagate IR-level fast-math flags to DAG nodes is completed.

Out-of-tree users should remove the uses of DisableTailCalls and make changes
to attach attribute "disable-tail-calls"="true" or "false" to the functions in
the IR.

rdar://problem/13752163

Differential Revision: http://reviews.llvm.org/D10099


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239427 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-09 19:07:19 +00:00
..
Disassembler [Hexagon] Reapply r239097 with tests corrected for shuffling and duplexing. 2015-06-05 16:00:11 +00:00
MCTargetDesc MC: Add target hook to control symbol quoting 2015-06-09 00:31:39 +00:00
TargetInfo
CMakeLists.txt Expand MUX instructions early on Hexagon 2015-03-31 13:35:12 +00:00
Hexagon.h [Hexagon] Adding MC packet shuffler. 2015-05-31 21:57:09 +00:00
Hexagon.td Make the Hexagon ISelDAGToDAG pass set the subtarget dynamically 2015-03-21 03:12:59 +00:00
HexagonAsmPrinter.cpp MC: Add target hook to control symbol quoting 2015-06-09 00:31:39 +00:00
HexagonAsmPrinter.h Define a runOnMachineFunction for the Hexagon AsmPrinter and 2015-02-03 06:40:22 +00:00
HexagonCallingConv.td
HexagonCFGOptimizer.cpp Grab TargetInstrInfo off of the MachineFunction and remove 2015-02-02 18:46:27 +00:00
HexagonCopyToCombine.cpp [Hexagon] Fix compiler warnings in release build 2015-04-23 20:26:21 +00:00
HexagonExpandCondsets.cpp [Hexagon] Avoid an unused variable warning when assertions are off 2015-03-31 19:43:47 +00:00
HexagonExpandPredSpillCode.cpp [Hexagon] Intrinsics for circular and bit-reversed loads and stores 2015-03-18 16:23:44 +00:00
HexagonFixupHwLoops.cpp [Hexagon] Use constant extenders to fix up hardware loops 2015-04-27 14:16:43 +00:00
HexagonFrameLowering.cpp CodeGen: Use mop_iterator instead of MIOperands/ConstMIOperands 2015-05-29 02:56:46 +00:00
HexagonFrameLowering.h [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
HexagonHardwareLoops.cpp [Hexagon] Generate hardware loop for a vectorized loop 2015-05-14 20:36:19 +00:00
HexagonInstrFormats.td [Hexagon] Disassembling, printing, and emitting instructions a whole-bundle at a time which is the semantic unit for Hexagon. Fixing tests to use the new format. Disabling tests in the direct object emission path for a followup patch. 2015-05-29 14:44:13 +00:00
HexagonInstrFormatsV4.td [Hexagon] Reapply r239097 with tests corrected for shuffling and duplexing. 2015-06-05 16:00:11 +00:00
HexagonInstrInfo.cpp [InstrInfo] Refactor foldOperandImpl to thread through InsertPt. NFC 2015-06-08 20:09:58 +00:00
HexagonInstrInfo.h [InstrInfo] Refactor foldOperandImpl to thread through InsertPt. NFC 2015-06-08 20:09:58 +00:00
HexagonInstrInfo.td Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
HexagonInstrInfoV3.td [Hexagon] Removing v2-4 flags. V4 is the minimum supported version. 2015-02-09 21:07:35 +00:00
HexagonInstrInfoV4.td [Hexagon] Reapply r239097 with tests corrected for shuffling and duplexing. 2015-06-05 16:00:11 +00:00
HexagonInstrInfoV5.td Eliminate constant-extender profitability checks from Hexagon isel 2015-03-12 00:19:59 +00:00
HexagonInstrInfoVector.td [Hexagon] Add support for vector instructions 2015-03-19 16:33:08 +00:00
HexagonIntrinsics.td [Hexagon] Intrinsics for circular and bit-reversed loads and stores 2015-03-18 16:23:44 +00:00
HexagonIntrinsicsDerived.td [Hexagon] Deleting a lot of old variants of intrinsics and updating references. 2015-01-28 18:29:11 +00:00
HexagonIntrinsicsV3.td [Hexagon] Converting XTYPE/SHIFT intrinsics. Cleaning out old intrinsic patterns and updating tests. 2015-02-03 20:40:52 +00:00
HexagonIntrinsicsV4.td Eliminate constant-extender profitability checks from Hexagon isel 2015-03-12 00:19:59 +00:00
HexagonIntrinsicsV5.td [Hexagon] Converting XTYPE/SHIFT intrinsics. Cleaning out old intrinsic patterns and updating tests. 2015-02-03 20:40:52 +00:00
HexagonISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
HexagonISelLowering.cpp Remove DisableTailCalls from TargetOptions and the code in resetTargetOptions 2015-06-09 19:07:19 +00:00
HexagonISelLowering.h Add address space argument to isLegalAddressingMode 2015-06-01 05:31:59 +00:00
HexagonIsetDx.td [Hexagon] Reapply r239097 with tests corrected for shuffling and duplexing. 2015-06-05 16:00:11 +00:00
HexagonMachineFunctionInfo.cpp
HexagonMachineFunctionInfo.h [Hexagon] Overhaul of stack object allocation 2015-04-22 16:43:53 +00:00
HexagonMachineScheduler.cpp Move HexagonMachineScheduler to use the subtarget off of the 2015-02-02 22:11:40 +00:00
HexagonMachineScheduler.h Move HexagonMachineScheduler to use the subtarget off of the 2015-02-02 22:11:40 +00:00
HexagonMCInstLower.cpp MC: Clean up MCExpr naming. NFC. 2015-05-30 01:25:56 +00:00
HexagonNewValueJump.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
HexagonOperands.td [Hexagon] Reapply r239097 with tests corrected for shuffling and duplexing. 2015-06-05 16:00:11 +00:00
HexagonPeephole.cpp [Hexagon] Eliminating immediate condition set. 2015-03-09 19:57:18 +00:00
HexagonRegisterInfo.cpp [Hexagon] Overhaul of stack object allocation 2015-04-22 16:43:53 +00:00
HexagonRegisterInfo.h [Hexagon] Shrink-wrap stack frame (Hexagon-specific) 2015-04-23 16:05:39 +00:00
HexagonRegisterInfo.td [Hexagon] Adding vector shift instructions and tests. 2015-01-30 21:58:46 +00:00
HexagonRemoveSZExtArgs.cpp [LPM] Stop using the string based preservation API. It is an 2015-01-28 04:57:56 +00:00
HexagonSchedule.td
HexagonScheduleV4.td
HexagonSelectCCInfo.td
HexagonSelectionDAGInfo.cpp
HexagonSelectionDAGInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
HexagonSplitConst32AndConst64.cpp [Hexagon] Use A2_tfrsi for constant pool and jump table addresses 2015-04-22 18:25:53 +00:00
HexagonSubtarget.cpp Remove more superfluous .str() and replace std::string concatenation with Twine. 2015-03-30 15:42:36 +00:00
HexagonSubtarget.h Remove useMachineScheduler and replace it with subtarget options 2015-03-11 22:56:10 +00:00
HexagonTargetMachine.cpp Expand MUX instructions early on Hexagon 2015-03-31 13:35:12 +00:00
HexagonTargetMachine.h Revert r233206 2015-03-25 20:21:16 +00:00
HexagonTargetObjectFile.cpp Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
HexagonTargetObjectFile.h Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
HexagonVLIWPacketizer.cpp [Hexagon] Treat CFI as solo instructions 2015-04-22 15:47:35 +00:00
LLVMBuild.txt [Hexagon] [NFC] Merging InstPrinter directory in to MCTargetDesc since they have a circular dependency. 2014-11-20 21:56:35 +00:00
Makefile Prune CRLFs. 2015-05-25 01:43:23 +00:00