/
OMRSimplifierTableEnum.hpp
834 lines (779 loc) · 32.7 KB
/
OMRSimplifierTableEnum.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
/*******************************************************************************
* Copyright (c) 2000, 2018 IBM Corp. and others
*
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which accompanies this
* distribution and is available at http://eclipse.org/legal/epl-2.0
* or the Apache License, Version 2.0 which accompanies this distribution
* and is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the
* Eclipse Public License, v. 2.0 are satisfied: GNU General Public License,
* version 2 with the GNU Classpath Exception [1] and GNU General Public
* License, version 2 with the OpenJDK Assembly Exception [2].
*
* [1] https://www.gnu.org/software/classpath/license.html
* [2] http://openjdk.java.net/legal/assembly-exception.html
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
*******************************************************************************/
#ifndef OMR_SIMPLIFIERTABLE_ENUM_INCL
#define OMR_SIMPLIFIERTABLE_ENUM_INCL
dftSimplifier, // TR::BadILOp
dftSimplifier, // TR::aconst
constSimplifier, // TR::iconst
lconstSimplifier, // TR::lconst
dftSimplifier, // TR::fconst
dftSimplifier, // TR::dconst
constSimplifier, // TR::bconst
constSimplifier, // TR::sconst
directLoadSimplifier, // TR::iload
directLoadSimplifier, // TR::fload
directLoadSimplifier, // TR::dload
directLoadSimplifier, // TR::aload
directLoadSimplifier, // TR::bload
directLoadSimplifier, // TR::sload
directLoadSimplifier, // TR::lload
directLoadSimplifier, // TR::irdbar
directLoadSimplifier, // TR::frdbar
directLoadSimplifier, // TR::drdbar
directLoadSimplifier, // TR::ardbar
directLoadSimplifier, // TR::brdbar
directLoadSimplifier, // TR::srdbar
directLoadSimplifier, // TR::lrdbar
indirectLoadSimplifier, // TR::iloadi
indirectLoadSimplifier, // TR::floadi
indirectLoadSimplifier, // TR::dloadi
indirectLoadSimplifier, // TR::aloadi
indirectLoadSimplifier, // TR::bloadi
indirectLoadSimplifier, // TR::sloadi
indirectLoadSimplifier, // TR::lloadi
indirectLoadSimplifier, // TR::irdbari
indirectLoadSimplifier, // TR::frdbari
indirectLoadSimplifier, // TR::drdbari
indirectLoadSimplifier, // TR::ardbari
indirectLoadSimplifier, // TR::brdbari
indirectLoadSimplifier, // TR::srdbari
indirectLoadSimplifier, // TR::lrdbari
directStoreSimplifier, // TR::istore
lstoreSimplifier, // TR::lstore
dftSimplifier, // TR::fstore
dftSimplifier, // TR::dstore
astoreSimplifier, // TR::astore
dftSimplifier, // TR::bstore
dftSimplifier, // TR::sstore
directStoreSimplifier, // TR::iwrtbar
lstoreSimplifier, // TR::lwrtbar
dftSimplifier, // TR::fwrtbar
dftSimplifier, // TR::dwrtbar
dftSimplifier, // TR::awrtbar
dftSimplifier, // TR::bwrtbar
dftSimplifier, // TR::swrtbar
indirectStoreSimplifier, // TR::lstorei
indirectStoreSimplifier, // TR::fstorei
indirectStoreSimplifier, // TR::dstorei
indirectStoreSimplifier, // TR::astorei
indirectStoreSimplifier, // TR::bstorei
indirectStoreSimplifier, // TR::sstorei
indirectStoreSimplifier, // TR::istorei
indirectStoreSimplifier, // TR::lwrtbari
indirectStoreSimplifier, // TR::fwrtbari
indirectStoreSimplifier, // TR::dwrtbari
indirectStoreSimplifier, // TR::awrtbari
indirectStoreSimplifier, // TR::bwrtbari
indirectStoreSimplifier, // TR::swrtbari
indirectStoreSimplifier, // TR::iwrtbari
gotoSimplifier, // TR::Goto
dftSimplifier, // TR::ireturn
dftSimplifier, // TR::lreturn
dftSimplifier, // TR::freturn
dftSimplifier, // TR::dreturn
dftSimplifier, // TR::areturn
dftSimplifier, // TR::Return
dftSimplifier, // TR::asynccheck
dftSimplifier, // TR::athrow
ifdCallSimplifier, // TR::icall
lcallSimplifier, // TR::lcall
ifdCallSimplifier, // TR::fcall
ifdCallSimplifier, // TR::dcall
acallSimplifier, // TR::acall
vcallSimplifier, // TR::call
iaddSimplifier, // TR::iadd
laddSimplifier, // TR::ladd
faddSimplifier, // TR::fadd
daddSimplifier, // TR::dadd
baddSimplifier, // TR::badd
saddSimplifier, // TR::sadd
isubSimplifier, // TR::isub
lsubSimplifier, // TR::lsub
fsubSimplifier, // TR::fsub
dsubSimplifier, // TR::dsub
bsubSimplifier, // TR::bsub
ssubSimplifier, // TR::ssub
dftSimplifier, // TR::asub todo
imulSimplifier, // TR::imul
lmulSimplifier, // TR::lmul
fmulSimplifier, // TR::fmul
dmulSimplifier, // TR::dmul
bmulSimplifier, // TR::bmul
smulSimplifier, // TR::smul
idivSimplifier, // TR::idiv
ldivSimplifier, // TR::ldiv
fdivSimplifier, // TR::fdiv
ddivSimplifier, // TR::ddiv
bdivSimplifier, // TR::bdiv
sdivSimplifier, // TR::sdiv
idivSimplifier, // TR::iudiv
ldivSimplifier, // TR::ludiv
iremSimplifier, // TR::irem
lremSimplifier, // TR::lrem
fremSimplifier, // TR::frem
dremSimplifier, // TR::drem
bremSimplifier, // TR::brem
sremSimplifier, // TR::srem
iremSimplifier, // TR::iurem
inegSimplifier, // TR::ineg
lnegSimplifier, // TR::lneg
fnegSimplifier, // TR::fneg
dnegSimplifier, // TR::dneg
bnegSimplifier, // TR::bneg
snegSimplifier, // TR::sneg
ilfdabsSimplifier, // TR::iabs
ilfdabsSimplifier, // TR::labs
ilfdabsSimplifier, // TR::fabs
ilfdabsSimplifier, // TR::dabs
ishlSimplifier, // TR::ishl
lshlSimplifier, // TR::lshl
bshlSimplifier, // TR::bshl
sshlSimplifier, // TR::sshl
ishrSimplifier, // TR::ishr
lshrSimplifier, // TR::lshr
bshrSimplifier, // TR::bshr
sshrSimplifier, // TR::sshr
iushrSimplifier, // TR::iushr
lushrSimplifier, // TR::lushr
bushrSimplifier, // TR::bushr
sushrSimplifier, // TR::sushr
irolSimplifier, // TR::irol
lrolSimplifier, // TR::lrol
iandSimplifier, // TR::iand
landSimplifier, // TR::land
bandSimplifier, // TR::band
sandSimplifier, // TR::sand
iorSimplifier, // TR::ior
lorSimplifier, // TR::lor
borSimplifier, // TR::bor
sorSimplifier, // TR::sor
ixorSimplifier, // TR::ixor
lxorSimplifier, // TR::lxor
bxorSimplifier, // TR::bxor
sxorSimplifier, // TR::sxor
i2lSimplifier, // TR::i2l
i2fSimplifier, // TR::i2f
i2dSimplifier, // TR::i2d
i2bSimplifier, // TR::i2b
i2sSimplifier, // TR::i2s
i2aSimplifier, // TR::i2a
iu2lSimplifier, // TR::iu2l
iu2fSimplifier, // TR::iu2f
iu2dSimplifier, // TR::iu2d
i2aSimplifier, // TR::iu2a
l2iSimplifier, // TR::l2i
l2fSimplifier, // TR::l2f
l2dSimplifier, // TR::l2d
l2bSimplifier, // TR::l2b
l2sSimplifier, // TR::l2s
l2aSimplifier, // TR::l2a
lu2fSimplifier, // TR::lu2f
lu2dSimplifier, // TR::lu2d
l2aSimplifier, // TR::lu2a
#ifdef TR_HOST_X86
dftSimplifier, // TR::f2i
dftSimplifier, // TR::f2l
#else
f2iSimplifier,
f2lSimplifier,
#endif
f2dSimplifier, // TR::f2d
f2bSimplifier, // TR::f2b
f2sSimplifier, // TR::f2s
d2iSimplifier, // TR::d2i
d2lSimplifier, // TR::d2l
d2fSimplifier, // TR::d2f
d2bSimplifier, // TR::d2b
d2sSimplifier, // TR::d2s
b2iSimplifier, // TR::b2i
b2lSimplifier, // TR::b2l
b2fSimplifier, // TR::b2f
b2dSimplifier, // TR::b2d
b2sSimplifier, // TR::b2s
dftSimplifier, // TR::b2a todo
bu2iSimplifier, // TR::bu2i
bu2lSimplifier, // TR::bu2l
bu2fSimplifier, // TR::bu2f
bu2dSimplifier, // TR::bu2d
bu2sSimplifier, // TR::bu2s
dftSimplifier, // TR::bu2a todo
s2iSimplifier, // TR::s2i
s2lSimplifier, // TR::s2l
s2fSimplifier, // TR::s2f
s2dSimplifier, // TR::s2d
s2bSimplifier, // TR::s2b
dftSimplifier, // TR::s2a todo
su2iSimplifier, // TR::su2i
su2lSimplifier, // TR::su2l
su2fSimplifier, // TR::su2f
su2dSimplifier, // TR::su2d
dftSimplifier, // TR::su2a todo
a2iSimplifier, // TR::a2i
a2lSimplifier, // TR::a2l
dftSimplifier, // TR::a2b todo
dftSimplifier, // TR::a2s todo
icmpeqSimplifier, // TR::icmpeq
icmpneSimplifier, // TR::icmpne
icmpltSimplifier, // TR::icmplt
icmpgeSimplifier, // TR::icmpge
icmpgtSimplifier, // TR::icmpgt
icmpleSimplifier, // TR::icmple
dftSimplifier, // TR::iucmpeq
dftSimplifier, // TR::iucmpne
dftSimplifier, // TR::iucmplt
dftSimplifier, // TR::iucmpge
dftSimplifier, // TR::iucmpgt
dftSimplifier, // TR::iucmple
lcmpeqSimplifier, // TR::lcmpeq
lcmpneSimplifier, // TR::lcmpne
lcmpltSimplifier, // TR::lcmplt
lcmpgeSimplifier, // TR::lcmpge
lcmpgtSimplifier, // TR::lcmpgt
lcmpleSimplifier, // TR::lcmple
lcmpeqSimplifier, // TR::lucmpeq
lcmpneSimplifier, // TR::lucmpne
lucmpltSimplifier, // TR::lucmplt
lucmpgeSimplifier, // TR::lucmpge
lucmpgtSimplifier, // TR::lucmpgt
lucmpleSimplifier, // TR::lucmple
normalizeCmpSimplifier, // TR::fcmpeq
normalizeCmpSimplifier, // TR::fcmpne
normalizeCmpSimplifier, // TR::fcmplt
normalizeCmpSimplifier, // TR::fcmpge
normalizeCmpSimplifier, // TR::fcmpgt
normalizeCmpSimplifier, // TR::fcmple
normalizeCmpSimplifier, // TR::fcmpequ
normalizeCmpSimplifier, // TR::fcmpneu
normalizeCmpSimplifier, // TR::fcmpltu
normalizeCmpSimplifier, // TR::fcmpgeu
normalizeCmpSimplifier, // TR::fcmpgtu
normalizeCmpSimplifier, // TR::fcmpleu
normalizeCmpSimplifier, // TR::dcmpeq
normalizeCmpSimplifier, // TR::dcmpne
normalizeCmpSimplifier, // TR::dcmplt
normalizeCmpSimplifier, // TR::dcmpge
normalizeCmpSimplifier, // TR::dcmpgt
normalizeCmpSimplifier, // TR::dcmple
normalizeCmpSimplifier, // TR::dcmpequ
normalizeCmpSimplifier, // TR::dcmpneu
normalizeCmpSimplifier, // TR::dcmpltu
normalizeCmpSimplifier, // TR::dcmpgeu
normalizeCmpSimplifier, // TR::dcmpgtu
normalizeCmpSimplifier, // TR::dcmpleu
acmpeqSimplifier, // TR::acmpeq
acmpneSimplifier, // TR::acmpne
dftSimplifier, // TR::acmplt
dftSimplifier, // TR::acmpge
dftSimplifier, // TR::acmpgt
dftSimplifier, // TR::acmple
bcmpeqSimplifier, // TR::bcmpeq
bcmpneSimplifier, // TR::bcmpne
bcmpltSimplifier, // TR::bcmplt
bcmpgeSimplifier, // TR::bcmpge
bcmpgtSimplifier, // TR::bcmpgt
bcmpleSimplifier, // TR::bcmple
bcmpeqSimplifier, // TR::bucmpeq
bcmpneSimplifier, // TR::bucmpne
bcmpltSimplifier, // TR::bucmplt
bcmpgeSimplifier, // TR::bucmpge
bcmpgtSimplifier, // TR::bucmpgt
bcmpleSimplifier, // TR::bucmple
scmpeqSimplifier, // TR::scmpeq
scmpneSimplifier, // TR::scmpne
scmpltSimplifier, // TR::scmplt
scmpgeSimplifier, // TR::scmpge
scmpgtSimplifier, // TR::scmpgt
scmpleSimplifier, // TR::scmple
sucmpeqSimplifier, // TR::sucmpeq
sucmpneSimplifier, // TR::sucmpne
sucmpltSimplifier, // TR::sucmplt
sucmpgeSimplifier, // TR::sucmpge
sucmpgtSimplifier, // TR::sucmpgt
sucmpleSimplifier, // TR::sucmple
lcmpSimplifier, // TR::lcmp
dftSimplifier, // TR::fcmpl
dftSimplifier, // TR::fcmpg
dftSimplifier, // TR::dcmpl
dftSimplifier, // TR::dcmpg
ificmpeqSimplifier, // TR::ificmpeq
ificmpneSimplifier, // TR::ificmpne
ificmpltSimplifier, // TR::ificmplt
ificmpgeSimplifier, // TR::ificmpge
ificmpgtSimplifier, // TR::ificmpgt
ificmpleSimplifier, // TR::ificmple
ificmpeqSimplifier, // TR::ifiucmpeq
ificmpneSimplifier, // TR::ifiucmpne
ificmpltSimplifier, // TR::ifiucmplt
ificmpgeSimplifier, // TR::ifiucmpge
ificmpgtSimplifier, // TR::ifiucmpgt
ificmpleSimplifier, // TR::ifiucmple
iflcmpeqSimplifier, // TR::iflcmpeq
iflcmpneSimplifier, // TR::iflcmpne
iflcmpltSimplifier, // TR::iflcmplt
iflcmpgeSimplifier, // TR::iflcmpge
iflcmpgtSimplifier, // TR::iflcmpgt
iflcmpleSimplifier, // TR::iflcmple
iflcmpeqSimplifier, // TR::iflucmpeq
iflcmpneSimplifier, // TR::iflucmpne
iflcmpltSimplifier, // TR::iflucmplt
iflcmpgeSimplifier, // TR::iflucmpge
iflcmpgtSimplifier, // TR::iflucmpgt
iflcmpleSimplifier, // TR::iflucmple
normalizeCmpSimplifier, // TR::iffcmpeq
normalizeCmpSimplifier, // TR::iffcmpne
normalizeCmpSimplifier, // TR::iffcmplt
normalizeCmpSimplifier, // TR::iffcmpge
normalizeCmpSimplifier, // TR::iffcmpgt
normalizeCmpSimplifier, // TR::iffcmple
normalizeCmpSimplifier, // TR::iffcmpequ
normalizeCmpSimplifier, // TR::iffcmpneu
normalizeCmpSimplifier, // TR::iffcmpltu
normalizeCmpSimplifier, // TR::iffcmpgeu
normalizeCmpSimplifier, // TR::iffcmpgtu
normalizeCmpSimplifier, // TR::iffcmpleu
normalizeCmpSimplifier, // TR::ifdcmpeq
normalizeCmpSimplifier, // TR::ifdcmpne
normalizeCmpSimplifier, // TR::ifdcmplt
normalizeCmpSimplifier, // TR::ifdcmpge
normalizeCmpSimplifier, // TR::ifdcmpgt
normalizeCmpSimplifier, // TR::ifdcmple
normalizeCmpSimplifier, // TR::ifdcmpequ
normalizeCmpSimplifier, // TR::ifdcmpneu
normalizeCmpSimplifier, // TR::ifdcmpltu
normalizeCmpSimplifier, // TR::ifdcmpgeu
normalizeCmpSimplifier, // TR::ifdcmpgtu
normalizeCmpSimplifier, // TR::ifdcmpleu
ifacmpeqSimplifier, // TR::ifacmpeq
ifacmpneSimplifier, // TR::ifacmpne
dftSimplifier, // TR::ifacmplt
dftSimplifier, // TR::ifacmpge
dftSimplifier, // TR::ifacmpgt
dftSimplifier, // TR::ifacmple
ifCmpWithEqualitySimplifier, // TR::ifbcmpeq
ifCmpWithoutEqualitySimplifier, // TR::ifbcmpne
ifCmpWithoutEqualitySimplifier, // TR::ifbcmplt
ifCmpWithEqualitySimplifier, // TR::ifbcmpge
ifCmpWithoutEqualitySimplifier, // TR::ifbcmpgt
ifCmpWithEqualitySimplifier, // TR::ifbcmple
ifCmpWithEqualitySimplifier, // TR::ifbucmpeq
ifCmpWithoutEqualitySimplifier, // TR::ifbucmpne
ifCmpWithoutEqualitySimplifier, // TR::ifbucmplt
ifCmpWithEqualitySimplifier, // TR::ifbucmpge
ifCmpWithoutEqualitySimplifier, // TR::ifbucmpgt
ifCmpWithEqualitySimplifier, // TR::ifbucmple
ifCmpWithEqualitySimplifier, // TR::ifscmpeq
ifCmpWithoutEqualitySimplifier, // TR::ifscmpne
ifCmpWithoutEqualitySimplifier, // TR::ifscmplt
ifCmpWithEqualitySimplifier, // TR::ifscmpge
ifCmpWithoutEqualitySimplifier, // TR::ifscmpgt
ifCmpWithEqualitySimplifier, // TR::ifscmple
ifCmpWithEqualitySimplifier, // TR::ifsucmpeq
ifCmpWithoutEqualitySimplifier, // TR::ifsucmpne
ifCmpWithoutEqualitySimplifier, // TR::ifsucmplt
ifCmpWithEqualitySimplifier, // TR::ifsucmpge
ifCmpWithoutEqualitySimplifier, // TR::ifsucmpgt
ifCmpWithEqualitySimplifier, // TR::ifsucmple
dftSimplifier, // TR::loadaddr
lowerTreeSimplifier, // TR::ZEROCHK
lowerTreeSimplifier, // TR::callIf
dftSimplifier, // TR::iRegLoad
dftSimplifier, // TR::aRegLoad
dftSimplifier, // TR::lRegLoad
dftSimplifier, // TR::fRegLoad
dftSimplifier, // TR::dRegLoad
dftSimplifier, // TR::sRegLoad
dftSimplifier, // TR::bRegLoad
dftSimplifier, // TR::iRegStore
dftSimplifier, // TR::aRegStore
dftSimplifier, // TR::lRegStore
dftSimplifier, // TR::fRegStore
dftSimplifier, // TR::dRegStore
dftSimplifier, // TR::sRegStore
dftSimplifier, // TR::bRegStore
dftSimplifier, // TR::GlRegDeps
ternarySimplifier, // TR::iternary
ternarySimplifier, // TR::lternary
ternarySimplifier, // TR::bternary
ternarySimplifier, // TR::sternary
ternarySimplifier, // TR::aternary
ternarySimplifier, // TR::fternary
ternarySimplifier, // TR::dternary
treetopSimplifier, // TR::treetop
lowerTreeSimplifier, // TR::MethodEnterHook
lowerTreeSimplifier, // TR::MethodExitHook
passThroughSimplifier, // TR::PassThrough
anchorSimplifier, // TR::compressedRefs
dftSimplifier, // TR::BBStart
endBlockSimplifier, // TR::BBEnd
dftSimplifier, // TR::virem
dftSimplifier, // TR::vimin
dftSimplifier, // TR::vimax
dftSimplifier, // TR::vigetelem
dftSimplifier, // TR::visetelem
dftSimplifier, // TR::vimergel
dftSimplifier, // TR::vimergeh
dftSimplifier, // TR::vicmpeq
dftSimplifier, // TR::vicmpgt
dftSimplifier, // TR::vicmpge
dftSimplifier, // TR::vicmplt
dftSimplifier, // TR::vicmple
dftSimplifier, // TR::vicmpalleq
dftSimplifier, // TR::vicmpallne
dftSimplifier, // TR::vicmpallgt
dftSimplifier, // TR::vicmpallge
dftSimplifier, // TR::vicmpalllt
dftSimplifier, // TR::vicmpallle
dftSimplifier, // TR::vicmpanyeq
dftSimplifier, // TR::vicmpanyne
dftSimplifier, // TR::vicmpanygt
dftSimplifier, // TR::vicmpanyge
dftSimplifier, // TR::vicmpanylt
dftSimplifier, // TR::vicmpanyle
dftSimplifier, // TR::vnot
dftSimplifier, // TR::vselect
dftSimplifier, // TR::vperm
dftSimplifier, // TR::vsplats
dftSimplifier, // TR::vdmergel
dftSimplifier, // TR::vdmergeh
dftSimplifier, // TR::vdsetelem
dftSimplifier, // TR::vdgetelem
dftSimplifier, // TR::vdsel
dftSimplifier, // TR::vdrem
dftSimplifier, // TR::vdmadd
dftSimplifier, // TR::vdnmsub
dftSimplifier, // TR::vdmsub
dftSimplifier, // TR::vdmax
dftSimplifier, // TR::vdmin
normalizeCmpSimplifier, // TR::vdcmpeq
normalizeCmpSimplifier, // TR::vdcmpne
normalizeCmpSimplifier, // TR::vdcmpgt
normalizeCmpSimplifier, // TR::vdcmpge
normalizeCmpSimplifier, // TR::vdcmplt
normalizeCmpSimplifier, // TR::vdcmple
normalizeCmpSimplifier, // TR::vdcmpalleq
normalizeCmpSimplifier, // TR::vdcmpallne
normalizeCmpSimplifier, // TR::vdcmpallgt
normalizeCmpSimplifier, // TR::vdcmpallge
normalizeCmpSimplifier, // TR::vdcmpalllt
normalizeCmpSimplifier, // TR::vdcmpallle
normalizeCmpSimplifier, // TR::vdcmpanyeq
normalizeCmpSimplifier, // TR::vdcmpanyne
normalizeCmpSimplifier, // TR::vdcmpanygt
normalizeCmpSimplifier, // TR::vdcmpanyge
normalizeCmpSimplifier, // TR::vdcmpanylt
normalizeCmpSimplifier, // TR::vdcmpanyle
dftSimplifier, // TR::vdsqrt
dftSimplifier, // TR::vdlog
dftSimplifier, // TR::vinc
dftSimplifier, // TR::vdec
dftSimplifier, // TR::vneg
dftSimplifier, // TR::vcom
dftSimplifier, // TR::vadd
dftSimplifier, // TR::vsub
dftSimplifier, // TR::vmul
dftSimplifier, // TR::vdiv
dftSimplifier, // TR::vrem
dftSimplifier, // TR::vand
dftSimplifier, // TR::vor
dftSimplifier, // TR::vxor
dftSimplifier, // TR::vshl
dftSimplifier, // TR::vushr
dftSimplifier, // TR::vshr
dftSimplifier, // TR::vcmpeq
dftSimplifier, // TR::vcmpne
dftSimplifier, // TR::vcmplt
dftSimplifier, // TR::vucmplt
dftSimplifier, // TR::vcmpgt
dftSimplifier, // TR::vucmpgt
dftSimplifier, // TR::vcmple
dftSimplifier, // TR::vucmple
dftSimplifier, // TR::vcmpge
dftSimplifier, // TR::vucmpge
directLoadSimplifier, // TR::vload
indirectLoadSimplifier, // TR::vloadi
directStoreSimplifier, // TR::vstore
indirectStoreSimplifier, // TR::vstorei
dftSimplifier, // TR::vrand
dftSimplifier, // TR::vreturn
dftSimplifier, // TR::vcall
dftSimplifier, // TR::vcalli
dftSimplifier, // TR::vternary
v2vSimplifier, // TR::v2v
dftSimplifier, // TR::vl2vd
dftSimplifier, // TR::vconst
dftSimplifier, // TR::getvelem
vsetelemSimplifier, // TR::vsetelem
dftSimplifier, // TR::vbRegLoad
dftSimplifier, // TR::vsRegLoad
dftSimplifier, // TR::viRegLoad
dftSimplifier, // TR::vlRegLoad
dftSimplifier, // TR::vfRegLoad
dftSimplifier, // TR::vdRegLoad
dftSimplifier, // TR::vbRegStore
dftSimplifier, // TR::vsRegStore
dftSimplifier, // TR::viRegStore
dftSimplifier, // TR::vlRegStore
dftSimplifier, // TR::vfRegStore
dftSimplifier, // TR::vdRegStore
constSimplifier, // TR::iuconst
lconstSimplifier, // TR::luconst
constSimplifier, // TR::buconst
directLoadSimplifier, // TR::iuload
directLoadSimplifier, // TR::luload
directLoadSimplifier, // TR::buload
indirectLoadSimplifier, // TR::iuloadi
indirectLoadSimplifier, // TR::luloadi
indirectLoadSimplifier, // TR::buloadi
directStoreSimplifier, // TR::iustore
lstoreSimplifier, // TR::lustore
dftSimplifier, // TR::bustore
indirectStoreSimplifier, // TR::iustorei
indirectStoreSimplifier, // TR::lustorei
indirectStoreSimplifier, // TR::bustorei
dftSimplifier, // TR::iureturn
dftSimplifier, // TR::lureturn
ifdCallSimplifier, // TR::iucall
lcallSimplifier, // TR::lucall
iaddSimplifier, // TR::iuadd
laddSimplifier, // TR::luadd
baddSimplifier, // TR::buadd
isubSimplifier, // TR::iusub
lsubSimplifier, // TR::lusub
bsubSimplifier, // TR::busub
inegSimplifier, // TR::iuneg
lnegSimplifier, // TR::luneg
ishlSimplifier, // TR::iushl
lshlSimplifier, // TR::lushl
f2iSimplifier, // TR::f2iu
f2lSimplifier, // TR::f2iu
f2bSimplifier, // TR::f2bu
f2cSimplifier, // TR::f2c
d2iSimplifier, // TR::d2iu
d2lSimplifier, // TR::d2lu
d2bSimplifier, // TR::d2bu
d2cSimplifier, // TR::d2c
dftSimplifier, // TR::iuRegLoad
dftSimplifier, // TR::luRegLoad
dftSimplifier, // TR::iuRegStore
dftSimplifier, // TR::luRegStore
ternarySimplifier, // TR::suternary
constSimplifier, // TR::cconst
directLoadSimplifier, // TR::cload
indirectLoadSimplifier, // TR::cloadi
dftSimplifier, // TR::cstore
indirectStoreSimplifier, // TR::cstorei
dftSimplifier, // TR::monent
dftSimplifier, // TR::monexit
dftSimplifier, // TR::monexitfence
dftSimplifier, // TR::tstart
dftSimplifier, // TR::tfinish
dftSimplifier, // TR::tabort
dftSimplifier, // TR::instanceof
checkcastSimplifier, // TR::checkcast
checkcastAndNULLCHKSimplifier, // TR::checkcastAndNULLCHK
NewSimplifier, // TR::New
dftSimplifier, // TR::newvalue
dftSimplifier, // TR::newarray
dftSimplifier, // TR::anewarray
variableNewSimplifier, // TR::variableNew
variableNewSimplifier, // TR::variableNewArray
dftSimplifier, // TR::multianewarray
arrayLengthSimplifier, // TR::arraylength
arrayLengthSimplifier, // TR::contigarraylength
arrayLengthSimplifier, // TR::discontigarraylength
dftSimplifier, // TR::icalli
dftSimplifier, // TR::iucalli
dftSimplifier, // TR::lcalli
dftSimplifier, // TR::lucalli
dftSimplifier, // TR::fcalli
dftSimplifier, // TR::dcalli
dftSimplifier, // TR::acalli
dftSimplifier, // TR::calli
dftSimplifier, // TR::fence
dftSimplifier, // TR::luaddh
caddSimplifier, // TR::cadd
iaddSimplifier, // TR::aiadd
iaddSimplifier, // TR::aiuadd
laddSimplifier, // TR::aladd
laddSimplifier, // TR::aluadd
dftSimplifier, // TR::lusubh
csubSimplifier, // TR::csub
imulhSimplifier, // TR::imulh
dftSimplifier, // TR::iumulh
lmulhSimplifier, // TR::lmulh
lmulhSimplifier, // TR::lumulh
// cdivSimplifier, // TR::cdiv
// cremSimplifier, // TR::crem
// cshlSimplifier, // TR::cshl
// cushrSimplifier, // TR::cushr
ibits2fSimplifier, // TR::ibits2f
fbits2iSimplifier, // TR::fbits2i
lbits2dSimplifier, // TR::lbits2d
dbits2lSimplifier, // TR::dbits2l
lookupSwitchSimplifier, // TR::lookup
dftSimplifier, // TR::trtLookup
dftSimplifier, // TR::Case
tableSwitchSimplifier, // TR::table
dftSimplifier, // TR::exceptionRangeFence
dftSimplifier, // TR::dbgFence
nullchkSimplifier, // TR::NULLCHK
dftSimplifier, // TR::ResolveCHK
dftSimplifier, // TR::ResolveAndNULLCHK
divchkSimplifier, // TR::DIVCHK
dftSimplifier, // TR::OverflowCHK
dftSimplifier, // TR::UnsignedOverflowCHK
bndchkSimplifier, // TR::BNDCHK
arraycopybndchkSimplifier, // TR::ArrayCopyBNDCHK
bndchkwithspinechkSimplifier, // TR::BNDCHKwithSpineCHK
dftSimplifier, // TR::SpineCHK
dftSimplifier, // TR::ArrayStoreCHK
dftSimplifier, // TR::ArrayCHK
dftSimplifier, // TR::Ret
dftSimplifier, // TR::arraycopy
arraysetSimplifier, // TR::arrayset
dftSimplifier, // TR::arraytranslate
dftSimplifier, // TR::arraytranslateAndTest
dftSimplifier, // TR::long2String
bitOpMemSimplifier, // TR::bitOpMem
bitOpMemNDSimplifier, // TR::bitOpMemND
dftSimplifier, // TR::arraycmp
arrayCmpWithPadSimplifier, // TR::arraycmpWithPad
dftSimplifier, // TR::allocationFence
dftSimplifier, // TR::loadFence
dftSimplifier, // TR::storeFence
dftSimplifier, // TR::fullFence
dftSimplifier, // TR::MergeNew
computeCCSimplifier, // TR::computeCC
dftSimplifier, // TR::butest
dftSimplifier, // TR::sutest
bucmpSimplifier, // TR::bucmp
bcmpSimplifier, // TR::bcmp
sucmpSimplifier, // TR::sucmp
scmpSimplifier, // TR::scmp
iucmpSimplifier, // TR::iucmp
icmpSimplifier, // TR::icmp
lucmpSimplifier, // TR::lucmp
ifxcmpoSimplifier, // TR::ificmpo
ifxcmpoSimplifier, // TR::ificmpno
ifxcmpoSimplifier, // TR::iflcmpo
ifxcmpoSimplifier, // TR::iflcmpno
ifxcmnoSimplifier, // TR::ificmno
ifxcmnoSimplifier, // TR::ificmnno
ifxcmnoSimplifier, // TR::iflcmno
ifxcmnoSimplifier, // TR::iflcmnno
iaddSimplifier, // TR::iuaddc
laddSimplifier, // TR::luaddc
isubSimplifier, // TR::iusubb
lsubSimplifier, // TR::lusubb
dftSimplifier, // TR::icmpset
dftSimplifier, // TR::lcmpset
dftSimplifier, // TR::btestnset
dftSimplifier, // TR::ibatomicor
dftSimplifier, // TR::isatomicor
dftSimplifier, // TR::iiatomicor
dftSimplifier, // TR::ilatomicor
expSimplifier, // TR::dexp
dftSimplifier, // TR::branch
dftSimplifier, // TR::igoto
dftSimplifier, // TR::bexp
dftSimplifier, // TR::buexp
dftSimplifier, // TR::sexp
dftSimplifier, // TR::cexp
dftSimplifier, // TR::iexp
dftSimplifier, // TR::iuexp
dftSimplifier, // TR::lexp
dftSimplifier, // TR::luexp
expSimplifier, // TR::fexp
expSimplifier, // TR::fuexp
expSimplifier, // TR::duexp
dftSimplifier, // TR::ixfrs
dftSimplifier, // TR::lxfrs
dftSimplifier, // TR::fxfrs
dftSimplifier, // TR::dxfrs
dftSimplifier, // TR::fint
dftSimplifier, // TR::dint
dftSimplifier, // TR::fnint
dftSimplifier, // TR::dnint
fsqrtSimplifier, // TR::fsqrt
dsqrtSimplifier, // TR::dsqrt
dftSimplifier, // TR::getstack
dftSimplifier, // TR::dealloca
dftSimplifier, // TR::ishfl
dftSimplifier, // TR::lshfl
dftSimplifier, // TR::iushfl
dftSimplifier, // TR::lushfl
dftSimplifier, // TR::bshfl
dftSimplifier, // TR::sshfl
dftSimplifier, // TR::bushfl
dftSimplifier, // TR::sushfl
dftSimplifier, // TR::idoz
dftSimplifier, // TR::dcos
dftSimplifier, // TR::dsin
dftSimplifier, // TR::dtan
dftSimplifier, // TR::dcosh
dftSimplifier, // TR::dsinh
dftSimplifier, // TR::dtanh
dftSimplifier, // TR::dacos
dftSimplifier, // TR::dasin
dftSimplifier, // TR::datan
dftSimplifier, // TR::datan2
dftSimplifier, // TR::dlog
dftSimplifier, // TR::dfloor
dftSimplifier, // TR::ffloor
dftSimplifier, // TR::dceil
dftSimplifier, // TR::fceil
dftSimplifier, // TR::ibranch
dftSimplifier, // TR::mbranch
dftSimplifier, // TR::getpm
dftSimplifier, // TR::setpm
dftSimplifier, // TR::loadAutoOffset
//#endif
imaxminSimplifier, // TR::imax
imaxminSimplifier, // TR::iumax
lmaxminSimplifier, // TR::lmax
lmaxminSimplifier, // TR::lumax
fmaxminSimplifier, // TR::fmax
dmaxminSimplifier, // TR::dmax
imaxminSimplifier, // TR::imin
imaxminSimplifier, // TR::iumin
lmaxminSimplifier, // TR::lmin
lmaxminSimplifier, // TR::lumin
fmaxminSimplifier, // TR::fmin
dmaxminSimplifier, // TR::dmin
dftSimplifier, // TR::trt
dftSimplifier, // TR::trtSimple
dftSimplifier, //TR::ihbit
dftSimplifier, //TR::ilbit
dftSimplifier, //TR::inolz
dftSimplifier, //TR::inotz
dftSimplifier, //TR::ipopcnt
dftSimplifier, //TR::lhbit
dftSimplifier, //TR::llbit
dftSimplifier, //TR::lnolz
dftSimplifier, //TR::lnotz
dftSimplifier, //TR::lpopcnt
dftSimplifier, // TR::ibyteswap
dftSimplifier, // TR::bbitpermute
dftSimplifier, // TR::sbitpermute
dftSimplifier, // TR::ibitpermute
dftSimplifier, // TR::lbitpermute
dftSimplifier, // TR::Prefetch
#endif