Revision tags: llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1 |
|
#
1d12b885 |
| 26-Apr-2017 |
Adrian Prantl <aprantl@apple.com> |
Add support for DW_TAG_thrown_type.
For Swift we would like to be able to encode the error types that a function may throw, so the debugger can display them alongside the function's return value whe
Add support for DW_TAG_thrown_type.
For Swift we would like to be able to encode the error types that a function may throw, so the debugger can display them alongside the function's return value when finish-ing a function.
DWARF defines DW_TAG_thrown_type (intended to be used for C++ throw() declarations) that is a perfect fit for this purpose. This patch wires up support for DW_TAG_thrown_type in LLVM by adding a list of thrown types to DISubprogram.
To offset the cost of the extra pointer, there is a follow-up patch that turns DISubprogram into a variable-length node.
rdar://problem/29481673
Differential Revision: https://reviews.llvm.org/D32559
llvm-svn: 301489
show more ...
|
#
cd847a8f |
| 28-Mar-2017 |
Adam Nemet <anemet@apple.com> |
[IR] Add AllowContract to FastMathFlags
-ffp-contract=fast does not currently work with LTO because it's passed as a TargetOption to the backend rather than in the IR. This adds it to FastMathFlags.
[IR] Add AllowContract to FastMathFlags
-ffp-contract=fast does not currently work with LTO because it's passed as a TargetOption to the backend rather than in the IR. This adds it to FastMathFlags.
This is toward fixing PR25721
Differential Revision: https://reviews.llvm.org/D31164
llvm-svn: 298939
show more ...
|
#
4226a9f2 |
| 21-Mar-2017 |
Adam Nemet <anemet@apple.com> |
Make test more robust
Set the flags on FAdd locally rather than assuming nothing will change it from way earlier in the test.
llvm-svn: 298462
|
Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1 |
|
#
c7e51b14 |
| 12-Jan-2017 |
David Blaikie <dblaikie@gmail.com> |
Fix some -Wsign-compare warnings by making some integer literals explicitly unsigned
llvm-svn: 291776
|
#
96075718 |
| 12-Jan-2017 |
Amjad Aboud <amjad.aboud@intel.com> |
[DebugInfo] Added DI macro creation API to DIBuilder.
Differential Revision: https://reviews.llvm.org/D16077
llvm-svn: 291769
|
#
43c8b6b7 |
| 14-Dec-2016 |
Amjad Aboud <amjad.aboud@intel.com> |
[DebugInfo] Changed DIBuilder::createCompileUnit() to take DIFile instead of FileName and Directory. This way it will be easier to expand DIFile (e.g., to contain checksum) without the need to modify
[DebugInfo] Changed DIBuilder::createCompileUnit() to take DIFile instead of FileName and Directory. This way it will be easier to expand DIFile (e.g., to contain checksum) without the need to modify the createCompileUnit() API.
Reviewers: llvm-commits, rnk
Differential Revision: https://reviews.llvm.org/D27762
llvm-svn: 289702
show more ...
|
Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
#
40c6235b |
| 06-Sep-2016 |
Leny Kholodov <lkholodov@accesssoftek.com> |
Formatting with clang-format patch r280700
llvm-svn: 280716
|
#
5fcc4185 |
| 06-Sep-2016 |
Leny Kholodov <lkholodov@accesssoftek.com> |
DebugInfo: use strongly typed enum for debug info flags
Use ADT/BitmaskEnum for DINode::DIFlags for the following purposes:
Get rid of unsigned int for flags to avoid problems on platforms with siz
DebugInfo: use strongly typed enum for debug info flags
Use ADT/BitmaskEnum for DINode::DIFlags for the following purposes:
Get rid of unsigned int for flags to avoid problems on platforms with sizeof(int) < 4 Flags are now strongly typed Patch by: Victor Leschuk <vleschuk@gmail.com>
Differential Revision: https://reviews.llvm.org/D23766
llvm-svn: 280700
show more ...
|
#
3821b53b |
| 06-Sep-2016 |
Mehdi Amini <mehdi.amini@apple.com> |
Revert "DebugInfo: use strongly typed enum for debug info flags"
This reverts commit r280686, bots are broken.
llvm-svn: 280688
|
#
356d6b63 |
| 06-Sep-2016 |
Mehdi Amini <mehdi.amini@apple.com> |
DebugInfo: use strongly typed enum for debug info flags
Use ADT/BitmaskEnum for DINode::DIFlags for the following purposes: * Get rid of unsigned int for flags to avoid problems on platforms wit
DebugInfo: use strongly typed enum for debug info flags
Use ADT/BitmaskEnum for DINode::DIFlags for the following purposes: * Get rid of unsigned int for flags to avoid problems on platforms with sizeof(int) < 4 * Flags are now strongly typed
Patch by: Victor Leschuk <vleschuk@gmail.com>
Differential Revision: https://reviews.llvm.org/D23766
llvm-svn: 280686
show more ...
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1, llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
a757f766 |
| 13-Mar-2016 |
David Blaikie <dblaikie@gmail.com> |
Remove some unused variables
llvm-svn: 263396
|
#
ba9fba81 |
| 13-Mar-2016 |
Mehdi Amini <mehdi.amini@apple.com> |
Remove PreserveNames template parameter from IRBuilder
This reapplies r263258, which was reverted in r263321 because of issues on Clang side.
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 263
Remove PreserveNames template parameter from IRBuilder
This reapplies r263258, which was reverted in r263321 because of issues on Clang side.
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 263393
show more ...
|
#
62f6f5cc |
| 13-Mar-2016 |
Amjad Aboud <amjad.aboud@intel.com> |
Fixed DIBuilder to verify that same imported entity will not be added twice to the "imports" list of the DICompileUnit.
Differential Revision: http://reviews.llvm.org/D17884
llvm-svn: 263379
|
#
35abd051 |
| 12-Mar-2016 |
Eric Christopher <echristo@gmail.com> |
Temporarily revert:
commit ae14bf6488e8441f0f6d74f00455555f6f3943ac Author: Mehdi Amini <mehdi.amini@apple.com> Date: Fri Mar 11 17:15:50 2016 +0000
Remove PreserveNames template parameter fr
Temporarily revert:
commit ae14bf6488e8441f0f6d74f00455555f6f3943ac Author: Mehdi Amini <mehdi.amini@apple.com> Date: Fri Mar 11 17:15:50 2016 +0000
Remove PreserveNames template parameter from IRBuilder
Summary: Following r263086, we are now relying on a flag on the Context to discard Value names in release builds.
Reviewers: chandlerc
Subscribers: mzolotukhin, llvm-commits
Differential Revision: http://reviews.llvm.org/D18023
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@263258 91177308-0d34-0410-b5e6-96231b3b80d8
until we can figure out what to do about clang and Release build testing.
This reverts commit 263258.
llvm-svn: 263321
show more ...
|
#
99eab3dd |
| 11-Mar-2016 |
Mehdi Amini <mehdi.amini@apple.com> |
Remove PreserveNames template parameter from IRBuilder
Summary: Following r263086, we are now relying on a flag on the Context to discard Value names in release builds.
Reviewers: chandlerc
Subscr
Remove PreserveNames template parameter from IRBuilder
Summary: Following r263086, we are now relying on a flag on the Context to discard Value names in release builds.
Reviewers: chandlerc
Subscribers: mzolotukhin, llvm-commits
Differential Revision: http://reviews.llvm.org/D18023
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 263258
show more ...
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1 |
|
#
a252815b |
| 12-Jan-2016 |
Sanjay Patel <spatel@rotateright.com> |
function names start with a lower case letter ; NFC
llvm-svn: 257496
|
#
947cccb8 |
| 31-Dec-2015 |
Sanjay Patel <spatel@rotateright.com> |
add FMF for CreateCall variant
The version with OpBundles was missed in: http://reviews.llvm.org/rL255555
llvm-svn: 256674
|
#
fa54aced |
| 14-Dec-2015 |
Sanjay Patel <spatel@rotateright.com> |
add fast-math-flags to 'call' instructions (PR21290)
This patch adds optional fast-math-flags (the same that apply to fmul/fadd/fsub/fdiv/frem/fcmp) to call instructions in IR. Follow-up patches wou
add fast-math-flags to 'call' instructions (PR21290)
This patch adds optional fast-math-flags (the same that apply to fmul/fadd/fsub/fdiv/frem/fcmp) to call instructions in IR. Follow-up patches would use these flags in LibCallSimplifier, add support to clang, and extend FMF to the DAG for calls.
Motivating example:
%y = fmul fast float %x, %x %z = tail call float @sqrtf(float %y)
We'd like to be able to optimize sqrt(x*x) into fabs(x). We do this today using a function-wide attribute for unsafe-math, but we really want to trigger on the instructions themselves:
%z = tail call fast float @sqrtf(float %y)
because in an LTO build it's possible that calls with fast semantics have been inlined into a function with non-fast semantics.
The code changes and tests are based on the recent commits that added "notail": http://reviews.llvm.org/rL252368
and added FMF to fcmp: http://reviews.llvm.org/rL241901
Differential Revision: http://reviews.llvm.org/D14707
llvm-svn: 255555
show more ...
|
Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
d4bff303 |
| 05-Nov-2015 |
Peter Collingbourne <peter@pcc.me.uk> |
DI: Reverse direction of subprogram -> function edge.
Previously, subprograms contained a metadata reference to the function they described. Because most clients need to get or set a subprogram for
DI: Reverse direction of subprogram -> function edge.
Previously, subprograms contained a metadata reference to the function they described. Because most clients need to get or set a subprogram for a given function rather than the other way around, this created unneeded inefficiency.
For example, many passes needed to call the function llvm::makeSubprogramMap() to build a mapping from functions to subprograms, and the IR linker needed to fix up function references in a way that caused quadratic complexity in the IR linking phase of LTO.
This change reverses the direction of the edge by storing the subprogram as function-level metadata and removing DISubprogram's function field.
Since this is an IR change, a bitcode upgrade has been provided.
Fixes PR23367. An upgrade script for textual IR for out-of-tree clients is attached to the PR.
Differential Revision: http://reviews.llvm.org/D14265
llvm-svn: 252219
show more ...
|
#
c8925b18 |
| 20-Oct-2015 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
unittests: Remove implicit ilist iterator conversions, NFC
llvm-svn: 250843
|
#
bdafb3cd |
| 15-Oct-2015 |
Eric Christopher <echristo@gmail.com> |
Remove DIFile from createSubroutineType.
Patch by Amaury Sechet with a small modification by me.
llvm-svn: 250374
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1 |
|
#
88eb535b |
| 10-Jul-2015 |
James Molloy <james.molloy@arm.com> |
Add support for fast-math flags to the FCmp instruction.
FCmp behaves a lot like a floating-point binary operator in many ways, and can benefit from fast-math information. Flags such as nsz and nnan
Add support for fast-math flags to the FCmp instruction.
FCmp behaves a lot like a floating-point binary operator in many ways, and can benefit from fast-math information. Flags such as nsz and nnan can affect if this fcmp (in combination with a select) can be treated as a fminnum/fmaxnum operation.
This adds backwards-compatible bitcode support, IR parsing and writing, LangRef changes and IRBuilder changes. I'll need to audit InstSimplify and InstCombine in a followup to find places where flags should be copied.
llvm-svn: 241901
show more ...
|
#
afadf061 |
| 30-Jun-2015 |
Alexey Samsonov <vonosmas@gmail.com> |
Fix memory leak in unittest added in r241101.
llvm-svn: 241123
|
#
e5039b7b |
| 30-Jun-2015 |
Alexey Samsonov <vonosmas@gmail.com> |
[DebugInfo] Let IRBuilder::SetInsertPoint(BB::iterator) update current debug location.
IRBuilder::SetInsertPoint(BB, BB::iterator) is an older version of IRBuilder::SetInsertPoint(Instruction). Howe
[DebugInfo] Let IRBuilder::SetInsertPoint(BB::iterator) update current debug location.
IRBuilder::SetInsertPoint(BB, BB::iterator) is an older version of IRBuilder::SetInsertPoint(Instruction). However, the latter updates the current debug location of emitted instruction, while the former doesn't, which is confusing.
Unify the behavior of these methods: now they both set current debug location to the debug location of instruction at insertion point.
The callers of IRBuilder::SetInsertPoint(BB, BB::iterator) doesn't seem to depend on the old behavior (keeping the original debug info location). On the contrary, sometimes they (e.g. SCEV) *should* be updating debug info location, but don't. I'll look at gdb bots after the commit to check that we don't regress on debug info somewhere.
This change may make line table more fine-grained, thus increasing debug info size. I haven't observed significant increase, though: it varies from negligible to 0.3% on several binaries and self-hosted Clang.
This is yet another change targeted at resolving PR23837.
llvm-svn: 241101
show more ...
|
Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
94aed4fc |
| 19-Jun-2015 |
Tobias Grosser <tobias@grosser.es> |
IRBuilder: Add unit tests for construction of globals with address space
This was forgotten in r240113. Thanks Eric for paying attention.
llvm-svn: 240124
|