comparison include/llvm/Pass.h @ 148:63bd29f05246

merged
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 14 Aug 2019 19:46:37 +0900
parents c2174574ed3a
children
comparison
equal deleted inserted replaced
146:3fc4d5c3e21e 148:63bd29f05246
1 //===- llvm/Pass.h - Base class for Passes ----------------------*- C++ -*-===// 1 //===- llvm/Pass.h - Base class for Passes ----------------------*- C++ -*-===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // 4 // See https://llvm.org/LICENSE.txt for license information.
5 // This file is distributed under the University of Illinois Open Source 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 // License. See LICENSE.TXT for details.
7 // 6 //
8 //===----------------------------------------------------------------------===// 7 //===----------------------------------------------------------------------===//
9 // 8 //
10 // This file defines a base class that indicates that a specified class is a 9 // This file defines a base class that indicates that a specified class is a
11 // transformation pass implementation. 10 // transformation pass implementation.
351 bool skipBasicBlock(const BasicBlock &BB) const; 350 bool skipBasicBlock(const BasicBlock &BB) const;
352 }; 351 };
353 352
354 /// If the user specifies the -time-passes argument on an LLVM tool command line 353 /// If the user specifies the -time-passes argument on an LLVM tool command line
355 /// then the value of this boolean will be true, otherwise false. 354 /// then the value of this boolean will be true, otherwise false.
356 /// @brief This is the storage for the -time-passes option. 355 /// This is the storage for the -time-passes option.
357 extern bool TimePassesIsEnabled; 356 extern bool TimePassesIsEnabled;
358
359 /// isFunctionInPrintList - returns true if a function should be printed via
360 // debugging options like -print-after-all/-print-before-all.
361 // @brief Tells if the function IR should be printed by PrinterPass.
362 extern bool isFunctionInPrintList(StringRef FunctionName);
363
364 /// forcePrintModuleIR - returns true if IR printing passes should
365 // be printing module IR (even for local-pass printers e.g. function-pass)
366 // to provide more context, as enabled by debugging option -print-module-scope
367 // @brief Tells if IR printer should be printing module IR
368 extern bool forcePrintModuleIR();
369 357
370 } // end namespace llvm 358 } // end namespace llvm
371 359
372 // Include support files that contain important APIs commonly used by Passes, 360 // Include support files that contain important APIs commonly used by Passes,
373 // but that we want to separate out to make it easier to read the header files. 361 // but that we want to separate out to make it easier to read the header files.