1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/include/llvm/Target
Tim Northover 1b102abe53 X86 CodeGenPrep: sink shufflevectors before shifts
On x86, shifting a vector by a scalar is significantly cheaper than shifting a
vector by another fully general vector. Unfortunately, because SelectionDAG
operates on just one basic block at a time, the shufflevector instruction that
reveals whether the right-hand side of a shift *is* really a scalar is often
not visible to CodeGen when it's needed.

This adds another handler to CodeGenPrepare, to sink any useful shufflevector
instructions down to the basic block where they're used, predicated on a target
hook (since on other architectures, doing so will often just introduce extra
real work).

rdar://problem/16063505

llvm-svn: 201655
2014-02-19 10:02:43 +00:00
..
CostTable.h Add a overload to CostTable which allows it to infer the size of the table. 2013-08-09 19:33:32 +00:00
Target.td [Stackmaps] Fix the ID type to be i64 also for stackmaps (as we claim in the documenation) 2014-02-12 22:17:10 +00:00
TargetCallingConv.h Implement inalloca codegen for x86 with the new inalloca design 2014-01-31 23:50:57 +00:00
TargetCallingConv.td LLVM-1163: AAPCS-VFP violation when CPRC allocated to stack 2014-02-07 11:19:53 +00:00
TargetFrameLowering.h [SystemZ] Clean up register scavenging code 2013-07-05 12:55:00 +00:00
TargetInstrInfo.h Added a size field to the stack map record to handle subregister spills. 2013-11-17 01:36:23 +00:00
TargetIntrinsicInfo.h Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-17 06:59:23 +00:00
TargetItinerary.td I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
TargetJITInfo.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
TargetLibraryInfo.h SimplifyLibCalls: Push TLI through the exp2->ldexp transform. 2014-02-04 20:27:23 +00:00
TargetLowering.h X86 CodeGenPrep: sink shufflevectors before shifts 2014-02-19 10:02:43 +00:00
TargetLoweringObjectFile.h Fix PR18743. 2014-02-18 22:24:57 +00:00
TargetMachine.h Remove support for not using .loc directives. 2014-02-05 18:00:21 +00:00
TargetOpcodes.h Lower stackmap intrinsics directly to their target opcode in the DAG builder. 2013-10-31 17:18:24 +00:00
TargetOptions.h Use function attributes to indicate that we don't want to realign the stack. 2013-08-01 21:42:05 +00:00
TargetRegisterInfo.h Add TargetRegisterInfo::reverseLocalAssignment hook. 2013-12-11 03:40:15 +00:00
TargetSchedule.td Machine model comments. Explain a ProcessorUnit's BufferSize. 2013-12-05 17:55:53 +00:00
TargetSelectionDAG.td X86: Resolve a long standing FIXME and properly isel pextr[bw]. 2014-02-07 00:16:33 +00:00
TargetSelectionDAGInfo.h Rename some member variables from TD to DL. 2014-02-18 15:33:12 +00:00
TargetSubtargetInfo.h Added temp flag -misched-bench for staging in default changes. 2013-09-26 05:53:35 +00:00