llvm-6502/include/llvm/Target
Benjamin Kramer 9c64030445 Emit a more efficient magic number multiplication for exact sdivs.
We have to do this in DAGBuilder instead of DAGCombiner, because the exact bit is lost after building.

  struct foo { char x[24]; };
  long bar(struct foo *a, struct foo *b) { return a-b; }
is now compiled into
  movl	4(%esp), %eax
  subl	8(%esp), %eax
  sarl	$3, %eax
  imull	$-1431655765, %eax, %eax
instead of
  movl	4(%esp), %eax
  subl	8(%esp), %eax
  movl	$715827883, %ecx
  imull	%ecx
  movl	%edx, %eax
  shrl	$31, %eax
  sarl	$2, %edx
  addl	%eax, %edx
  movl	%edx, %eax

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134695 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-08 10:31:30 +00:00
..
Mangler.h
Target.td Eliminate asm parser's dependency on TargetMachine: 2011-07-08 01:53:10 +00:00
TargetAsmBackend.h
TargetAsmInfo.h Move a function out-of-line. 2011-07-07 21:05:13 +00:00
TargetAsmLexer.h
TargetAsmParser.h
TargetCallingConv.h
TargetCallingConv.td
TargetData.h
TargetELFWriterInfo.h
TargetFrameLowering.h Use ArrayRef instead of a std::vector&. 2011-07-07 04:42:01 +00:00
TargetInstrInfo.h Hide the call to InitMCInstrInfo into tblgen generated ctor. 2011-07-01 17:57:27 +00:00
TargetIntrinsicInfo.h
TargetJITInfo.h
TargetLibraryInfo.h
TargetLowering.h Emit a more efficient magic number multiplication for exact sdivs. 2011-07-08 10:31:30 +00:00
TargetLoweringObjectFile.h Use the presence of the __compact_unwind section to indicate that a target 2011-06-23 05:13:28 +00:00
TargetMachine.h Eliminate asm parser's dependency on TargetMachine: 2011-07-08 01:53:10 +00:00
TargetOpcodes.h Change the REG_SEQUENCE SDNode to take an explict register class ID as its first operand. This operand is lowered away by the time we reach MachineInstrs, so the actual register-allocation handling of them doesn't need to change. 2011-06-16 18:17:13 +00:00
TargetOptions.h Rename TargetOptions::StackAlignment to StackAlignmentOverride. 2011-06-23 18:15:47 +00:00
TargetRegisterInfo.h Constify getCompactUnwindRegNum. 2011-07-06 20:33:48 +00:00
TargetRegistry.h Eliminate asm parser's dependency on TargetMachine: 2011-07-08 01:53:10 +00:00
TargetSchedule.td
TargetSelect.h
TargetSelectionDAG.td Add one more argument to the prefetch intrinsic to indicate whether it's a data 2011-06-14 04:58:37 +00:00
TargetSelectionDAGInfo.h
TargetSubtargetInfo.h Rename TargetSubtarget to TargetSubtargetInfo for consistency. 2011-07-01 21:01:15 +00:00