Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Side by Side Diff: src/IceTargetLowering.h

Issue 1214693004: ARM lowering integer divide and remainder, with div by 0 checks. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: review fixes Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/IceInstX8632.cpp ('k') | src/IceTargetLoweringARM32.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===- subzero/src/IceTargetLowering.h - Lowering interface -----*- C++ -*-===// 1 //===- subzero/src/IceTargetLowering.h - Lowering interface -----*- C++ -*-===//
2 // 2 //
3 // The Subzero Code Generator 3 // The Subzero Code Generator
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 // 9 //
10 // This file declares the TargetLowering, LoweringContext, and 10 // This file declares the TargetLowering, LoweringContext, and
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 const static constexpr char *H_call_setjmp = "setjmp"; 346 const static constexpr char *H_call_setjmp = "setjmp";
347 const static constexpr char *H_fptosi_f32_i64 = "__Sz_fptosi_f32_i64"; 347 const static constexpr char *H_fptosi_f32_i64 = "__Sz_fptosi_f32_i64";
348 const static constexpr char *H_fptosi_f64_i64 = "__Sz_fptosi_f64_i64"; 348 const static constexpr char *H_fptosi_f64_i64 = "__Sz_fptosi_f64_i64";
349 const static constexpr char *H_fptoui_4xi32_f32 = "__Sz_fptoui_4xi32_f32"; 349 const static constexpr char *H_fptoui_4xi32_f32 = "__Sz_fptoui_4xi32_f32";
350 const static constexpr char *H_fptoui_f32_i32 = "__Sz_fptoui_f32_i32"; 350 const static constexpr char *H_fptoui_f32_i32 = "__Sz_fptoui_f32_i32";
351 const static constexpr char *H_fptoui_f32_i64 = "__Sz_fptoui_f32_i64"; 351 const static constexpr char *H_fptoui_f32_i64 = "__Sz_fptoui_f32_i64";
352 const static constexpr char *H_fptoui_f64_i32 = "__Sz_fptoui_f64_i32"; 352 const static constexpr char *H_fptoui_f64_i32 = "__Sz_fptoui_f64_i32";
353 const static constexpr char *H_fptoui_f64_i64 = "__Sz_fptoui_f64_i64"; 353 const static constexpr char *H_fptoui_f64_i64 = "__Sz_fptoui_f64_i64";
354 const static constexpr char *H_frem_f32 = "fmodf"; 354 const static constexpr char *H_frem_f32 = "fmodf";
355 const static constexpr char *H_frem_f64 = "fmod"; 355 const static constexpr char *H_frem_f64 = "fmod";
356 const static constexpr char *H_sdiv_i32 = "__divsi3";
356 const static constexpr char *H_sdiv_i64 = "__divdi3"; 357 const static constexpr char *H_sdiv_i64 = "__divdi3";
357 const static constexpr char *H_sitofp_i64_f32 = "__Sz_sitofp_i64_f32"; 358 const static constexpr char *H_sitofp_i64_f32 = "__Sz_sitofp_i64_f32";
358 const static constexpr char *H_sitofp_i64_f64 = "__Sz_sitofp_i64_f64"; 359 const static constexpr char *H_sitofp_i64_f64 = "__Sz_sitofp_i64_f64";
360 const static constexpr char *H_srem_i32 = "__modsi3";
359 const static constexpr char *H_srem_i64 = "__moddi3"; 361 const static constexpr char *H_srem_i64 = "__moddi3";
362 const static constexpr char *H_udiv_i32 = "__udivsi3";
360 const static constexpr char *H_udiv_i64 = "__udivdi3"; 363 const static constexpr char *H_udiv_i64 = "__udivdi3";
361 const static constexpr char *H_uitofp_4xi32_4xf32 = "__Sz_uitofp_4xi32_4xf32"; 364 const static constexpr char *H_uitofp_4xi32_4xf32 = "__Sz_uitofp_4xi32_4xf32";
362 const static constexpr char *H_uitofp_i32_f32 = "__Sz_uitofp_i32_f32"; 365 const static constexpr char *H_uitofp_i32_f32 = "__Sz_uitofp_i32_f32";
363 const static constexpr char *H_uitofp_i32_f64 = "__Sz_uitofp_i32_f64"; 366 const static constexpr char *H_uitofp_i32_f64 = "__Sz_uitofp_i32_f64";
364 const static constexpr char *H_uitofp_i64_f32 = "__Sz_uitofp_i64_f32"; 367 const static constexpr char *H_uitofp_i64_f32 = "__Sz_uitofp_i64_f32";
365 const static constexpr char *H_uitofp_i64_f64 = "__Sz_uitofp_i64_f64"; 368 const static constexpr char *H_uitofp_i64_f64 = "__Sz_uitofp_i64_f64";
369 const static constexpr char *H_urem_i32 = "__umodsi3";
366 const static constexpr char *H_urem_i64 = "__umoddi3"; 370 const static constexpr char *H_urem_i64 = "__umoddi3";
367 371
368 private: 372 private:
369 int32_t SnapshotStackAdjustment = 0; 373 int32_t SnapshotStackAdjustment = 0;
370 }; 374 };
371 375
372 // TargetDataLowering is used for "lowering" data including initializers 376 // TargetDataLowering is used for "lowering" data including initializers
373 // for global variables, and the internal constant pools. It is separated 377 // for global variables, and the internal constant pools. It is separated
374 // out from TargetLowering because it does not require a Cfg. 378 // out from TargetLowering because it does not require a Cfg.
375 class TargetDataLowering { 379 class TargetDataLowering {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 virtual void lower() {} 418 virtual void lower() {}
415 419
416 protected: 420 protected:
417 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {} 421 explicit TargetHeaderLowering(GlobalContext *Ctx) : Ctx(Ctx) {}
418 GlobalContext *Ctx; 422 GlobalContext *Ctx;
419 }; 423 };
420 424
421 } // end of namespace Ice 425 } // end of namespace Ice
422 426
423 #endif // SUBZERO_SRC_ICETARGETLOWERING_H 427 #endif // SUBZERO_SRC_ICETARGETLOWERING_H
OLDNEW
« no previous file with comments | « src/IceInstX8632.cpp ('k') | src/IceTargetLoweringARM32.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698