diff options
| author | Akira Hatanaka <ahatanaka@apple.com> | 2014-09-20 01:31:09 +0000 |
|---|---|---|
| committer | Akira Hatanaka <ahatanaka@apple.com> | 2014-09-20 01:31:09 +0000 |
| commit | 416efb5f909e45f67ee81d382a708fc41666c5c6 (patch) | |
| tree | dd2f864444150562aa4002e6e377329aab82cd54 /llvm/lib/Target/X86/X86ISelLowering.cpp | |
| parent | f4dc456eef596bbc7ea281454f34c2dd80ddd2f3 (diff) | |
| download | bcm5719-llvm-416efb5f909e45f67ee81d382a708fc41666c5c6.tar.gz bcm5719-llvm-416efb5f909e45f67ee81d382a708fc41666c5c6.zip | |
Fix bugs in cpuid.h.
This commit makes two changes:
- Remove the push and pop instructions that were saving and restoring %ebx
before and after cpuid in 32-bit pic mode. We were doing this to ensure we
don't lose the GOT address in pic register %ebx, but this isn't necessary
because the GOT address is kept in a virtual register.
- In 64-bit mode, preserve base register %rbx around cpuid.
This fixes PR20311 and rdar://problem/17686779.
llvm-svn: 218173
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
0 files changed, 0 insertions, 0 deletions

