Eric Christopher
c4d3140524
Remove subtarget dependence from HexagonRegisterInfo.
...
llvm-svn: 231887
2015-03-10 23:45:55 +00:00
Eric Christopher
0169e42c3b
Remove the use of the subtarget in MCCodeEmitter creation and
...
update all ports accordingly. Required a couple of small rewrites
in handling subtarget features during creation in PPC.
llvm-svn: 231861
2015-03-10 22:03:14 +00:00
Colin LeMahieu
bdc6c83d24
[Hexagon] Adding frame index + add load/store patterns.
...
llvm-svn: 231850
2015-03-10 21:24:13 +00:00
Colin LeMahieu
3901c066e0
[Hexagon] Simplifying deallocret definitions.
...
llvm-svn: 231847
2015-03-10 21:12:32 +00:00
Colin LeMahieu
4e90d2136f
[Hexagon] Separating InstHexagon from OpcodeHexagon.
...
llvm-svn: 231844
2015-03-10 20:56:22 +00:00
Colin LeMahieu
60a99e66a0
[Hexagon] Adding nodes for PIC support.
...
llvm-svn: 231829
2015-03-10 20:04:44 +00:00
Colin LeMahieu
092d9c18a8
[Hexagon] Adding DuplexInst instruction format and duplex class defs.
...
llvm-svn: 231828
2015-03-10 19:53:14 +00:00
Colin LeMahieu
3b6747df13
[Hexagon] Adding nodes for vector insert/extract lowering.
...
llvm-svn: 231825
2015-03-10 19:40:03 +00:00
Colin LeMahieu
ee776452f9
[Hexagon] Renaming HexagonJT to JT and adding CP for constantpool.
...
llvm-svn: 231824
2015-03-10 19:29:53 +00:00
Benjamin Kramer
9d1f2dfec7
Hexagon: Remove unused InstrMapping.
...
llvm-svn: 231809
2015-03-10 18:19:16 +00:00
Benjamin Kramer
4683395808
Hexagon: Remove pass that does nothing at all
...
llvm-svn: 231791
2015-03-10 15:06:38 +00:00
Aaron Ballman
f00fd1f087
Removing dead code to silence warning C4060: switch statement contains no 'case' or 'default' labels; NFC.
...
llvm-svn: 231785
2015-03-10 13:56:28 +00:00
Colin LeMahieu
fa79110cc7
[Hexagon] Removing unused patterns.
...
llvm-svn: 231723
2015-03-09 23:08:46 +00:00
Colin LeMahieu
7b1799c7f8
[Hexagon] Use single tailcall pseudoinst and fix checking for label jumping versus tail calling.
...
llvm-svn: 231713
2015-03-09 22:05:21 +00:00
Colin LeMahieu
2efa2d01d7
[Hexagon] Reapply r231699. Remove assumption that second operand is an immediate when checking if A2_tfrsi is combinable.
...
llvm-svn: 231710
2015-03-09 21:48:13 +00:00
Colin LeMahieu
ed853397c6
[Hexagon] Reverting r231699
...
llvm-svn: 231703
2015-03-09 21:19:02 +00:00
Colin LeMahieu
8c4dfaa13b
[Hexagon] Updating constant set to simpler versions.
...
llvm-svn: 231699
2015-03-09 20:33:12 +00:00
Benjamin Kramer
7bd1f7cb58
Remove the remaining uses of abs64 and nuke it.
...
std::abs works just fine and we're already using it in many places. NFC intended.
llvm-svn: 231696
2015-03-09 20:20:16 +00:00
Colin LeMahieu
542510925b
[Hexagon] Removing old halfword codegen instructions and updating const32/64 splitting.
...
llvm-svn: 231695
2015-03-09 20:11:02 +00:00
Colin LeMahieu
96bfaa9766
[Hexagon] Eliminating immediate condition set.
...
llvm-svn: 231693
2015-03-09 19:57:18 +00:00
Colin LeMahieu
d46aeffc54
[Hexagon] Removing TFR_condset_ir/TFR_condset_ri modeling.
...
llvm-svn: 231689
2015-03-09 19:31:25 +00:00
Colin LeMahieu
63adf969a5
[Hexagon] Changing AddrFI back to ADDRri to address test issue.
...
llvm-svn: 231687
2015-03-09 18:57:33 +00:00
Colin LeMahieu
bd8d0f3108
[Hexagon] Adding PackHL nodes and some missing modeling instructions and patterns
...
llvm-svn: 231678
2015-03-09 18:34:05 +00:00
Benjamin Kramer
f1362f6196
ArrayRefize memory operand folding. NFC.
...
llvm-svn: 230846
2015-02-28 12:04:00 +00:00
Eric Christopher
11e4df73c8
getRegForInlineAsmConstraint wants to use TargetRegisterInfo for
...
a lookup, pass that in rather than use a naked call to getSubtargetImpl.
This involved passing down and around either a TargetMachine or
TargetRegisterInfo. Update all callers/definitions around the targets
and SelectionDAG.
llvm-svn: 230699
2015-02-26 22:38:43 +00:00
Eric Christopher
23a3a7c871
Remove an argument-less call to getSubtargetImpl from TargetLoweringBase.
...
This required plumbing a TargetRegisterInfo through computeRegisterProperties
and into findRepresentativeClass which uses it for register class
iteration. This required passing a subtarget into a few target specific
initializations of TargetLowering.
llvm-svn: 230583
2015-02-26 00:00:24 +00:00
NAKAMURA Takumi
3d61760bd6
Fix a warning on HexagonMCCodeEmitter::MCII. [-Wunused-private-field]
...
llvm-svn: 230170
2015-02-22 09:58:29 +00:00
Tim Northover
3b6b7ca2bc
CodeGen: convert CCState interface to using ArrayRefs
...
Everyone except R600 was manually passing the length of a static array
at each callsite, calculated in a variety of interesting ways. Far
easier to let ArrayRef handle that.
There should be no functional change, but out of tree targets may have
to tweak their calls as with these examples.
llvm-svn: 230118
2015-02-21 02:11:17 +00:00
Colin LeMahieu
1174fea31c
[Hexagon] Moving remaining methods off of HexagonMCInst in to HexagonMCInstrInfo and eliminating HexagonMCInst class.
...
llvm-svn: 229914
2015-02-19 21:10:50 +00:00
Colin LeMahieu
745c4710db
[Hexagon] Moving more functions off of HexagonMCInst and in to HexagonMCInstrInfo.
...
llvm-svn: 229903
2015-02-19 19:49:27 +00:00
Colin LeMahieu
af304e5192
[Hexagon] Creating HexagonMCInstrInfo namespace as landing zone for static functions detached from HexagonMCInst.
...
llvm-svn: 229885
2015-02-19 19:00:00 +00:00
Colin LeMahieu
f08a3ccf50
[Hexagon] Removing static variable holding MCInstrInfo.
...
llvm-svn: 229872
2015-02-19 17:38:39 +00:00
Aaron Ballman
f9a1897c72
Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition.
...
llvm-svn: 229340
2015-02-15 22:54:22 +00:00
Chandler Carruth
30d69c2e36
[PM] Remove the old 'PassManager.h' header file at the top level of
...
LLVM's include tree and the use of using declarations to hide the
'legacy' namespace for the old pass manager.
This undoes the primary modules-hostile change I made to keep
out-of-tree targets building. I sent an email inquiring about whether
this would be reasonable to do at this phase and people seemed fine with
it, so making it a reality. This should allow us to start bootstrapping
with modules to a certain extent along with making it easier to mix and
match headers in general.
The updates to any code for users of LLVM are very mechanical. Switch
from including "llvm/PassManager.h" to "llvm/IR/LegacyPassManager.h".
Qualify the types which now produce compile errors with "legacy::". The
most common ones are "PassManager", "PassManagerBase", and
"FunctionPassManager".
llvm-svn: 229094
2015-02-13 10:01:29 +00:00
Benjamin Kramer
5f6a907288
MathExtras: Bring Count(Trailing|Leading)Ones and CountPopulation in line with countTrailingZeros
...
Update all callers.
llvm-svn: 228930
2015-02-12 15:35:40 +00:00
Colin LeMahieu
404d5b242d
[Hexagon] Adding vector load with post-increment instructions. Adding decoder function for 64bit control register class.
...
llvm-svn: 228708
2015-02-10 16:59:36 +00:00
David Blaikie
36a036909c
Fix the clang -Werror build (-Wunused-variable)
...
llvm-svn: 228635
2015-02-10 00:16:36 +00:00
Colin LeMahieu
328b1633d7
[Hexagon] Adding missing load instructions and removing an unused multiclass parameter.
...
llvm-svn: 228630
2015-02-09 23:45:24 +00:00
Colin LeMahieu
4282e7cffd
[Hexagon] Factoring classes out of some load patterns and deleting some unused ones.
...
llvm-svn: 228627
2015-02-09 23:05:44 +00:00
Colin LeMahieu
4fd203d3e1
[Hexagon] Removing more V4 predicates since V4 is the required minimum.
...
llvm-svn: 228614
2015-02-09 21:56:37 +00:00
Colin LeMahieu
641c24b9bf
[Hexagon] Removing v2-4 flags. V4 is the minimum supported version.
...
llvm-svn: 228605
2015-02-09 21:07:35 +00:00
Colin LeMahieu
955c4ff9c3
[Hexagon] Factoring classes out of store patterns.
...
llvm-svn: 228602
2015-02-09 20:33:46 +00:00
Colin LeMahieu
ab5a8d6070
[Hexagon] Formatting v5 TD file. Removing commented defs.
...
llvm-svn: 228598
2015-02-09 20:03:42 +00:00
Colin LeMahieu
38e6689276
[Hexagon] Cleaning up definition formatting.
...
llvm-svn: 228593
2015-02-09 19:24:44 +00:00
Colin LeMahieu
6e3e62fd13
[Hexagon] Renaming v4 compare-and-jump instructions.
...
llvm-svn: 228349
2015-02-05 22:03:32 +00:00
Colin LeMahieu
6b3aac8ad9
[Hexagon] Deleting unused patterns.
...
llvm-svn: 228348
2015-02-05 21:43:56 +00:00
Colin LeMahieu
de68b66b4d
[Hexagon] Simplifying and formatting several patterns. Changing a pattern multiply to be expanded.
...
llvm-svn: 228347
2015-02-05 21:13:25 +00:00
Colin LeMahieu
99c5ce1ce4
[Hexagon] Factoring a class out of some store patterns, deleting unused definitions and reformatting some patterns.
...
llvm-svn: 228345
2015-02-05 20:38:58 +00:00
Colin LeMahieu
d40bb5353d
[Hexagon] Factoring out a class for immediate transfers and cleaning up formatting.
...
llvm-svn: 228343
2015-02-05 20:08:52 +00:00
Colin LeMahieu
b882f2b5cf
[Hexagon] Renaming Y2_barrier. Fixing issues where doubleword variants of instructions can't be newvalue producers.
...
llvm-svn: 228330
2015-02-05 18:56:28 +00:00