| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
Diagnostic pragmas are broken because we don't keep track of the diagnostic state changes and we only check the current/latest state.
Problems manifest if a diagnostic is emitted for a source line that has different diagnostic state than the current state; this can affect
a lot of places, like C++ inline methods, template instantiations, the lexer, etc.
Fix the issue by having the Diagnostic object keep track of the source location of the pragmas so that it is able to know what is the diagnostic state at any given source location.
Fixes rdar://8365684.
llvm-svn: 121873
|
| |
|
|
| |
llvm-svn: 121872
|
| |
|
|
|
|
|
|
| |
Bypass loops have the current live range live through, but contain no uses or
defs. Splitting around a bypass loop can free registers for other uses inside
the loop by spilling the split range.
llvm-svn: 121871
|
| |
|
|
|
|
|
| |
This method returns the set of loops with uses that are candidates for
splitting.
llvm-svn: 121870
|
| |
|
|
|
|
| |
file in Sema. No functionality change.
llvm-svn: 121869
|
| |
|
|
|
|
| |
This is still a WIP. It's already good enough to expose a few bugs, though.
llvm-svn: 121868
|
| |
|
|
|
|
|
|
|
|
|
| |
Some quad-register intrinsics with lane operands only take a double-register
operand for the vector containing the lane. The valid range of lane numbers
is then half as big as you would expect from the quad-register type.
Note: This currently has no effect because those intrinsics are now handled
entirely in the header file using __builtin_shufflevector, which does its own
range checking, but I want to use this for generating tests.
llvm-svn: 121867
|
| |
|
|
|
|
| |
come first.
llvm-svn: 121866
|
| |
|
|
|
|
| |
parameters. Fixes <rdar://problem/8769025>.
llvm-svn: 121864
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
IntegerLiterals
BuildExpressionFromIntegralTemplateArgument can produce malformed
IntegerLiterals with an EnumType if the template parameter type
is an EnumType. This breaks the AST printer which expects all
IntegerLiterals to have a plain integer type. Instead, give the
IntegerLiteral the enum's promotion type and wrap in an implicit cast
to the EnumType.
llvm-svn: 121862
|
| |
|
|
|
|
| |
instcombine and into InstructionSimplify.
llvm-svn: 121861
|
| |
|
|
|
|
|
| |
it to be replaced by undef rather than not replaced at all, the idea being that
this may reduce the amount of work done by whoever called InstructionSimplify.
llvm-svn: 121860
|
| |
|
|
|
|
|
|
| |
a terminator depends on it.
When it sees a promising select it now tries to figure out whether the condition of the select is known in any of the predecessors and if so it maps the operands appropriately.
llvm-svn: 121859
|
| |
|
|
| |
llvm-svn: 121858
|
| |
|
|
|
|
|
|
|
|
|
| |
With this we don't need the EffectiveSize field anymore. Without that field
LayoutFragment only updates offsets and we don't need to invalidate the
current fragment when it is relaxed (only the ones following it).
This is also a very small improvement in the accuracy of the layout info as
we now use the after relaxation size immediately.
llvm-svn: 121857
|
| |
|
|
|
|
|
| |
Since we now don't update addresses so early, we might relax a bit more than
we need to. This is simillar to the issue in PR8467.
llvm-svn: 121856
|
| |
|
|
|
|
| |
explicitly mark that all cases are handled.
llvm-svn: 121855
|
| |
|
|
| |
llvm-svn: 121854
|
| |
|
|
| |
llvm-svn: 121853
|
| |
|
|
|
|
| |
'clang::OverloadExpr'
llvm-svn: 121852
|
| |
|
|
| |
llvm-svn: 121851
|
| |
|
|
| |
llvm-svn: 121850
|
| |
|
|
| |
llvm-svn: 121849
|
| |
|
|
|
|
| |
a wider mul if the wider mul is legal.
llvm-svn: 121848
|
| |
|
|
| |
llvm-svn: 121847
|
| |
|
|
|
|
| |
result, the top bits are truncated off anyway, just use SRL.
llvm-svn: 121846
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
StackFrame::GetValueForExpressionPath()
function and also hooked up better error reporting for when things fail.
Fixed issues with trying to display children of pointers when none are
supposed to be shown (no children for function pointers, and more like this).
This was causing child value objects to be made that were correctly firing
an assertion.
llvm-svn: 121841
|
| |
|
|
| |
llvm-svn: 121838
|
| |
|
|
| |
llvm-svn: 121837
|
| |
|
|
|
|
|
| |
future task of performing contextual conversion to size_t in a VLA size
expression. :)
llvm-svn: 121836
|
| |
|
|
|
|
|
| |
also get marked as having failed (so we don't try to demangle the
same symbol multiple times).
llvm-svn: 121835
|
| |
|
|
|
|
|
|
|
|
| |
DW_AT_mips_linkage_name for
a non-mangled function - we pass the non mangled string down through abi::__cxa_demangle and it
crashes. Usually passing non mangled strings to abi::__cxa_demangle works out fine but not
always, apparently.
llvm-svn: 121834
|
| |
|
|
|
|
|
|
| |
within the class. Teach IR gen to look for function definitions in record
lexical contexts when deciding whether to emit a function whose address
was taken. Fixes PR8789.
llvm-svn: 121833
|
| |
|
|
| |
llvm-svn: 121832
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
whether the expression contains an unexpanded parameter pack, in the
same vein as the changes to the Type hierarchy. Compute this bit
within all of the Expr subclasses.
This change required a bunch of reshuffling of dependency
calculations, mainly to consolidate them inside the constructors and
to fuse multiple loops that iterate over arguments to determine type
dependence, value dependence, and (now) containment of unexpanded
parameter packs.
Again, testing is painfully sparse, because all of the diagnostics
will change and it is more important to test the to-be-written visitor
that collects unexpanded parameter packs.
llvm-svn: 121831
|
| |
|
|
|
|
|
| |
update the condition codes. These come from my test generator and are just
the ones that MC currently assembles correctly.
llvm-svn: 121830
|
| |
|
|
| |
llvm-svn: 121829
|
| |
|
|
| |
llvm-svn: 121828
|
| |
|
|
| |
llvm-svn: 121827
|
| |
|
|
| |
llvm-svn: 121826
|
| |
|
|
| |
llvm-svn: 121825
|
| |
|
|
| |
llvm-svn: 121824
|
| |
|
|
| |
llvm-svn: 121823
|
| |
|
|
| |
llvm-svn: 121822
|
| |
|
|
| |
llvm-svn: 121821
|
| |
|
|
| |
llvm-svn: 121820
|
| |
|
|
|
|
| |
immediate versions.
llvm-svn: 121819
|
| |
|
|
|
|
|
|
| |
'i386']
combinations.
llvm-svn: 121818
|
| |
|
|
|
|
|
|
| |
simplification to fail,
this case involve a select that simplifies to itself.
llvm-svn: 121817
|
| |
|
|
| |
llvm-svn: 121816
|