Home
last modified time | relevance | path

Searched refs:EFLAGS (Results 1 - 25 of 26) sorted by relevance

12

/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/X86/
H A DX86FlagsCopyLowering.cpp1 //====- X86FlagsCopyLowering.cpp - Lowers COPY nodes of EFLAGS ------------===//
10 /// Lowers COPY nodes of EFLAGS by directly extracting and preserving individual
14 /// copied EFLAGS register because there is no general way to rematerialize the
15 /// entire EFLAGS register safely and efficiently. Using `popf` both forces
68 STATISTIC(NumCopiesEliminated, "Number of copies of EFLAGS eliminated");
82 StringRef getPassName() const override { return "X86 EFLAGS copy lowering"; }
140 "X86 EFLAGS copy lowering", false, false)
142 "X86 EFLAGS copy lowering", false, false)
174 report_fatal_error("No support for lowering a copy into EFLAGS when used " in getMnemonicFromOpcode()
380 // viable locations for testing the original EFLAGS tha in runOnMachineFunction()
[all...]
H A DX86SpeculativeLoadHardening.cpp485 ZeroI->findRegisterDefOperand(X86::EFLAGS); in runOnMachineFunction()
487 "Must have an implicit def of EFLAGS!"); in runOnMachineFunction()
735 bool LiveEFLAGS = Succ.isLiveIn(X86::EFLAGS); in tracePredStateThroughCFG()
737 CheckingMBB.addLiveIn(X86::EFLAGS); in tracePredStateThroughCFG()
761 // If this is the last cmov and the EFLAGS weren't originally in tracePredStateThroughCFG()
764 CMovI->findRegisterUseOperand(X86::EFLAGS)->setIsKill(true); in tracePredStateThroughCFG()
1067 // We should never end up threading EFLAGS into a block to harden in tracePredStateThroughIndirectBranches()
1070 // reaching here, and the inserted block will handle the EFLAGS-based in tracePredStateThroughIndirectBranches()
1072 assert(!MBB.isLiveIn(X86::EFLAGS) && in tracePredStateThroughIndirectBranches()
1073 "Cannot check within a block that already has live-in EFLAGS!"); in tracePredStateThroughIndirectBranches()
[all...]
H A DX86CmovConversion.cpp17 /// 2. Given a group of CMOV instructions that are using the same EFLAGS def
21 /// jump per EFLAGS def instruction.
261 // CMOV instructions, in same MBB, that uses same EFLAGS def instruction. in collectCmovCandidates()
337 // Check if this instruction define EFLAGS, to determine end of processed in collectCmovCandidates()
338 // range, as there would be no more instructions using current EFLAGS def. in collectCmovCandidates()
339 if (I.definesRegister(X86::EFLAGS)) { in collectCmovCandidates()
567 if (MI->killsRegister(X86::EFLAGS)) in checkEFLAGSLive()
570 // The EFLAGS operand of MI might be missing a kill marker. in checkEFLAGSLive()
571 // Figure out whether EFLAGS operand should LIVE after MI instruction. in checkEFLAGSLive()
575 // Scan forward through BB for a use/def of EFLAGS in checkEFLAGSLive()
[all...]
H A DX86FixupSetCC.cpp70 if (MI.definesRegister(X86::EFLAGS)) in runOnMachineFunction()
95 if (FlagsDefMI->readsRegister(X86::EFLAGS)) in runOnMachineFunction()
H A DX86RegisterInfo.cpp612 // Check if the EFLAGS register is marked as live-out. This shouldn't happen, in adjustStackMapLiveOutMask()
613 // because the calling convention defines the EFLAGS register as NOT in adjustStackMapLiveOutMask()
616 // Unfortunatelly the EFLAGS show up as live-out after branch folding. Adding in adjustStackMapLiveOutMask()
619 assert(!(Mask[X86::EFLAGS / 32] & (1U << (X86::EFLAGS % 32))) && in adjustStackMapLiveOutMask()
620 "EFLAGS are not live-out from a patchpoint."); in adjustStackMapLiveOutMask()
623 for (auto Reg : {X86::EFLAGS, X86::RIP, X86::EIP, X86::IP}) in adjustStackMapLiveOutMask()
H A DX86ExpandPseudo.cpp107 if (!MBB->isLiveIn(X86::EFLAGS)) in ExpandICallBranchFunnel()
108 MBB->addLiveIn(X86::EFLAGS); in ExpandICallBranchFunnel()
H A DX86InstrInfo.cpp645 bool ClobbersEFLAGS = Orig.modifiesRegister(X86::EFLAGS, &TRI); in reMaterialize()
647 // The instruction clobbers EFLAGS. Re-materialize as MOV32ri to avoid side in reMaterialize()
671 /// True if MI has a condition code def, e.g. EFLAGS, that is not marked dead.
676 MO.getReg() == X86::EFLAGS && !MO.isDead()) { in hasLiveCondCodeDef()
2564 if (I->findRegisterUseOperand(X86::EFLAGS)->isUndef()) in AnalyzeBranchImpl()
2703 if (I->modifiesRegister(X86::EFLAGS, TRI)) { in analyzeBranchPredicate()
2708 if (I->readsRegister(X86::EFLAGS, TRI)) in analyzeBranchPredicate()
2717 if (Succ->isLiveIn(X86::EFLAGS)) in analyzeBranchPredicate()
3037 if (SrcReg == X86::EFLAGS || DestReg == X86::EFLAGS) { in copyPhysReg()
[all...]
H A DX86InstrInfo.h406 /// would clobber the EFLAGS condition register. Note the result may be
411 return MBB.computeRegisterLiveness(&RI, X86::EFLAGS, I, 4) == in isSafeToClobberEFLAGS()
415 /// True if MI has a condition code def, e.g. EFLAGS, that is
H A DX86FrameLowering.cpp220 if (Reg != X86::EFLAGS) in flagsNeedToBePreservedBeforeTheTerminators()
225 // EFLAGS is live-in of the region composed by the terminators. in flagsNeedToBePreservedBeforeTheTerminators()
241 if (Succ->isLiveIn(X86::EFLAGS)) in flagsNeedToBePreservedBeforeTheTerminators()
281 MI->getOperand(3).setIsDead(); // The EFLAGS implicit def is dead. in emitSPUpdate()
307 MI->getOperand(3).setIsDead(); // The EFLAGS implicit def is dead. in emitSPUpdate()
357 // We need to use LEA operations if EFLAGS is live in, because
359 UseLEA = STI.useLeaForSP() || MBB.isLiveIn(X86::EFLAGS);
389 MI->getOperand(3).setIsDead(); // The EFLAGS implicit def is dead.
803 .addReg(X86::EFLAGS, RegState::Define | RegState::Implicit);
871 // The EFLAGS implici
[all...]
H A DX86ISelLowering.cpp20564 static SDValue getSETCC(X86::CondCode Cond, SDValue EFLAGS, const SDLoc &dl,
20567 DAG.getTargetConstant(Cond, dl, MVT::i8), EFLAGS);
20742 // See if we can use the EFLAGS value from the operand instead of
20773 // Otherwise use a regular EFLAGS-setting instruction.
20908 // FUCOMI, which writes the comparison result to FPSW instead of EFLAGS. Hence
20909 // build an SDNode sequence that transfers the result from FPSW into EFLAGS:
21883 SDValue EFLAGS = Tmp.first;
21886 EFLAGS = ConvertCmpIfNecessary(EFLAGS, DAG);
21888 return EFLAGS;
[all...]
H A DX86InstructionSelector.cpp1106 BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(X86::COPY), X86::EFLAGS) in selectUadde()
1128 .addReg(X86::EFLAGS); in selectUadde()
H A DX86ISelDAGToDAG.cpp2730 // Only examine CopyToReg uses that copy to EFLAGS. in onlyUsesZeroFlag()
2732 cast<RegisterSDNode>(UI->getOperand(1))->getReg() != X86::EFLAGS) in onlyUsesZeroFlag()
2766 // Only examine CopyToReg uses that copy to EFLAGS. in hasNoSignFlagUses()
2768 cast<RegisterSDNode>(UI->getOperand(1))->getReg() != X86::EFLAGS) in hasNoSignFlagUses()
2826 // Only examine CopyToReg uses that copy to EFLAGS. in hasNoCarryFlagUses()
2827 if (cast<RegisterSDNode>(UI->getOperand(1))->getReg() != X86::EFLAGS) in hasNoCarryFlagUses()
2988 // the case where the EFLAGS on the original operation are used.
2995 // (implicit EFLAGS)]>;
2999 // (transferrable EFLAGS)]>;
3214 CurDAG->getCopyToReg(InputChain, SDLoc(Node), X86::EFLAGS, in foldLoadStoreIntoMemOperand()
[all...]
/third_party/musl/arch/x32/bits/
H A Dreg.h21 #define EFLAGS 18 macro
/third_party/musl/arch/x86_64/bits/
H A Dreg.h21 #define EFLAGS 18 macro
/third_party/libunwind/libunwind/src/x86/
H A Dunwind_i.h45 #define EFLAGS 9 macro
H A DGregs.c87 case UNW_X86_EFLAGS: loc = c->dwarf.loc[EFLAGS]; break; in tdep_access_reg()
H A DGget_save_loc.c48 case UNW_X86_EFLAGS: loc = c->dwarf.loc[EFLAGS]; break; in unw_get_save_loc()
H A Dinit.h42 c->dwarf.loc[EFLAGS] = DWARF_REG_LOC (&c->dwarf, UNW_X86_EFLAGS); in common_init()
H A DGos-linux.c133 c->dwarf.loc[EFLAGS] = DWARF_NULL_LOC; in x86_handle_signal_frame()
H A DGos-freebsd.c136 c->dwarf.loc[EFLAGS] = DWARF_LOC (uc_addr + FREEBSD_UC_MCONTEXT_EFLAGS_OFF, 0); in x86_handle_signal_frame()
/third_party/rust/crates/libc/src/fuchsia/
H A Dx86_64.rs139 pub const EFLAGS: ::c_int = 18; consts
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/X86/MCTargetDesc/
H A DX86MCTargetDesc.cpp114 {codeview::RegisterId::EFLAGS, X86::EFLAGS}, in initLLVMToSEHAndCVRegMapping()
/third_party/rust/crates/libc/src/unix/linux_like/android/b64/x86_64/
H A Dmod.rs754 pub const EFLAGS: ::c_int = 18; consts
/third_party/rust/crates/libc/src/unix/linux_like/linux/gnu/b64/x86_64/
H A Dmod.rs769 pub const EFLAGS: ::c_int = 18; consts
/third_party/rust/crates/libc/src/unix/linux_like/linux/musl/b64/x86_64/
H A Dmod.rs631 pub const EFLAGS: ::c_int = 18; consts

Completed in 56 milliseconds

12