Граф коммитов

1142 Коммитов

Автор SHA1 Сообщение Дата
Joseph Tremoulet ea96689c17 Merge pull request #991 from JosephTremoulet/Exclusions
Exclude four tests that are timing out
2016-01-02 15:54:22 -05:00
Joseph Tremoulet 4981b687dc Exclude four tests that are timing out
Timeouts seem to have started with a recent LLVM FI (Microsoft/llvm#127).
2016-01-02 00:04:20 -05:00
Joseph Tremoulet 69782c7c68 Merge pull request #989 from JosephTremoulet/Incremental
Pass extra argument to createMCObjectStreamer
2015-12-30 13:26:56 -05:00
Joseph Tremoulet d7d2385294 Pass extra argument to createMCObjectStreamer
LLVM change r256203 (git hash 56afa6e6) added the
IncrementalLinkerCompatible flag to createMCObjectStreamer.  Update our
usage to pass the conservative value, true.
2015-12-29 22:55:32 -05:00
Joseph Tremoulet e9956ab80b Merge pull request #968 from JosephTremoulet/NewRep
Update LLILC to generate new funclet EH IR
2015-12-29 19:17:37 -05:00
Joseph Tremoulet 4e5d0c5a88 Make four test exclusions unconditional
These stop passing under --eh with the change to the new funclet
representation.
2015-12-29 08:47:15 -05:00
Swaroop Sridhar 9efe7b2727 Merge pull request #979 from swaroop-sridhar/CoreDisAsmTools
Add CoreDisTools Library
2015-12-29 00:12:07 -08:00
Joseph Tremoulet 5a67a60540 Update LLILC to generate new funclet EH IR
LLVM has streamlined the representation for funclet-style EH somewhat, by
pulling the dispatch aspect of catchpad out into a separate catchswitch
instruction, and by explicitly annotating EH pads and calls/invokes with
operands indicating their enclosing EH pad, obviating the need for
endpads.

Update LLILC to generate catchswitch, emit the enclosing pad linkage, and
stop generating endpads.

Also update finally cloning accordingly.
2015-12-28 22:19:06 -05:00
Swaroop Sridhar 8b21462dca Add CoreDisTools Library
This change adds CoreDisTools -- a library containing
LLVM disassembly tools for CoreClr to LLILC repo.

Currently, the library supports instruction-wise
disassembly API required for implementing GcStress.
It also provides API for PrettyPrinting the
disassembled instructions.

coredistools.h -- the export/import header
coredistools.cpp -- the implementation as a wrapper around
    LLVM disassemblers to suite the required API.

This change also adds code to package the library into a
NuGet package.
2015-12-28 14:08:41 -08:00
Andy Ayers c7145c4018 Merge pull request #987 from AndyAyersMS/FixExclude-122415
Fix bad exclude syntax
2015-12-24 00:14:20 -08:00
Andy Ayers a29779ee34 Fix bad exclude syntax
Was causing the rolling CI to fail with skipped varargs methods.
2015-12-24 00:12:38 -08:00
Andy Ayers e207926601 Merge pull request #986 from AndyAyersMS/RefineExcludes-122115
Refine error classifications
2015-12-23 22:36:45 -08:00
Andy Ayers a8676dcc84 Refine error classifications
Started in on reclassifying the #970 errors. Some tests now pass, some pass with EH, others now have more specific issues to track why they fail. Still a bunch more to work through as well. Added two new #970 cases for tests that fail in the lab (with CHK) that I can't repro currently.

Also excluded a few varargs tests, so that for the tests that do run, LLILC does not skip any methods, and normalized all the varargs exclusions to reference dotnet/microsoft#1440.
2015-12-23 18:46:30 -08:00
Andy Ayers 41fabd48e1 Merge pull request #981 from richardlford/exclusions1223
Add exclusions for tests about to be added to CoreClr.
2015-12-23 13:30:27 -08:00
Richard L Ford d7717539d9 Add exclusions for tests about to be added to Coreclr.
A new batch of tests is about to be added to CoreClr.
This change adds exclusions for those that fail on
LLILC even though they pass on RyuJit.
Tests that fail without EH enabled for LLILC but that
pass with EH enabled are given issue #13.
The remainder are given issue #970 for later
triage.
2015-12-23 10:00:00 -08:00
Andy Ayers 6efaefa5e6 Merge pull request #978 from AndyAyersMS/ExcludeVarargs
Exclude some varargs tests, suppress popups in local testing
2015-12-16 21:22:54 -08:00
Andy Ayers 189727b6f5 Exclude some varargs tests, suppress popups in local testing
The "run" scripts will now suppress popups by default. To enable them in llilc_run, use `-x NoGuiOnAssert=0`
2015-12-16 12:57:42 -08:00
Andy Ayers 350010de98 Merge pull request #976 from AndyAyersMS/Exclude-12-16-15
Latest batch of excludes
2015-12-16 10:49:38 -08:00
Andy Ayers f9fe4cf5ae Latest batch of excludes
Still tagged using generic issue #970, will sort it out later.
2015-12-16 10:48:01 -08:00
Andy Ayers c404a6ab57 Merge pull request #973 from AndyAyersMS/NoPopup
Suppress error popups from asserts
2015-12-15 22:25:09 -08:00
Andy Ayers 7e377bf1ca Suppress error popups from asserts
We are seeing timeouts in the lab that seem likely to be caused by asserts raising error dialogs. Set COMPLUS_NoGuiOnAssert in our test environment and use this within LLILC to tell LLVM to generate a stack trace on assert, and tell the CRT we want all assert output to go to stderr instead.

Closes #584.
2015-12-15 18:54:11 -08:00
Andy Ayers 74f37a0e3b Merge pull request #974 from AndyAyersMS/HfaExcludes
Exclude failing HFA tests
2015-12-15 08:44:25 -08:00
Andy Ayers 060660aad8 Exclude failing HFA tests, also four new non-hfa excludes
Still using blanket reason #970, need triage.
2015-12-15 00:25:20 -08:00
Andy Ayers f289552cd4 Merge pull request #972 from AndyAyersMS/FixExcludes-121315v2
Exclude varargs tests, fix typos
2015-12-13 23:33:35 -08:00
Andy Ayers 390cc277f8 Exclude varargs tests, fix typos 2015-12-13 18:01:14 -08:00
Andy Ayers e288978d3b Merge pull request #971 from AndyAyersMS/Excludes-121315
Blanket exclude of new failing tests
2015-12-13 15:50:44 -08:00
Andy Ayers 480e9230a8 Blanket exclude of new failing tests
Exclude 347 new failing tests with generic failure reason. We can sort out why later.
2015-12-13 15:48:18 -08:00
Andy Ayers cbb4ab2305 Merge pull request #969 from AndyAyersMS/UpdateExcludes
Add excludes for new and refactored tests
2015-12-09 22:58:13 -08:00
Andy Ayers d320327d10 Add excludes for new and refactored tests
All these require EH. All but one pass with ExecuteHandlers set.

Closes #967.
2015-12-09 22:53:52 -08:00
Andy Ayers 52f8c6dac9 Merge pull request #966 from AndyAyersMS/SimdExcludes
Exclude SIMD tests that require EH
2015-12-08 17:12:36 -08:00
Andy Ayers 962fd1b1d7 Exclude SIMD tests that require EH
Anticipatory pending merge of dotnet\coreclr#2271. Note these fail even when ExecuteHandlers is set.
2015-12-08 17:05:19 -08:00
Richard L Ford 934221595c Merge pull request #965 from richardlford/exclusionsfor1203
Add exclusions for new coreclr tests failing on LLILC
2015-12-08 10:31:04 -08:00
Richard L Ford 6f3269b4cf Add exclusions for new coreclr tests failing on LLILC
Add exclusions corresponding to tests added to
coreclr on core PR #2220.

Tests that did not fail when LLILC EH was enabled
were put into the corresponding section of the
exclusion file.
2015-12-08 10:30:11 -08:00
Andy Ayers be5aabb75e Merge pull request #959 from AndyAyersMS/MoreExcludes
Update excludes to handle some renamed and adjusted tests
2015-12-05 21:57:15 -08:00
Andy Ayers 9d89ae1cf0 Update excludes to handle some renamed and adjusted tests
Recent CoreCLR changes added different build flavors, update excludes accordingly.

Also fix a formatting issue.
2015-12-05 21:54:23 -08:00
Andy Ayers bf72da2857 Merge pull request #958 from AndyAyersMS/HandleNullCheckMethodEntry
Always ask for the non-null entry point for a method
2015-12-05 00:26:42 -08:00
Andy Ayers 47d451494c Always ask for the any entry point for a method
We were seeing two different entry point addresses for some methods.

LLILC will insert an explicit null check for calls in the cases that require one, so always request the "any" entry point for a method. Otherwise we need to potentially) keep track of the two entry point addresses for each function, and make sure the right one is used at each call site.

This closes #957 and should also fix #951.
2015-12-04 15:58:41 -08:00
Andy Ayers 799ef7856b Merge pull request #956 from AndyAyersMS/TailCalls
Implement support for tail calls
2015-11-25 15:03:08 -08:00
Andy Ayers 07b2bcbad8 Implement support for tail calls
Closes #191.

Add the `tail` modifier to calls that satisfy correctness checks for tail calls (either explicit or implicit). This will enable LLVM to perform "sibling" call optimizations during lowering.

Do a very simplistic tracking of address-taken locals and args to screen out implicit tail call candidates. Do likewise with localloc. Both these need to be detected during the reader's first pass, so add suitable asserts.

Also start tracking unsafe locals, since they (and localloc) will inspire stack security protection checking (aka /GS) and will inhibit tail calls. We still don't actually do the checks (see #353).

Add logic to the ABI classifier so we can detect if we're introducing on-stack references for call lowerings and avoid tail calling in those cases too. This can also be made smarter (eg we might be able to copy-prop and use the values passed by the caller).

Have the jit options determine if the jit is optimizing and use the option setting in the code rather than checking the flags.

Remove existing NYI for explicit tail calls.

Verified by hand that the excluded tail call tests all now pass and seem to get most of the tail call cases the tests intended, so unexcluded them. Most "normal" bring up tests will create around 150 tail call sites so I think the new codegen gets pretty well tested.

Also verified all this works with EH enabled and GC enabled.
2015-11-25 12:18:08 -08:00
Andy Ayers 150fd96423 Merge pull request #954 from dotnet/ClangFormatTweak
Don't sort includes
2015-11-20 20:47:37 -08:00
Andy Ayers 3e6c768ffa Don't sort includes
Closes #953.

We might want to support this someday, but right now sorting includes per this rule breaks lots of stuff.
2015-11-20 19:06:48 -08:00
Andy Ayers c2a5acb631 Merge pull request #952 from AndyAyersMS/NoMoreChcp
We don't need to chcp anymore
2015-11-20 17:49:55 -08:00
Andy Ayers 91b3fad309 We don't need to chcp anymore
The issue in CoreFX that lead to us needing to run tests in code page 65001 is long since fixed. So remove the chcp from our test scripts and docs.

Closes #12.
2015-11-20 14:40:58 -08:00
kyulee1 8070f1fbc3 Merge pull request #950 from kyulee1/osx
Package spec for ObjectWriter on OSX

CI failure appears unrelated since this doesn't touch the source code so I merge it.
2015-11-20 13:13:19 -08:00
Kyungwoo Lee 9dacfb7545 Pacakge spec for ObjectWriter on OSX 2015-11-20 08:13:07 -08:00
Joseph Tremoulet 4699f38303 Merge pull request #949 from JosephTremoulet/PSPSym
Report PSPSym and WantReportOnlyLeaf to GC
2015-11-19 10:10:17 -08:00
Joseph Tremoulet 1ffba8ce90 Merge pull request #948 from JosephTremoulet/ExcludeStructInRegs
Exclude new coreclr test
2015-11-18 14:58:01 -08:00
Richard L Ford 296bf57c45 Merge pull request #946 from richardlford/excludetailcall
Exclude tests failing because of tail call.
2015-11-18 12:52:12 -08:00
Joseph Tremoulet 014ef2bc59 Exclude new coreclr test
JIT\Methodical\structs\systemvbringup\structinregs is a new test that
fails with LLILC.  Exclude it under issue 927 since it's testing similar
functionality as the test already excluded for that.
2015-11-18 11:07:39 -08:00
Andy Ayers ad61e81c84 Merge pull request #947 from AndyAyersMS/NoPYC
Ignore .pyc files
2015-11-18 10:56:53 -08:00