Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: src/compiler/opcodes.h

Issue 2388313003: [turbofan] Introduces a step to verify the machine graph. (Closed)
Patch Set: Fix win build. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_COMPILER_OPCODES_H_ 5 #ifndef V8_COMPILER_OPCODES_H_
6 #define V8_COMPILER_OPCODES_H_ 6 #define V8_COMPILER_OPCODES_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 9
10 // Opcodes for control operators. 10 // Opcodes for control operators.
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 V(Int64LessThanOrEqual) \ 335 V(Int64LessThanOrEqual) \
336 V(Uint64LessThan) \ 336 V(Uint64LessThan) \
337 V(Uint64LessThanOrEqual) \ 337 V(Uint64LessThanOrEqual) \
338 V(Float32Equal) \ 338 V(Float32Equal) \
339 V(Float32LessThan) \ 339 V(Float32LessThan) \
340 V(Float32LessThanOrEqual) \ 340 V(Float32LessThanOrEqual) \
341 V(Float64Equal) \ 341 V(Float64Equal) \
342 V(Float64LessThan) \ 342 V(Float64LessThan) \
343 V(Float64LessThanOrEqual) 343 V(Float64LessThanOrEqual)
344 344
345 #define MACHINE_UNOP_32_LIST(V) \
346 V(Word32Clz) \
347 V(Word32Ctz) \
348 V(Word32ReverseBits) \
349 V(Word32ReverseBytes)
350
351 #define MACHINE_BINOP_32_LIST(V) \
352 V(Word32And) \
353 V(Word32Or) \
354 V(Word32Xor) \
355 V(Word32Shl) \
356 V(Word32Shr) \
357 V(Word32Sar) \
358 V(Word32Ror) \
359 V(Int32Add) \
360 V(Int32AddWithOverflow) \
361 V(Int32Sub) \
362 V(Int32SubWithOverflow) \
363 V(Int32Mul) \
364 V(Int32MulWithOverflow) \
365 V(Int32MulHigh) \
366 V(Int32Div) \
367 V(Int32Mod) \
368 V(Uint32Div) \
369 V(Uint32Mod) \
370 V(Uint32MulHigh)
371
372 #define MACHINE_BINOP_64_LIST(V) \
373 V(Word64And) \
374 V(Word64Or) \
375 V(Word64Xor) \
376 V(Word64Shl) \
377 V(Word64Shr) \
378 V(Word64Sar) \
379 V(Word64Ror) \
380 V(Int64Add) \
381 V(Int64AddWithOverflow) \
382 V(Int64Sub) \
383 V(Int64SubWithOverflow) \
384 V(Int64Mul) \
385 V(Int64Div) \
386 V(Int64Mod) \
387 V(Uint64Div) \
388 V(Uint64Mod)
389
390 #define MACHINE_FLOAT32_UNOP_LIST(V) \
391 V(Float32Abs) \
392 V(Float32Neg) \
393 V(Float32RoundDown) \
394 V(Float32RoundTiesEven) \
395 V(Float32RoundTruncate) \
396 V(Float32RoundUp) \
397 V(Float32Sqrt)
398
399 #define MACHINE_FLOAT32_BINOP_LIST(V) \
400 V(Float32Add) \
401 V(Float32Sub) \
402 V(Float32Mul) \
403 V(Float32Div) \
404 V(Float32Max) \
405 V(Float32Min)
406
407 #define MACHINE_FLOAT64_UNOP_LIST(V) \
408 V(Float64Abs) \
409 V(Float64Acos) \
410 V(Float64Acosh) \
411 V(Float64Asin) \
412 V(Float64Asinh) \
413 V(Float64Atan) \
414 V(Float64Atanh) \
415 V(Float64Cbrt) \
416 V(Float64Cos) \
417 V(Float64Cosh) \
418 V(Float64Exp) \
419 V(Float64Expm1) \
420 V(Float64Log) \
421 V(Float64Log1p) \
422 V(Float64Log10) \
423 V(Float64Log2) \
424 V(Float64Neg) \
425 V(Float64RoundDown) \
426 V(Float64RoundTiesAway) \
427 V(Float64RoundTiesEven) \
428 V(Float64RoundTruncate) \
429 V(Float64RoundUp) \
430 V(Float64Sin) \
431 V(Float64Sinh) \
432 V(Float64Sqrt) \
433 V(Float64Tan) \
434 V(Float64Tanh)
435
436 #define MACHINE_FLOAT64_BINOP_LIST(V) \
437 V(Float64Atan2) \
438 V(Float64Max) \
439 V(Float64Min) \
440 V(Float64Add) \
441 V(Float64Sub) \
442 V(Float64Mul) \
443 V(Float64Div) \
444 V(Float64Mod) \
445 V(Float64Pow)
446
345 #define MACHINE_OP_LIST(V) \ 447 #define MACHINE_OP_LIST(V) \
448 MACHINE_UNOP_32_LIST(V) \
449 MACHINE_BINOP_32_LIST(V) \
450 MACHINE_BINOP_64_LIST(V) \
346 MACHINE_COMPARE_BINOP_LIST(V) \ 451 MACHINE_COMPARE_BINOP_LIST(V) \
452 MACHINE_FLOAT32_BINOP_LIST(V) \
453 MACHINE_FLOAT32_UNOP_LIST(V) \
454 MACHINE_FLOAT64_BINOP_LIST(V) \
455 MACHINE_FLOAT64_UNOP_LIST(V) \
347 V(DebugBreak) \ 456 V(DebugBreak) \
348 V(Comment) \ 457 V(Comment) \
349 V(Load) \ 458 V(Load) \
350 V(Store) \ 459 V(Store) \
351 V(StackSlot) \ 460 V(StackSlot) \
352 V(Word32And) \
353 V(Word32Or) \
354 V(Word32Xor) \
355 V(Word32Shl) \
356 V(Word32Shr) \
357 V(Word32Sar) \
358 V(Word32Ror) \
359 V(Word32Clz) \
360 V(Word32Ctz) \
361 V(Word32ReverseBits) \
362 V(Word32ReverseBytes) \
363 V(Word32Popcnt) \ 461 V(Word32Popcnt) \
364 V(Word64Popcnt) \ 462 V(Word64Popcnt) \
365 V(Word64And) \
366 V(Word64Or) \
367 V(Word64Xor) \
368 V(Word64Shl) \
369 V(Word64Shr) \
370 V(Word64Sar) \
371 V(Word64Ror) \
372 V(Word64Clz) \ 463 V(Word64Clz) \
373 V(Word64Ctz) \ 464 V(Word64Ctz) \
374 V(Word64ReverseBits) \ 465 V(Word64ReverseBits) \
375 V(Word64ReverseBytes) \ 466 V(Word64ReverseBytes) \
376 V(Int32Add) \
377 V(Int32AddWithOverflow) \
378 V(Int32Sub) \
379 V(Int32SubWithOverflow) \
380 V(Int32Mul) \
381 V(Int32MulWithOverflow) \
382 V(Int32MulHigh) \
383 V(Int32Div) \
384 V(Int32Mod) \
385 V(Uint32Div) \
386 V(Uint32Mod) \
387 V(Uint32MulHigh) \
388 V(Int64Add) \
389 V(Int64AddWithOverflow) \
390 V(Int64Sub) \
391 V(Int64SubWithOverflow) \
392 V(Int64Mul) \
393 V(Int64Div) \
394 V(Int64Mod) \
395 V(Uint64Div) \
396 V(Uint64Mod) \
397 V(BitcastTaggedToWord) \ 467 V(BitcastTaggedToWord) \
398 V(BitcastWordToTagged) \ 468 V(BitcastWordToTagged) \
399 V(BitcastWordToTaggedSigned) \ 469 V(BitcastWordToTaggedSigned) \
400 V(TruncateFloat64ToWord32) \ 470 V(TruncateFloat64ToWord32) \
401 V(ChangeFloat32ToFloat64) \ 471 V(ChangeFloat32ToFloat64) \
402 V(ChangeFloat64ToInt32) \ 472 V(ChangeFloat64ToInt32) \
403 V(ChangeFloat64ToUint32) \ 473 V(ChangeFloat64ToUint32) \
404 V(Float64SilenceNaN) \ 474 V(Float64SilenceNaN) \
405 V(TruncateFloat64ToUint32) \ 475 V(TruncateFloat64ToUint32) \
406 V(TruncateFloat32ToInt32) \ 476 V(TruncateFloat32ToInt32) \
(...skipping 12 matching lines...) Expand all
419 V(RoundInt32ToFloat32) \ 489 V(RoundInt32ToFloat32) \
420 V(RoundInt64ToFloat32) \ 490 V(RoundInt64ToFloat32) \
421 V(RoundInt64ToFloat64) \ 491 V(RoundInt64ToFloat64) \
422 V(RoundUint32ToFloat32) \ 492 V(RoundUint32ToFloat32) \
423 V(RoundUint64ToFloat32) \ 493 V(RoundUint64ToFloat32) \
424 V(RoundUint64ToFloat64) \ 494 V(RoundUint64ToFloat64) \
425 V(BitcastFloat32ToInt32) \ 495 V(BitcastFloat32ToInt32) \
426 V(BitcastFloat64ToInt64) \ 496 V(BitcastFloat64ToInt64) \
427 V(BitcastInt32ToFloat32) \ 497 V(BitcastInt32ToFloat32) \
428 V(BitcastInt64ToFloat64) \ 498 V(BitcastInt64ToFloat64) \
429 V(Float32Add) \
430 V(Float32Sub) \
431 V(Float32Neg) \
432 V(Float32Mul) \
433 V(Float32Div) \
434 V(Float32Abs) \
435 V(Float32Sqrt) \
436 V(Float32RoundDown) \
437 V(Float32Max) \
438 V(Float32Min) \
439 V(Float64Add) \
440 V(Float64Sub) \
441 V(Float64Neg) \
442 V(Float64Mul) \
443 V(Float64Div) \
444 V(Float64Mod) \
445 V(Float64Max) \
446 V(Float64Min) \
447 V(Float64Abs) \
448 V(Float64Acos) \
449 V(Float64Acosh) \
450 V(Float64Asin) \
451 V(Float64Asinh) \
452 V(Float64Atan) \
453 V(Float64Atanh) \
454 V(Float64Atan2) \
455 V(Float64Cbrt) \
456 V(Float64Cos) \
457 V(Float64Cosh) \
458 V(Float64Exp) \
459 V(Float64Expm1) \
460 V(Float64Log) \
461 V(Float64Log1p) \
462 V(Float64Log10) \
463 V(Float64Log2) \
464 V(Float64Pow) \
465 V(Float64Sin) \
466 V(Float64Sinh) \
467 V(Float64Sqrt) \
468 V(Float64Tan) \
469 V(Float64Tanh) \
470 V(Float64RoundDown) \
471 V(Float32RoundUp) \
472 V(Float64RoundUp) \
473 V(Float32RoundTruncate) \
474 V(Float64RoundTruncate) \
475 V(Float64RoundTiesAway) \
476 V(Float32RoundTiesEven) \
477 V(Float64RoundTiesEven) \
478 V(Float64ExtractLowWord32) \ 499 V(Float64ExtractLowWord32) \
479 V(Float64ExtractHighWord32) \ 500 V(Float64ExtractHighWord32) \
480 V(Float64InsertLowWord32) \ 501 V(Float64InsertLowWord32) \
481 V(Float64InsertHighWord32) \ 502 V(Float64InsertHighWord32) \
482 V(LoadStackPointer) \ 503 V(LoadStackPointer) \
483 V(LoadFramePointer) \ 504 V(LoadFramePointer) \
484 V(LoadParentFramePointer) \ 505 V(LoadParentFramePointer) \
485 V(CheckedLoad) \ 506 V(CheckedLoad) \
486 V(CheckedStore) \ 507 V(CheckedStore) \
487 V(UnalignedLoad) \ 508 V(UnalignedLoad) \
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 } 782 }
762 }; 783 };
763 784
764 std::ostream& operator<<(std::ostream&, IrOpcode::Value); 785 std::ostream& operator<<(std::ostream&, IrOpcode::Value);
765 786
766 } // namespace compiler 787 } // namespace compiler
767 } // namespace internal 788 } // namespace internal
768 } // namespace v8 789 } // namespace v8
769 790
770 #endif // V8_COMPILER_OPCODES_H_ 791 #endif // V8_COMPILER_OPCODES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698