[llvm-commits] [llvm] r37892 - /llvm/trunk/lib/Target/Target.td
Chris Lattner
clattner at apple.com
Thu Jul 5 09:09:30 PDT 2007
Hi Evan,
> +/// execute". If isOutput is true, then this is output operand.
I don't get it. What is an "output predicate"? I see you use this
in the arm backend:
+// Conditional code result for cmp, etc.
+//
+def cc_out : PredicateResultOperand<OtherVT, (ops CCR), (ops (i32
zero_reg))> {
let PrintMethod = "printPredicateOperand";
}
why not just have cmp have an implicit def of the flags? It seems
very very strange to me to have a "predicate" that is an output...
> /// If isImmutable
> +/// is true, then the operand should not change after instruction
> selection.
What does isImmutable mean? Can you give an example? Is this a
property of the target or a property of the codegen algorithms?
-Chris
More information about the llvm-commits
mailing list