Add PassManagerBuilder.loop_vectorize property
This commit is contained in:
parent
edcef56f05
commit
10e83f306f
4 changed files with 51 additions and 1 deletions
|
|
@ -41,6 +41,7 @@ import llvm.core as core # module, function etc.
|
|||
import llvm._core as _core # C wrappers
|
||||
import llvm._util as _util # Utility functions
|
||||
|
||||
import warnings
|
||||
#===----------------------------------------------------------------------===
|
||||
# Pass manager builder
|
||||
#===----------------------------------------------------------------------===
|
||||
|
|
@ -89,6 +90,21 @@ class PassManagerBuilder(object):
|
|||
|
||||
vectorize = property(_get_vectorize, _set_vectorize)
|
||||
|
||||
def _set_loop_vectorize(self, enable):
|
||||
try:
|
||||
_core.LLVMPassManagerBuilderSetLoopVectorize(self.ptr,
|
||||
int(bool(enable)))
|
||||
except AttributeError:
|
||||
warnings.warn("Ignored. LLVM-3.1 & prior do not support loop vectorizer.")
|
||||
|
||||
def _get_loop_vectorize(self):
|
||||
try:
|
||||
return bool(_core.LLVMPassManagerBuilderGetLoopVectorize(self.ptr))
|
||||
except AttributeError:
|
||||
return False
|
||||
|
||||
loop_vectorize = property(_get_loop_vectorize, _set_loop_vectorize)
|
||||
|
||||
def _set_disable_unit_at_a_time(self, disable):
|
||||
return _core.LLVMPassManagerBuilderSetDisableUnitAtATime(
|
||||
self.ptr, disable)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue