Commit 31c8669
committed
[clang] Add clang::nooutline Attribute
This PR:
- Adds a `[[clang::nooutline]]` function attribute for C and C++. There
is no equivalent GNU syntax for this attribute, so no `__attribute__`
syntax.
- Uses the presence of `[[clang::nooutline]]` to add the `nooutline`
attribute to IR function definitions.
- Turns the `"nooutline"` attribute into an enum attribute (without
quotes), and adds an auto-upgrader for bitcode to make that same
change to existing IR.
- Adds test for the above.
The attribute is capable of disabling both the Machine Outliner (enabled
at Oz for some targets), and the IR Outliner (disabled by default).1 parent 53575e7 commit 31c8669
File tree
18 files changed
+78
-6
lines changed- clang
- include/clang/Basic
- lib/CodeGen
- test
- CodeGen
- Misc
- Sema
- llvm
- docs
- include/llvm
- Bitcode
- IR
- lib
- Bitcode
- Reader
- Writer
- CodeGen
- IR
- Transforms
- IPO
- Utils
- test
- Bitcode
- CodeGen/AArch64
- Transforms/IROutliner
18 files changed
+78
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2355 | 2355 | | |
2356 | 2356 | | |
2357 | 2357 | | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
2358 | 2365 | | |
2359 | 2366 | | |
2360 | 2367 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2820 | 2820 | | |
2821 | 2821 | | |
2822 | 2822 | | |
| 2823 | + | |
| 2824 | + | |
| 2825 | + | |
2823 | 2826 | | |
2824 | 2827 | | |
2825 | 2828 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
| 126 | + | |
126 | 127 | | |
127 | 128 | | |
128 | 129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2738 | 2738 | | |
2739 | 2739 | | |
2740 | 2740 | | |
2741 | | - | |
| 2741 | + | |
2742 | 2742 | | |
2743 | 2743 | | |
2744 | 2744 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
801 | 801 | | |
802 | 802 | | |
803 | 803 | | |
| 804 | + | |
804 | 805 | | |
805 | 806 | | |
806 | 807 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
207 | 207 | | |
208 | 208 | | |
209 | 209 | | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
210 | 213 | | |
211 | 214 | | |
212 | 215 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2257 | 2257 | | |
2258 | 2258 | | |
2259 | 2259 | | |
| 2260 | + | |
| 2261 | + | |
2260 | 2262 | | |
2261 | 2263 | | |
2262 | 2264 | | |
| |||
0 commit comments