- 15 Jan, 2015 6 commits
-
-
Duncan P. N. Exon Smith authored
```--------------------------------------------------------------------- r226058 | dexonsmith | 2015-01-14 15:11:51 -0800 (Wed, 14 Jan 2015) | 1 line IR: Fix comment spelling, NFC ``` --------------------------------------------------------------------- llvm-svn: 226095
-
Duncan P. N. Exon Smith authored
```--------------------------------------------------------------------- r226048 | dexonsmith | 2015-01-14 14:27:36 -0800 (Wed, 14 Jan 2015) | 17 lines IR: Move MDLocation into place This commit moves `MDLocation`, finishing off PR21433. There's an accompanying clang commit for frontend testcases. I'll attach the testcase upgrade script I used to PR21433 to help out-of-tree frontends/backends. This changes the schema for `DebugLoc` and `DILocation` from: !{i32 3, i32 7, !7, !8} to: !MDLocation(line: 3, column: 7, scope: !7, inlinedAt: !8) Note that empty fields (line/column: 0 and inlinedAt: null) don't get printed by the assembly writer. ``` --------------------------------------------------------------------- llvm-svn: 226094 -
Duncan P. N. Exon Smith authored
```--------------------------------------------------------------------- r226049 | dexonsmith | 2015-01-14 14:28:03 -0800 (Wed, 14 Jan 2015) | 3 lines IR: Move MDLocation into place (clang testcases) Update testcases to match LLVM change in r226048. ``` --------------------------------------------------------------------- llvm-svn: 226093
-
Duncan P. N. Exon Smith authored
```--------------------------------------------------------------------- r226046 | dexonsmith | 2015-01-14 14:14:26 -0800 (Wed, 14 Jan 2015) | 3 lines IR: Always print MDLocation line Print `MDLocation`'s `line` field even when it's 0. ``` --------------------------------------------------------------------- llvm-svn: 226092
-
Duncan P. N. Exon Smith authored
```--------------------------------------------------------------------- r226044 | dexonsmith | 2015-01-14 13:58:17 -0800 (Wed, 14 Jan 2015) | 15 lines IR: Drop metadata references more aggressively during teardown Sometimes teardown happens before the debug info graph is complete (e.g., when clang throws an error). In that case, `MDNode`s will still have RAUW, so deleting constants that the `MDNode`s point at will be relatively expensive -- it'll cause re-uniquing all up the chain (what I've been referring to as "teardown madness"). So, drop references *before* deleting constants. We need to drop a few more references now: the metadata side of the metadata/value bridges needs to be dropped off the cliff along with the rest of it (previously, the bridges were cleaned before we did anything with the `MDNode`s). There's no real functionality change here -- state before and after `LLVMContextImpl::~LLVMContextImpl()` is unchanged -- so no testcase. ``` --------------------------------------------------------------------- llvm-svn: 226091
-
Duncan P. N. Exon Smith authored
```--------------------------------------------------------------------- r226029 | dexonsmith | 2015-01-14 11:56:10 -0800 (Wed, 14 Jan 2015) | 7 lines IR: Fix a use-after-free in RAUW Happened pretty commonly during `LLVMContext` teardown when `clang -g` hit an error. This fixes the use-after-free. Next I'll clean up teardown so that it's not RAUW'ing when metadata-tracked values are deleted (only really causes a problem if the graph is mid-construction when teardown starts, but it's still unnecessary work). ``` --------------------------------------------------------------------- llvm-svn: 226090
-
- 14 Jan, 2015 34 commits
-
-
Hans Wennborg authored
```--------------------------------------------------------------------- r226023 | majnemer | 2015-01-14 11:26:56 -0800 (Wed, 14 Jan 2015) | 3 lines InstCombine: Don't take A-B<0 into A<B if A-B has other uses This fixes PR22226. ``` --------------------------------------------------------------------- llvm-svn: 226059
-
Hans Wennborg authored
```--------------------------------------------------------------------- r226008 | hans | 2015-01-14 10:14:00 -0800 (Wed, 14 Jan 2015) | 1 line Update cxx_dr_status.html after 3.6 branch ``` --------------------------------------------------------------------- llvm-svn: 226050
-
Hans Wennborg authored
llvm-svn: 226021
-
Hans Wennborg authored
llvm-svn: 226020
-
Hans Wennborg authored
llvm-svn: 226002 llvm-svn: 226001 llvm-svn: 226000 llvm-svn: 225999 llvm-svn: 225998 llvm-svn: 225997 llvm-svn: 225996 llvm-svn: 225995 llvm-svn: 225993 llvm-svn: 225992
-
Sanjay Patel authored
llvm-svn: 225991
-
Saleem Abdulrasool authored
Use unwind.h to get the declarations for unwinding interfaces. This header is already provided by clang and gcc, so this adds no additional dependencies for building the builtins library. It avoids the duplication which may drift over time though. llvm-svn: 225990
-
Tom Stellard authored
This helps us avoid 'invalid register class for operand' verifier errors. llvm-svn: 225989
-
Tom Stellard authored
llvm-svn: 225988
-
Olivier Sallenave authored
llvm-svn: 225987
-
Viktor Kutuzov authored
Differential Revision: http://reviews.llvm.org/D6928 llvm-svn: 225986
-
Jonathan Roelofs authored
llvm-svn: 225985
-
Olivier Sallenave authored
Override the TLI callback enableAggressiveFMAFusion and return true. Indeed, fmul, fmadd and fadd nodes cost the same number of cycles, so we can enable more combining heuristics to produce more fmadd nodes. llvm-svn: 225984
-
Rafael Espindola authored
This can happen if: * It is present in a comdat in one file. * It is not present in the comdat of the file that is kept. * Is is not used. This should fix the LTO boostrap. Thanks to Takumi NAKAMURA for setting up the bot! llvm-svn: 225983
-
Daniel Jasper authored
Disable AlwaysBreakBeforeMultilineString, as the style guides don't really say to do so. llvm-svn: 225982
-
Daniel Sanders authored
Summary: This fixes MultiSource/Applications/lemon on big-endian N32 by correcting the handling of the argument to wait(). glibc defines it as a transparent union of void* and int*. Such unions are passed according to the rules of the first member so the argument must be passed as if it were a void* (sign extended from i32 to i64) and not as a union (shifted to the upper bits of an i64). wait() already behaves correctly on big-endian O32 and N64 since the union is already the same size as an argument slot. Reviewers: atanasyan Reviewed By: atanasyan Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6963 llvm-svn: 225981
-
Vladimir Medic authored
llvm-svn: 225980
-
Chandler Carruth authored
Sorry for the noise, I managed to miss a bunch of recent regressions of include orderings here. This should actually sort all the includes for Clang. Again, no functionality changed, this is just a mechanical cleanup that I try to run periodically to keep the #include lines as regular as possible across the project. llvm-svn: 225979
-
Chandler Carruth authored
This is just a mechanical cleanup, no functionality changed. This just fixes very minor inconsistencies with how #include lines were spaced and sorted in LLD. llvm-svn: 225978
-
Erik Eckstein authored
This speeds up the dependency calculations for blocks with many load/store/call instructions. Beside the improved runtime, there is no functional change. Compared to the original commit, this re-applied commit contains a bug fix which ensures that there are no incorrect collisions in the alias cache. llvm-svn: 225977
-
Chandler Carruth authored
No functionality changed, this is just a mechanical cleanup to keep the order of #include lines consistent across the project. llvm-svn: 225976
-
Chandler Carruth authored
No functionality changed, this is a purely mechanical cleanup to ensure the #include order remains consistent across the project. llvm-svn: 225975
-
Chandler Carruth authored
utils/sort_includes.py. I clearly haven't done this in a while, so more changed than usual. This even uncovered a missing include from the InstrProf library that I've added. No functionality changed here, just mechanical cleanup of the include order. llvm-svn: 225974
-
Daniel Jasper authored
Before: try (SomeResource rs = someFunction()) { Something(); } After: try (SomeResource rs = someFunction()) { Something(); } llvm-svn: 225973 -
Jyoti Allur authored
llvm-svn: 225972
-
Daniel Jasper authored
Before: boolean someFunction(@Param(aaaaaaaaaaaaaaaa) String aaaaa, String bbbbbbbbbbbbbbb) {} After: boolean someFunction( @Param(aaaaaaaaaaaaaaaa) String aaaaa, String bbbbbbbbbbbbbbb) {} llvm-svn: 225971 -
Chandler Carruth authored
Now that the passes are wrappers around this, we no longer need a vtable, virtual destructor, and other associated mess. This is particularly nice to me as this is a class template. =] llvm-svn: 225970
-
Chandler Carruth authored
This adds the domtree analysis to the new pass manager. The analysis returns the same DominatorTree result entity used by the old pass manager and essentially all of the code is shared. We just have different boilerplate for running and printing the analysis. I've converted one test to run in both modes just to make sure this is exercised while both are live in the tree. llvm-svn: 225969
-
Kai Nacke authored
This commit refines the pattern for the octeon seq/seqi/sne/snei instructions. The target register is set to 0 or 1 according to the result of the comparison. In C, this is something like rd = (unsigned long)(rs == rt) This commit adds a zext to bring the result to i64. With this change the instruction is selected for this type of code. (gcc produces the same code for the above C code.) llvm-svn: 225968
-
Vladimir Medic authored
llvm-svn: 225967
-
Chandler Carruth authored
into the new pass manager's analysis cache which stores results by-value. Technically speaking, the dom trees were originally not movable but copyable! This, unsurprisingly, didn't work at all -- the copy was shallow and just resulted in rampant memory corruption. This change explicitly forbids copying (as it would need to be a deep copy) and makes them explicitly movable with the unsurprising boiler plate to member-wise move them because we can't rely on MSVC to generate this code for us. =/ llvm-svn: 225966
-
Daniel Jasper authored
llvm-svn: 225965
-
Daniel Jasper authored
Before: @test ReturnType doSomething(String aaaaaaaaaaaaa, String bbbbbbbbbbbbbbb) {} After: @test ReturnType doSomething( String aaaaaaaaaaaaa, String bbbbbbbbbbbbbbb) {} llvm-svn: 225964
-
Daniel Jasper authored
Before: @SomeAnnotation (aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa) int i; After: @SomeAnnotation( aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa) int i; llvm-svn: 225963
-