Chromium Code Reviews| Index: src/IceTargetLoweringX86BaseImpl.h |
| diff --git a/src/IceTargetLoweringX86BaseImpl.h b/src/IceTargetLoweringX86BaseImpl.h |
| index 0bf03ebf327a6e711dde47bcafe81514bca8d880..745e2b52e46df56d4c6eb6b92cdf296653697195 100644 |
| --- a/src/IceTargetLoweringX86BaseImpl.h |
| +++ b/src/IceTargetLoweringX86BaseImpl.h |
| @@ -6096,6 +6096,15 @@ void TargetX86Base<TraitsType>::lowerUnreachable( |
| } |
| template <typename TraitsType> |
| +void TargetX86Base<TraitsType>::lowerBreakpoint( |
| + const InstBreakpoint * /*Instr*/) { |
| + _int3(); |
| + // Add a fake use of esp to make sure esp adjustments after the breakpoint do |
| + // not get dead-code eliminated. |
| + keepEspLiveAtExit(); |
|
Jim Stichnoth
2016/04/14 20:03:44
I don't think this should be necessary. Can it be
Eric Holk
2016/04/15 15:24:27
Done.
I cargo-culted it from lowerUnreachable, so
|
| +} |
| + |
| +template <typename TraitsType> |
| void TargetX86Base<TraitsType>::lowerRMW(const InstX86FakeRMW *RMW) { |
| // If the beacon variable's live range does not end in this instruction, then |
| // it must end in the modified Store instruction that follows. This means |