| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
have a single point where targets test if a relocation is needed.
llvm-svn: 122549
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to compile "int cst[] = {-1, -1, -1};" into
movl $-1, 16(%rsp)
movq $-1, 8(%rsp)
instead of
movl _cst+8(%rip), %eax
movl %eax, 16(%rsp)
movq _cst(%rip), %rax
movq %rax, 8(%rsp)
llvm-svn: 122548
|
|
|
|
| |
llvm-svn: 122547
|
|
|
|
|
|
|
|
| |
SimpleSValBuilder. This clears up some
false positives emitted by ArrayBoundCheckerV2
due to the lack of support for pointer arithmetic.
llvm-svn: 122546
|
|
|
|
| |
llvm-svn: 122545
|
|
|
|
|
|
| |
scheduling node may have a NULL DAG node, yuck.
llvm-svn: 122544
|
|
|
|
| |
llvm-svn: 122543
|
|
|
|
| |
llvm-svn: 122542
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DAG scheduling during isel. Most new functionality is currently
guarded by -enable-sched-cycles and -enable-sched-hazard.
Added InstrItineraryData::IssueWidth field, currently derived from
ARM itineraries, but could be initialized differently on other targets.
Added ScheduleHazardRecognizer::MaxLookAhead to indicate whether it is
active, and if so how many cycles of state it holds.
Added SchedulingPriorityQueue::HasReadyFilter to allowing gating entry
into the scheduler's available queue.
ScoreboardHazardRecognizer now accesses the ScheduleDAG in order to
get information about it's SUnits, provides RecedeCycle for bottom-up
scheduling, correctly computes scoreboard depth, tracks IssueCount, and
considers potential stall cycles when checking for hazards.
ScheduleDAGRRList now models machine cycles and hazards (under
flags). It tracks MinAvailableCycle, drives the hazard recognizer and
priority queue's ready filter, manages a new PendingQueue, properly
accounts for stall cycles, etc.
llvm-svn: 122541
|
|
|
|
| |
llvm-svn: 122540
|
|
|
|
| |
llvm-svn: 122539
|
|
|
|
|
|
| |
though it doesn't know what it is, and complains about invalid tokens ;/.
llvm-svn: 122538
|
|
|
|
| |
llvm-svn: 122537
|
|
|
|
|
|
|
|
| |
SourceManager::isBeforeInTranslationUnit().
Fixes rdar://8790245 and http://llvm.org/PR8821.
llvm-svn: 122536
|
|
|
|
|
|
|
| |
on array and function declarators. This is pretty far from complete, and I'll
revisit it later if someone doesn't beat me to it.
llvm-svn: 122535
|
|
|
|
|
|
|
|
| |
caused an assertion when dealing with non-type template parameter
packs. Add some tests for deduction and instantiation of non-type
template parameter packs.
llvm-svn: 122534
|
|
|
|
| |
llvm-svn: 122533
|
|
|
|
|
|
|
|
| |
extract the appropriate argument from the argument pack (based on the
current substitution index, of course). Simple instantiation of pack
expansions involving non-type template parameter packs now works.
llvm-svn: 122532
|
|
|
|
|
|
|
| |
preprocessed .s files and matches darwin gas. rdar://8798690
Also fix a comment on the next line of AsmParser.cpp after this new code.
llvm-svn: 122531
|
|
|
|
| |
llvm-svn: 122530
|
|
|
|
|
|
|
|
| |
verify are zero
are not the low bits of x, but the bits that WILL be the low bits after the operation completes.
llvm-svn: 122529
|
|
|
|
| |
llvm-svn: 122528
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
packs, e.g.,
template<typename T, unsigned ...Dims> struct multi_array;
along with semantic analysis support for finding unexpanded non-type
template parameter packs in types, expressions, and so on.
Template instantiation involving non-type template parameter packs
probably doesn't work yet. That'll come soon.
llvm-svn: 122527
|
|
|
|
|
|
|
|
| |
namespace variables.
And decorate the test cases as @expectedFailure.
llvm-svn: 122525
|
|
|
|
| |
llvm-svn: 122524
|
|
|
|
| |
llvm-svn: 122523
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and 'default' statements, including a Fix-It to add the colon:
test/Parser/switch-recovery.cpp:13:12: error: expected ':' after 'case'
case 17 // expected-error{{expected ':' after 'case'}}
^
:
test/Parser/switch-recovery.cpp:16:12: error: expected ':' after 'default'
default // expected-error{{expected ':' after 'default'}}
^
:
llvm-svn: 122522
|
|
|
|
|
|
|
|
| |
If the basic block containing the BCCi64 (or BCCZi64) instruction ends with
an unconditional branch, that branch needs to be deleted before appending
the expansion of the BCCi64 to the end of the block.
llvm-svn: 122521
|
|
|
|
|
|
|
|
|
|
|
|
| |
parameter packs (C++0x [dcl.fct]p13), including disambiguation between
unnamed function parameter packs and varargs (C++0x [dcl.fct]p14) for
cases like
void f(T...)
where T may or may not contain unexpanded parameter packs.
llvm-svn: 122520
|
|
|
|
|
|
|
|
|
|
|
|
| |
to allow us to explicitly control whether or
not Objective-C properties are default synthesized.
Currently this feature only works when using
the -fobjc-non-fragile-abi2 flag (so there is
no functionality change), but we can now turn
off this feature without turning off all the features
coupled with -fobjc-non-fragile-abi2.
llvm-svn: 122519
|
|
|
|
|
|
| |
It was causing problems on the MinGW build. See PR8849.
llvm-svn: 122518
|
|
|
|
| |
llvm-svn: 122517
|
|
|
|
|
|
|
|
|
|
| |
late in the optimization
pipeline to be caught by instcombine, and it's not feasible to catch them in SimplifyCFG because the
use-lists are in an inconsistent state at the point where it could know that it need to simplify them.
Instead, have CodeGenPrepare look for trivially redundant PHIs as part of its general cleanup effort.
llvm-svn: 122516
|
|
|
|
|
|
| |
test case test_help_version().
llvm-svn: 122515
|
|
|
|
|
|
|
|
|
|
|
|
| |
layout. :)
Rename the 'EntoSA' directories to 'StaticAnalyzer'.
Internally we will still use the 'ento' namespace
for the analyzer engine (unless there are further
sabre rattlings...).
llvm-svn: 122514
|
|
|
|
| |
llvm-svn: 122513
|
|
|
|
|
|
| |
address spaces work.
llvm-svn: 122511
|
|
|
|
| |
llvm-svn: 122509
|
|
|
|
|
|
|
|
|
|
|
| |
specialization's template arguments against the primary template's
template arguments using the obvious, correct method of checking the
injected-class-name type (C++ [temp.class.spec]p9b3). The previous
incarnation of this comparison attempted to use its own formulation of
the injected-class-name, which is redudant and, with the introduction
of variadic templates, became wrong (again).
llvm-svn: 122508
|
|
|
|
| |
llvm-svn: 122507
|
|
|
|
| |
llvm-svn: 122506
|
|
|
|
|
|
|
|
|
| |
template argument corresponding to a template parameter pack is an
argument pack of a pack expansion of that template parameter
pack. Implements C++0x [temp.dep.type]p2 (at least, as much of it as
we can).
llvm-svn: 122498
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See http://caml.inria.fr/mantis/view.php?id=4166
If we call only external functions from a module, then its 'let _' bindings
don't get executed, which means that the exceptions don't get registered for use
in the C code.
This in turn causes llvm_raise to call raise_with_arg() with a NULL pointer and
cause a segmentation fault.
The workaround is to declare all 'external' functions as 'val' in these .mli
files.
Also added a separate testcase (the testcase must call only external functions
for the bug to occur).
llvm-svn: 122497
|
|
|
|
|
|
| |
doesn't return a pointer to the end of the string.
llvm-svn: 122496
|
|
|
|
| |
llvm-svn: 122495
|
|
|
|
| |
llvm-svn: 122494
|
|
|
|
|
|
| |
update Makefile.
llvm-svn: 122493
|
|
|
|
| |
llvm-svn: 122492
|
|
|
|
|
|
| |
and instruction issue.
llvm-svn: 122491
|
|
|
|
| |
llvm-svn: 122475
|