Clang TargetInfo
有一个名为import UIKit
import EVURLCache
class MainVC: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
override func viewDidLoad() {
super.viewDidLoad()
activityIndicator.startAnimating()
webView.delegate = self
let BASE_URL = "http://www.xeoscript.com/"
let url = URL(string: BASE_URL)
let request = URLRequest(url: url!)
webView.loadRequest(request)
}
func webViewDidFinishLoad(_ webView: UIWebView) {
activityIndicator.stopAnimating()
}
}
的方法:
以LLVM格式返回特定于目标的clobber字符串。
那么,什么是咒骂?
答案 0 :(得分:5)
被破坏的寄存器是一个被删除的寄存器,即由内联汇编程序以不可预测的方式进行修改。这通常发生在需要温度时。注册或使用特定指令,恰好将某些寄存器修改为副产品。
通常程序员明确声明由其内联asm代码破坏的寄存器,但有些可能被认为是默认情况下被破坏的,而getClobbers
就是在这里发挥作用。
getClobbers
为大多数目标返回空结果。关于MIPS GCC历来没有在生成的代码中使用$1
,所以大多数程序员都没有费心将它声明为破坏。为了降低可移植性成本,LLVM认为$1
总是在内联asm中被破坏。