llvm-project/llvm/lib/Target/R600
Matt Arsenault fcdddf9602 R600/SI: Use ZeroOrNegativeOneBooleanContent
This sort of doesn't matter since the setcc type is i1, but
this previously was using the default UndefinedBooleanContent. This
makes it more consistent with R600. This enables more optimizations
which typically give up on UndefinedBooleanContent. For example,
there is already a special case target DAG combine for
setcc + sext which can be eliminated in favor of what the generic
DAG combiner can do if it assumes boolean values are sign extended.
Since -1 is an inline immediate, using it is basically free and the
backend already uses it when a boolean value is needed in a wider type.

llvm-svn: 222850
2014-11-26 21:23:15 +00:00
..
AsmParser R600/SI: Start implementing an assembler 2014-11-14 14:08:00 +00:00
InstPrinter R600/SI: Change how DS offsets are printed 2014-10-10 22:16:07 +00:00
MCTargetDesc R600: Fix assert on empty function 2014-11-13 20:07:40 +00:00
TargetInfo Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
AMDGPU.h R600/SI: Add SIFoldOperands pass 2014-11-21 22:06:37 +00:00
AMDGPU.td R600/SI: Start implementing an assembler 2014-11-14 14:08:00 +00:00
AMDGPUAlwaysInlinePass.cpp Reapply: R600: Make sure to inline all internal functions 2014-11-03 19:49:05 +00:00
AMDGPUAsmPrinter.cpp R600: Align functions to 256 bytes 2014-10-03 19:02:02 +00:00
AMDGPUAsmPrinter.h R600/SI: Add preliminary support for flat address space 2014-09-15 15:41:53 +00:00
AMDGPUCallingConv.td Remove the target machine from CCState. Previously it was only used 2014-08-06 18:45:26 +00:00
AMDGPUFrameLowering.cpp Fix typo 2014-06-14 04:26:07 +00:00
AMDGPUFrameLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AMDGPUISelDAGToDAG.cpp R600/SI: Get rid of FCLAMP_SI pseudo 2014-11-13 19:49:04 +00:00
AMDGPUISelLowering.cpp R600/SI: Use ZeroOrNegativeOneBooleanContent 2014-11-26 21:23:15 +00:00
AMDGPUISelLowering.h R600: Factor i64 UDIVREM lowering into its own fuction 2014-11-15 01:07:53 +00:00
AMDGPUInstrInfo.cpp R600: Remove dead code 2014-10-07 21:29:56 +00:00
AMDGPUInstrInfo.h R600: Remove dead code 2014-10-07 21:29:56 +00:00
AMDGPUInstrInfo.td R600/SI: Combine min3/max3 instructions 2014-11-14 20:08:52 +00:00
AMDGPUInstructions.td R600/SI: Start implementing an assembler 2014-11-14 14:08:00 +00:00
AMDGPUIntrinsicInfo.cpp Move R600 subtarget dependent variables onto the subtarget. 2014-07-25 22:22:39 +00:00
AMDGPUIntrinsicInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AMDGPUIntrinsics.td R600: Remove intrinsics that appear to be unused 2014-07-15 20:10:27 +00:00
AMDGPUMCInstLower.cpp Remove the TargetMachine forwards for TargetSubtargetInfo based 2014-08-04 21:25:23 +00:00
AMDGPUMCInstLower.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
AMDGPUMachineFunction.cpp R600/SI: Add preliminary support for flat address space 2014-09-15 15:41:53 +00:00
AMDGPUMachineFunction.h Reapply "R600: Add new intrinsic to read work dimensions" 2014-10-14 20:05:26 +00:00
AMDGPUPromoteAlloca.cpp R600: Don't promote allocas when one of the users is a ptrtoint instruction 2014-10-31 20:52:04 +00:00
AMDGPURegisterInfo.cpp R600: Move AMDGPUInstrInfo from AMDGPUTargetMachine into AMDGPUSubtarget 2014-06-13 01:32:00 +00:00
AMDGPURegisterInfo.h Add override to overriden virtual methods, remove virtual keywords. 2014-09-03 11:41:21 +00:00
AMDGPURegisterInfo.td
AMDGPUSubtarget.cpp R600/SI: Add load / store machine optimizer pass. 2014-10-10 22:01:59 +00:00
AMDGPUSubtarget.h R600: Remove unused define 2014-11-07 20:45:00 +00:00
AMDGPUTargetMachine.cpp R600/SI: Add SIFoldOperands pass 2014-11-21 22:06:37 +00:00
AMDGPUTargetMachine.h This patch changes the ownership of TLOF from TargetLoweringBase to TargetMachine so that different subtargets could share the TLOF effectively 2014-11-13 09:26:31 +00:00
AMDGPUTargetTransformInfo.cpp Fix broken doxygen annotations, NFC 2014-11-12 18:25:06 +00:00
AMDILCFGStructurizer.cpp Fix typos: 2014-08-11 18:04:46 +00:00
CMakeLists.txt R600/SI: Add SIFoldOperands pass 2014-11-21 22:06:37 +00:00
CaymanInstructions.td R600: Match rcp node on pre-SI 2014-07-24 06:59:24 +00:00
EvergreenInstructions.td R600/SI: Use REG_SEQUENCE instead of INSERT_SUBREGs 2014-11-02 23:46:54 +00:00
LLVMBuild.txt R600/SI: Start implementing an assembler 2014-11-14 14:08:00 +00:00
Makefile R600/SI: Start implementing an assembler 2014-11-14 14:08:00 +00:00
Processors.td R600/SI: Add processor type for Mullins. 2014-05-02 15:41:49 +00:00
R600ClauseMergePass.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
R600ControlFlowFinalizer.cpp Remove unnecessary copying or replace it with moves in a bunch of places. 2014-10-04 16:55:56 +00:00
R600Defines.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
R600EmitClauseMarkers.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
R600ExpandSpecialInstrs.cpp Have MachineFunction cache a pointer to the subtarget to make lookups 2014-08-05 02:39:49 +00:00
R600ISelLowering.cpp R600/SI: Use ZeroOrNegativeOneBooleanContent 2014-11-26 21:23:15 +00:00
R600ISelLowering.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
R600InstrFormats.td R600/SI: Start implementing an assembler 2014-11-14 14:08:00 +00:00
R600InstrInfo.cpp Remove unused argument to CreateTargetScheduleState and change 2014-10-09 01:59:35 +00:00
R600InstrInfo.h Remove unused argument to CreateTargetScheduleState and change 2014-10-09 01:59:35 +00:00
R600Instructions.td Replace neverHasSideEffects=1 with hasSideEffects=0 in all .td files. 2014-11-26 00:46:26 +00:00
R600Intrinsics.td R600: Reenable llvm.R600.load.input/interp.input for compatibility 2013-11-12 16:26:47 +00:00
R600MachineFunctionInfo.cpp [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
R600MachineFunctionInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
R600MachineScheduler.cpp Fix float division-by-zero in R600 scheduler. 2014-09-17 17:47:21 +00:00
R600MachineScheduler.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
R600OptimizeVectorRegisters.cpp Eliminate some deep std::vector copies. NFC. 2014-10-03 18:33:16 +00:00
R600Packetizer.cpp Cleanup: Delete seemingly unused reference to MachineDominatorTree from ScheduleDAGInstrs. 2014-08-20 20:57:26 +00:00
R600RegisterInfo.cpp R600: Remove AMDIL instruction and register definitions 2014-06-13 16:38:59 +00:00
R600RegisterInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
R600RegisterInfo.td R600: Use LDS and vectors for private memory 2014-06-17 16:53:14 +00:00
R600Schedule.td
R600TextureIntrinsicsReplacer.cpp [C++11] Add 'override' keywords and remove 'virtual'. Additionally add 'final' and leave 'virtual' on some methods that are marked virtual without overriding anything and have no obvious overrides themselves. R600 edition 2014-04-29 07:57:24 +00:00
R700Instructions.td R600: Reorganize tablegen instruction definitions 2014-03-24 16:07:25 +00:00
SIAnnotateControlFlow.cpp R600/SI: SI Control Flow Annotation bug fixed 2014-06-20 17:06:02 +00:00
SIDefines.h R600/SI: Fix printing of clamp and omod 2014-09-30 19:49:48 +00:00
SIFixSGPRCopies.cpp R600/SI: Only use one DEBUG() 2014-11-25 21:03:22 +00:00
SIFixSGPRLiveRanges.cpp R600/SI: Fix the FixSGPRLiveRanges pass 2014-09-24 01:33:24 +00:00
SIFoldOperands.cpp R600/SI: Add SIFoldOperands pass 2014-11-21 22:06:37 +00:00
SIISelLowering.cpp R600/SI: Emit s_mov_b32 m0, -1 before every DS instruction 2014-11-21 22:31:44 +00:00
SIISelLowering.h R600/SI: Combine min3/max3 instructions 2014-11-14 20:08:52 +00:00
SIInsertWaits.cpp Fix include order 2014-09-29 15:53:15 +00:00
SIInstrFormats.td Replace neverHasSideEffects=1 with hasSideEffects=0 in all .td files. 2014-11-26 00:46:26 +00:00
SIInstrInfo.cpp R600/SI: Add an s_mov_b32 to patterns which use the M0RegClass 2014-11-21 22:31:46 +00:00
SIInstrInfo.h R600/SI: Implement areMemAccessesTriviallyDisjoint 2014-11-19 00:01:31 +00:00
SIInstrInfo.td R600/SI: Emit s_mov_b32 m0, -1 before every DS instruction 2014-11-21 22:31:44 +00:00
SIInstructions.td Revert r222746: That commit did not update any tests and caused two R600 2014-11-25 10:50:41 +00:00
SIIntrinsics.td R600/SI: Use i32 vectors for resources and samplers 2014-07-11 17:11:52 +00:00
SILoadStoreOptimizer.cpp R600/SI: Emit s_mov_b32 m0, -1 before every DS instruction 2014-11-21 22:31:44 +00:00
SILowerControlFlow.cpp Removing a variable that is initialized but never read. The original author has been alerted to the warning, in case this variable is meant to be used. Fixes -Werror builds in the meantime. 2014-11-24 14:03:16 +00:00
SILowerI1Copies.cpp R600/SI: Create e64 versions of and/or/xor in SILowerI1Copies 2014-11-26 18:18:28 +00:00
SIMachineFunctionInfo.cpp R600/SI: Implement VGPR register spilling for compute at -O0 v3 2014-09-24 01:33:17 +00:00
SIMachineFunctionInfo.h R600/SI: Implement VGPR register spilling for compute at -O0 v3 2014-09-24 01:33:17 +00:00
SIRegisterInfo.cpp R600/SI: Fix allocating flat_scr_lo / flat_scr_hi 2014-11-25 07:53:06 +00:00
SIRegisterInfo.h R600/SI: Add new helper isSGPRClassID 2014-09-24 02:17:12 +00:00
SIRegisterInfo.td R600/SI: Fix assembly names for exec_hi and exec_lo 2014-11-14 14:08:04 +00:00
SISchedule.td
SIShrinkInstructions.cpp R600/SI: Use s_movk_i32 2014-11-13 20:44:23 +00:00
SITypeRewriter.cpp Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00