- Jul 11, 2014
-
-
Mark Heffernan authored
Partially fix PR20058: reduce compile time for loop unrolling with very high count by reducing calls to SE->forgetLoop llvm-svn: 212782
-
Diego Novillo authored
This patch flips the default value for -gcolumn-info to be on by default. I discussed the rationale and provided compile/size data in: http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-June/074290.html This also updates the documentation and some tests that relied on the lack of column information. Some tests had column information in the expected output, but it was wrong (the tsan tests). Others were using the driver to execute. llvm-svn: 212781
-
Lang Hames authored
RuntimeDyldChecker. This allows us to remove one of the six remaining object files in the LLVM source tree. llvm-svn: 212780
-
Diego Novillo authored
This is a minor fix to two tsan tests that were expecting the wrong column information. Now that clang emits column information by default in its debugging output, the tests had started failing. llvm-svn: 212779
-
Lang Hames authored
The compiler often emits assembler-local labels (beginning with 'L') for use in relocation expressions, however these aren't included in the object files. Teach RuntimeDyldChecker to warn the user if they try to use one of these in an expression, since it will never work. llvm-svn: 212777
-
David Blaikie authored
Reapply "DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself." Committed in r212205 and reverted in r212226 due to msan self-hosting failure, I believe I've got that fixed by r212761 to Clang. Original commit message: "Originally committed in r211723, reverted in r211724 due to failure cases found and fixed (ArgumentPromotion: r211872, Inlining: r212065), committed again in r212085 and reverted again in r212089 after fixing some other cases, such as debug info subprogram lists not keeping track of the function they represent (r212128) and then short-circuiting things like LiveDebugVariables that build LexicalScopes for functions that might not have full debug info. And again, I believe the invariant actually holds for some reasonable amount of code (but I'll keep an eye on the buildbots and see what happens... ). Original commit message: PR20038: DebugInfo: Inlined call sites where the caller has debug info but the call itself has no debug location. This situation does bad things when inlined, so I've fixed Clang not to produce inlinable call sites without locations when the caller has debug info (in the one case where I could find that this occurred). This updates the PR20038 test case to be what clang now produces, and readds the assertion that had to be removed due to this bug. I've also beefed up the debug info verifier to help diagnose these issues in the future, and I hope to add checks to the inliner to just assert-fail if it encounters this situation. If, in the future, we decide we have to cope with this situation, the right thing to do is probably to just remove all the DebugLocs from the inlined instructions." llvm-svn: 212776
-
David Blaikie authored
llvm-svn: 212775
-
Richard Smith authored
llvm-svn: 212774
-
Jan Vesely authored
Use alg. from LegalizeDAG.cpp Move Expand setting to SIISellowering v2: Extend existing tests instead of creating new ones v3: use separate LowerFPTOSINT function v4: use TargetLowering::expandFP_TO_SINT add comment about using FP_TO_SINT for uints Signed-off-by:
Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by:
Tom Stellard <tom@stellard.net> llvm-svn: 212773
-
Jan Vesely authored
Move the code to a helper function to allow calls from TypeLegalizer. No functionality change intended Signed-off-by:
Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by:
Tom Stellard <tom@stellard.net> Reviewed-by:
Owen Anderson <resistor@mac.com> llvm-svn: 212772
-
Brad Smith authored
llvm-svn: 212771
-
Alexey Samsonov authored
Teach UBSan vptr checker to ignore technically invalud down-casts on blacklisted types. Based on http://reviews.llvm.org/D4407 by Byoungyoung Lee! llvm-svn: 212770
-
Zoran Jovanovic authored
instead of just one for FR=1 registers Differential Revision: http://reviews.llvm.org/D4310 llvm-svn: 212769
-
Dan Albert authored
llvm-svn: 212768
-
Alexey Samsonov authored
This would allow to call addCompilerUsedGlobal on some Clang-generated globals. llvm-svn: 212767
-
- Jul 10, 2014
-
-
Rui Ueyama authored
llvm-svn: 212766
-
Rui Ueyama authored
The resource table entry should have the RVA of the embedded resource file. llvm-svn: 212765
-
Richard Smith authored
value-initialization. llvm-svn: 212764
-
Rui Ueyama authored
Previously we invoked cvtres.exe for each compiled Windows resource file. The generated files were then concatenated and embedded to the executable. That was not the correct way to merge compiled Windows resource files. If you just concatenate generated files, only the first file would be recognized and the rest would be ignored as trailing garbage. The right way to merge them is to call cvtres.exe with multiple input files. In this patch we do that in the Windows driver. llvm-svn: 212763
-
Todd Fiala authored
The following intermittently-failing tests have been flipped from skip to XFAIL on some combo of Linux and MacOSX: TestCallStopAndContinue.py (Linux, MacOSX) TestCallWithTimeout.py (Linux) TestConvenienceVariables.py (Linux) TestStopHookMultipleThreads.py (Linux) The following new tests have been marked XFAIL but are just intermittently failing: TestMultipleDebug.py (definitely intermittent on MacOSX, not sure I've seen it pass yet on Linux) llvm-svn: 212762
-
David Blaikie authored
Originally committed in r211722, this fixed one case of dtor calls being emitted without locations (this causes problems for debug info if the call is then inlined), this caught only some of the cases. Instead of trying to re-enable the location before the cleanup, simply re-enable the location immediately after the unconditional branches in question using a scoped device to ensure the no-location state doesn't leak out arbitrarily. llvm-svn: 212761
-
Zachary Turner authored
Being in lldb\source, ${CMAKE_CURRENT_BINARY_DIR} would resolve to the build\tools\lldb\source directory. For correct operation, and parity with the shell script, it needs to resolve to the build\tools\lldb\scripts directory. llvm-svn: 212760
-
Zachary Turner authored
llvm-svn: 212759
-
Simon Atanasyan authored
llvm-svn: 212758
-
Ulrich Weigand authored
llvm-svn: 212757
-
Andrea Di Biagio authored
Add test cases where we don't expect to trigger the combine optimizations introduced at revision 212748. No functional change intended. llvm-svn: 212756
-
Tobias Grosser authored
llvm-svn: 212755
-
David Blaikie authored
llvm-svn: 212754
-
Ehsan Akhgari authored
Reviewers: hansw, rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4419 llvm-svn: 212753
-
David Blaikie authored
llvm-svn: 212752
-
Argyrios Kyrtzidis authored
[Driver/Unittests] Follow up for r212666, add unit test for the newly exposed getARMCPUForMArch() function. llvm-svn: 212751
-
Matt Arsenault authored
Don't try to convert the select condition type. llvm-svn: 212750
-
Alexey Samsonov authored
llvm-svn: 212749
-
Andrea Di Biagio authored
[DAG] Further improve the logic in DAGCombiner that folds a pair of shuffles into a single shuffle if the resulting mask is legal. This patch teaches the DAGCombiner how to fold shuffles according to the following new rules: 1. shuffle(shuffle(x, y), undef) -> x 2. shuffle(shuffle(x, y), undef) -> y 3. shuffle(shuffle(x, y), undef) -> shuffle(x, undef) 4. shuffle(shuffle(x, y), undef) -> shuffle(y, undef) The backend avoids to combine shuffles according to rules 3. and 4. if the resulting shuffle does not have a legal mask. This is to avoid introducing illegal shuffles that are potentially expanded into a sub-optimal sequence of target specific dag nodes during vector legalization. Added test case combine-vec-shuffle-2.ll to verify that we correctly triggers the new rules when combining shuffles. llvm-svn: 212748
-
Akira Hatanaka authored
Also, add a case clause in X86InstrInfo::shouldScheduleAdjacent to enable macro-fusion. <rdar://problem/15680770> llvm-svn: 212747
-
Eric Christopher authored
Patch by Matthew Gardiner with fixes by me. llvm-svn: 212745
-
Eric Christopher authored
passes in the mips back end. This, unfortunately, required a bit of churn in the various predicates to use a pointer rather than a reference. llvm-svn: 212744
-
Ulrich Weigand authored
This patch adds support for respecting the ABI and type alignment of aggregates passed by value. Currently, all aggregates are aligned at 8 bytes in the parameter save area. This is incorrect for two reasons: - Aggregates that need alignment of 16 bytes or more should be aligned at 16 bytes in the parameter save area. This is implemented by using an appropriate "byval align" attribute in the IR. - Aggregates that need alignment beyond 16 bytes need to be dynamically realigned by the caller. This is implemented by setting the Realign flag of the ABIArgInfo::getIndirect call. In addition, when expanding a va_arg call accessing a type that is aligned at 16 bytes in the argument save area (either one of the aggregate types as above, or a vector type which is already aligned at 16 bytes), code needs to align the va_list pointer accordingly. Reviewed by Hal Finkel. llvm-svn: 212743
-
Duncan P. N. Exon Smith authored
Fix a crash in `InstCombiner::Descale()` when a multiply-by-zero gets created as an argument to a GEP partway through an iteration, causing -instcombine to optimize the GEP before the multiply. rdar://problem/17615671 llvm-svn: 212742
-
Andy Gibbs authored
Allow diagnostic checks that originate in included files to be matched without necessarily determining the line number that the diagnostic occurs on. The new syntax replaces the line number with '*'. This extension is limited to diagnostics in included files and may be used where the include file is not part of the test-suite itself. Expected uses are for diagnostics originating in system headers, or for users who use -verify in testing 3rd-party library code where the location of diagnostics in header files may change from revision to revision and their precise location is not important to the success of the test-case. llvm-svn: 212735
-