Files
mercury/tests/hard_coded/packed_arg_partial_inst.exp
Zoltan Somogyi 1373b34a04 Do expansion and packing in the same pass.
compiler/ml_unify_gen.m:
    Expand double-word args and pack sub-word arguments in the same pass,
    initially for dynamically constructed cells only.

    Doing both in the same pass is a prerequisite for future improvements
    in argument packing schemes.

tests/hard_coded/packed_arg_partial_inst.{m,exp}:
    A new test case to test the packing of arguments when some of them
    have inst "free".

tests/hard_coded/Mmakefile:
    Enable the new test case.
2018-03-05 16:48:05 +11:00

49 lines
2.3 KiB
Plaintext

[struct(11, apple, yes, orange, no, pear, "abc")]
not found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)
[struct(22, apple, yes, orange, no, pear, "abc")]
not found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)
[struct(22, apple, no, orange, no, pear, "abc")]
not found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)
[struct(42, apple, yes, orange, no, pear, "abc")]
found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)
[struct(42, apple, yes, apple, no, pear, "abc")]
not found struct(42, _, yes, orange, _, _, _)
not found struct(_, _, _, orange, _, pear, _)
[struct(42, apple, no, orange, no, pear, "abc")]
not found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)
[struct(11, apple, yes, orange, no, pear, "abc"), struct(22, apple, yes, orange, no, pear, "abc")]
not found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)
[struct(11, apple, yes, orange, no, pear, "abc"), struct(22, apple, yes, orange, no, pear, "abc"), struct(22, apple, no, orange, no, pear, "abc")]
not found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)
[struct(11, apple, yes, orange, no, pear, "abc"), struct(22, apple, yes, orange, no, pear, "abc"), struct(22, apple, no, orange, no, pear, "abc"), struct(42, apple, yes, orange, no, pear, "abc")]
found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)
[struct(11, apple, yes, orange, no, pear, "abc"), struct(22, apple, yes, orange, no, pear, "abc"), struct(22, apple, no, orange, no, pear, "abc"), struct(42, apple, yes, apple, no, pear, "abc")]
not found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)
[struct(11, apple, yes, orange, no, pear, "abc"), struct(22, apple, yes, orange, no, pear, "abc"), struct(22, apple, no, orange, no, pear, "abc"), struct(42, apple, no, orange, no, pear, "abc")]
not found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)
[struct(11, apple, yes, orange, no, pear, "abc"), struct(42, apple, yes, orange, no, pear, "abc"), struct(42, apple, yes, apple, no, pear, "abc"), struct(42, apple, no, orange, no, pear, "abc")]
found struct(42, _, yes, orange, _, _, _)
found struct(_, _, _, orange, _, pear, _)