diff options
author | Vincent Lejeune <vljn@ovi.com> | 2013-12-07 01:49:19 +0000 |
---|---|---|
committer | Vincent Lejeune <vljn@ovi.com> | 2013-12-07 01:49:19 +0000 |
commit | d254d3111e6a1b2dfc31bbfb3abb7cc589d5800b (patch) | |
tree | 27e61aee5fbf363bf04a434b4fabb0e30fc59a35 /docs | |
parent | 7c8fbdac728f104981880783cfb1857796b5e1a2 (diff) | |
download | llvm-d254d3111e6a1b2dfc31bbfb3abb7cc589d5800b.tar.gz llvm-d254d3111e6a1b2dfc31bbfb3abb7cc589d5800b.tar.bz2 llvm-d254d3111e6a1b2dfc31bbfb3abb7cc589d5800b.tar.xz |
Add a RequireStructuredCFG Field to TargetMachine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196634 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r-- | docs/WritingAnLLVMBackend.rst | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/WritingAnLLVMBackend.rst b/docs/WritingAnLLVMBackend.rst index 35a2d164a9..429f52a352 100644 --- a/docs/WritingAnLLVMBackend.rst +++ b/docs/WritingAnLLVMBackend.rst @@ -238,6 +238,12 @@ For some targets, you also need to support the following methods: * ``getTargetLowering()`` * ``getJITInfo()`` +Some architectures, such as GPUs, do not support jumping to an arbitrary +program location and implement branching using masked execution and loop using +special instructions around the loop body. In order to avoid CFG modifications +that introduce irreducible control flow not handled by such hardware, a target +must call `setRequiresStructuredCFG(true)` when being initialized. + In addition, the ``XXXTargetMachine`` constructor should specify a ``TargetDescription`` string that determines the data layout for the target machine, including characteristics such as pointer size, alignment, and |