private void checkConsistency() {
		entry("checkConsistency");
		ConsistencyChecker checker = new ConsistencyChecker(this, root, warnunnecessarypcode,
			warndeadtemps, largetemporarywarning);

		if (!checker.testSizeRestrictions()) {
			errors += 1;
			return;
		}
		if (!checker.testTruncations()) {
			errors += 1;
			return;
		}
		if ((!warnunnecessarypcode) && (checker.getNumUnnecessaryPcode() > 0)) {
			reportWarning(null, checker.getNumUnnecessaryPcode() +
				" unnecessary extensions/truncations were converted to copies");
			reportWarning(null, "Use -u switch to list each individually");
		}
		checker.optimizeAll();
		if (checker.getNumReadNoWrite() > 0) {
			errors += 1;
			return;
		}
		if ((!warndeadtemps) && (checker.getNumWriteNoRead() > 0)) {
			reportWarning(null, checker.getNumWriteNoRead() +
				" operations wrote to temporaries that were not read");
			reportWarning(null, "Use -t switch to list each individually");
		}
		checker.testLargeTemporary();
		if ((!largetemporarywarning) && checker.getNumLargeTemporaries() > 0) {
			reportWarning(null,
				checker.getNumLargeTemporaries() +
					" constructors contain temporaries larger than " + SleighBase.MAX_UNIQUE_SIZE +
					" bytes.");
			reportWarning(null, "Use -o switch to list each individually.");
		}
	}
<code>SleighCompile</code> provides the ability to compile Sleigh language module (e.g., *.slaspec)
files.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/pcodeCPort/slgh_compile/SleighCompile.java