Add some constantness.
[oota-llvm.git] / include / llvm / Analysis / InstructionSimplify.h
index 06e443296761d0782be6dfb0a008aebf69e4a7ab..775d0df46c679a0a89fc603b0b468341a96ee50b 100644 (file)
@@ -1,4 +1,4 @@
-//===-- InstructionSimplify.h - Fold instructions into simpler forms ------===//
+//===-- InstructionSimplify.h - Fold instrs into simpler forms --*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
 // values. This will prevent other code from seeing the same undef uses and
 // resolving them to different values.
 //
+// These routines are designed to tolerate moderately incomplete IR, such as
+// instructions that are not connected to basic blocks yet. However, they do
+// require that all the IR that they encounter be valid. In particular, they
+// require that all non-constant values be defined in the same function, and the
+// same call context of that function (and not split between caller and callee
+// contexts of a directly recursive call, for example).
+//
 //===----------------------------------------------------------------------===//
 
 #ifndef LLVM_ANALYSIS_INSTRUCTIONSIMPLIFY_H