PowerPC: CTR shouldn't fire if a TLS call is in the loop
authorDavid Majnemer <david.majnemer@gmail.com>
Sat, 27 Dec 2014 19:45:38 +0000 (19:45 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Sat, 27 Dec 2014 19:45:38 +0000 (19:45 +0000)
commitd0bcef204038b02271b94b0b40e6213a2e34d1da
treea6d84a5be34cb843590ddaaa5eba999b258a9407
parent4eb5c2e089218940cb8b9a8b0d26fed7ba39b89e
PowerPC: CTR shouldn't fire if a TLS call is in the loop

Determining the address of a TLS variable results in a function call in
certain TLS models.  This means that a simple ICmpInst might actually
result in invalidating the CTR register.

In such cases, do not attempt to rely on the CTR register for loop
optimization purposes.

This fixes PR22034.

Differential Revision: http://reviews.llvm.org/D6786

llvm-svn: 224890
llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
llvm/test/CodeGen/PowerPC/ctrloops.ll