| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
engine.
The code that was supposed to split the tie in a deterministic way is
not deterministic. Most likely one of the profile methods uses a
pointer. After this change we do finally get the consistent diagnostic
output. Testing this requires running the analyzer on large code bases
and diffing the results.
llvm-svn: 161224
|
| |
|
|
| |
llvm-svn: 161223
|
| |
|
|
| |
llvm-svn: 161222
|
| |
|
|
| |
llvm-svn: 161221
|
| |
|
|
| |
llvm-svn: 161220
|
| |
|
|
|
|
| |
test files.
llvm-svn: 161219
|
| |
|
|
|
|
|
|
| |
Now that TableGen supports references to NAME w/o it being explicitly
referenced in the definition's own name, use that to simplify
assembly InstAlias definitions in multiclasses.
llvm-svn: 161218
|
| |
|
|
|
|
| |
separate flags.
llvm-svn: 161217
|
| |
|
|
|
|
| |
rdar://12000401
llvm-svn: 161216
|
| |
|
|
|
|
| |
templates.
llvm-svn: 161215
|
| |
|
|
|
|
|
|
|
| |
There's still more work to be done here; this doesn't catch reference
parameters or return values. But it's a step in the right direction.
Part of <rdar://problem/11212286>.
llvm-svn: 161214
|
| |
|
|
| |
llvm-svn: 161211
|
| |
|
|
| |
llvm-svn: 161209
|
| |
|
|
|
|
|
|
|
|
| |
Add more comments and use early returns to reduce nesting in isLoadFoldable.
Also disable folding for V_SET0 to avoid introducing a const pool entry and
a const pool load.
rdar://10554090 and rdar://11873276
llvm-svn: 161207
|
| |
|
|
| |
llvm-svn: 161206
|
| |
|
|
|
|
|
|
| |
yaml2obj takes a textual description of an object file in YAML format
and outputs the binary equivalent. This greatly simplifies writing
tests that take binary object files as input.
llvm-svn: 161205
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, def NAME values were only populated, and references to NAME
resolved, when NAME was referenced in the 'def' entry of the multiclass
sub-entry. e.g.,
multiclass foo<...> {
def prefix_#NAME : ...
}
It's useful, however, to be able to reference NAME even when the default
def name is used. For example, when a multiclass has 'def : Pat<...>'
or 'def : InstAlias<...>' entries which refer to earlier instruction
definitions in the same multiclass. e.g.,
multiclass myMulti<RegisterClass rc> {
def _r : myI<(outs rc:$d), (ins rc:$r), "r $d, $r", []>;
def : InstAlias<\"wilma $r\", (!cast<Instruction>(NAME#\"_r\") rc:$r, rc:$r)>;
}
llvm-svn: 161198
|
| |
|
|
|
|
|
|
|
|
|
| |
Whenever both instruction depths and instruction heights are known in a
block, it is possible to compute the length of the critical path as
max(depth+height) over the instructions in the block.
The stored live-in lists make it possible to accurately compute the
length of a critical path that bypasses the current (small) block.
llvm-svn: 161197
|
| |
|
|
|
|
|
|
|
|
| |
tm' in
__time_get_storage<char> to match the initialization behavior in
__time_get_storage<wchar>. Without the initialization, valgrind
reports errors in the subsequent calls to strftime_l.
llvm-svn: 161196
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
allocate two
integers which remain unused and are subsequently leaked, so the test
fail when run under valgrind. Unless I'm overlooking a subtle reason
why they are needed I think they can be removed, allowing these tests
to pass under valgrind. The attached patch removes the variables. If
there is a reason for them to exist, I can change this to just delete
them at the end of the test.
llvm-svn: 161195
|
| |
|
|
|
|
| |
// rdar://11913153
llvm-svn: 161194
|
| |
|
|
|
|
|
|
|
| |
tests so
that the valgrind configuration passed to lit.py is used to run .pass
tests.
llvm-svn: 161193
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linux are
localization/locale.categories/category.collate/category.ctype/locale.ctype.byname/is_1.pass.cpp
and scan_is.pass.cpp. The tests fail when the character class being
tested is compound, like ctype_base::alnum or ctype_base::graph,
because the existing series of conditionals in do_is an do_scan_is
will abort too early. For instance, if the character class being
tested is alnum, and the character is numeric, do_is will return false
because iswalpha_l will return false, 'result' becomes false, and the
'true' result from the later call to iswdigit_l ends up being ignored
. A similar problem exists in do_scan_is.
llvm-svn: 161192
|
| |
|
|
|
|
| |
of MipsTargetMachine.cpp.
llvm-svn: 161191
|
| |
|
|
|
|
|
| |
std::thread::hardware_concurrency for platforms that don't offer
sysctl, but do provide a POSIX sysconf and _SC_NPROCESSORS_ONLN.
llvm-svn: 161190
|
| |
|
|
|
|
| |
test o32_cc_vararg.ll.
llvm-svn: 161189
|
| |
|
|
|
|
|
|
|
| |
test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
to accept '(nil)' as a valid representation for NULL so that the test
passes on Linux. The same thing is already done in some other tests,
like in /test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp.
llvm-svn: 161188
|
| |
|
|
|
|
|
| |
objects used as dictionary subscript objects.
// rdar://11913153
llvm-svn: 161187
|
| |
|
|
| |
llvm-svn: 161186
|
| |
|
|
|
|
| |
an endless recursion with synthetic children
llvm-svn: 161185
|
| |
|
|
|
|
|
| |
Don't cause regunit intervals to be computed just to verify them. Only
check the already cached intervals.
llvm-svn: 161183
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LiveRangeEdit::eliminateDeadDefs() can delete a dead instruction that
reads unreserved physregs. This would leave the corresponding regunit
live interval dangling because we don't have shrinkToUses() for physical
registers.
Fix this problem by turning the instruction into a KILL instead of
deleting it. This happens in a landing pad in
test/CodeGen/X86/2012-05-19-CoalescerCrash.ll:
%vreg27<def,dead> = COPY %EDX<kill>; GR32:%vreg27
becomes:
KILL %EDX<kill>
An upcoming fix to the machine verifier will catch problems like this by
verifying regunit live intervals.
This fixes PR13498. I am not including the test case from the PR since
we already have one exposing the problem once the verifier is fixed.
llvm-svn: 161182
|
| |
|
|
| |
llvm-svn: 161181
|
| |
|
|
|
|
|
| |
This trivial helper function tests if a register contains a register
unit. It is similar to regsOverlap(), but with asymmetric arguments.
llvm-svn: 161180
|
| |
|
|
| |
llvm-svn: 161179
|
| |
|
|
| |
llvm-svn: 161178
|
| |
|
|
| |
llvm-svn: 161177
|
| |
|
|
|
|
|
|
| |
implemented DarwinSymbolizer for atos-based symbolization, BreakpadSymbolizer for breakpad-based symbolization (files produced by the dump_syms tool, http://code.google.com/p/google-breakpad/source/browse/#svn%2Ftrunk%2Fsrc%2Ftools%2Fmac%2Fdump_syms) and ChainSymbolizer to allow falling back if a symbolizer hadn't succeeded.
Fixed pylint warnings.
llvm-svn: 161176
|
| |
|
|
|
|
| |
Contributed by Brad Smith <brad@comstyle.com>
llvm-svn: 161175
|
| |
|
|
|
|
| |
Contributed by: Michael Kruse <MichaelKruse@meinersbur.de>
llvm-svn: 161174
|
| |
|
|
|
|
|
|
|
| |
in the default search path. Compilers on *BSD OS's only include /usr/include by
default.
Contributed by Brad Smith <brad@comstyle.com>
llvm-svn: 161173
|
| |
|
|
| |
llvm-svn: 161172
|
| |
|
|
|
|
| |
that is a pointer.
llvm-svn: 161171
|
| |
|
|
| |
llvm-svn: 161170
|
| |
|
|
| |
llvm-svn: 161169
|
| |
|
|
|
|
| |
pointer-to-function to pointer-to-object, so we use cast via integral type
llvm-svn: 161168
|
| |
|
|
|
|
|
|
| |
parameters even if zero bytes is copied, more accurate overlap check)
Fix the tests that were relying on the incorrect behavior.
llvm-svn: 161167
|
| |
|
|
| |
llvm-svn: 161166
|
| |
|
|
|
|
|
| |
Use "%clang_cc1" vs "not %clang_cc1" instead.
Also use -fsyntax-only.
llvm-svn: 161165
|
| |
|
|
| |
llvm-svn: 161164
|