| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 197495
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Formatting this:
void f() { // 1 space initial indent.
int i;
#define A \
int i; \
int j;
int k; // Format this line.
}
void f() {
#define A 1 // Format this line.
}
Before:
void f() { // 1 space initial indent.
int i;
#define A \
int i; \
int j;
int k; // Format this line.
}
void f() {
#define A 1 // Format this line.
}
After:
void f() { // 1 space initial indent.
int i;
#define A \
int i; \
int j;
int k; // Format this line.
}
void f() {
#define A 1 // Format this line.
}
llvm-svn: 197494
|
| |
|
|
| |
llvm-svn: 197493
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://llvm.org/bugs/show_bug.cgi?id=18045
Short issue description:
For X86 machines with sse < sse4.1 we got failures for some
particular load/store vector sequences:
$ clang-trunk -m32 -O2 test-case.c
fatal error: error in backend: Cannot select: 0x4200920: v4i32,ch = load 0x41d6ab0, 0x4205850,
0x41dcb10<LD16[getelementptr inbounds ([4 x i32]* @e, i32 0, i32 0)](align=4)> [ORD=82]
[ID=58]
0x4205850: i32 = X86ISD::Wrapper 0x41d5490 [ORD=26] [ID=43]
0x41d5490: i32 = TargetGlobalAddress<[4 x i32]* @e> 0 [ORD=26] [ID=23]
0x41dcb10: i32 = undef [ID=2]
The reason is that EltsFromConsecutiveLoads could emit such load instruction
both before and after legalize stage. Though this instruction is not legal for
machines with SSSE3 and lower.
The fix: In EltsFromConsecutiveLoads, if we have passed legalize stage, we
check whether nodes it emits are legal.
P.S.: If you get failure in time from 12:00 and till 22:00 (UTC-8),
perhaps I'll slow with response, so you better reject this commit. Thanks!
llvm-svn: 197492
|
| |
|
|
|
|
|
|
|
| |
If 'symbolize' flag is not set, we still want to transform virtual address
to module+offset pair in the call to Symbolizer::SymbolizeCode().
See https://code.google.com/p/address-sanitizer/issues/detail?id=251 for
more details.
llvm-svn: 197491
|
| |
|
|
| |
llvm-svn: 197490
|
| |
|
|
|
|
|
| |
Add an interface for telling LSan that a region of memory is to be treated as a
source of live pointers. Useful for code which stores pointers in mapped memory.
llvm-svn: 197489
|
| |
|
|
| |
llvm-svn: 197488
|
| |
|
|
|
|
| |
(Yes, the irony is not lost on me :-) ).
llvm-svn: 197486
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead, mark the module as unavailable so that clang errors as soon as
someone tries to build this module.
This works towards the long-term goal of not stat'ing the header files at all
while reading the module map and instead read them only when the module is
being built (there is a corresponding FIXME in parseHeaderDecl()). However, it
seems non-trivial to get there and this unblock us and moves us into the right
direction.
Also changed the implementation to reuse the same DiagnosticsEngine.
llvm-svn: 197485
|
| |
|
|
|
|
| |
This is covered by msan_test depending on glibc version and/or resolver setup.
llvm-svn: 197484
|
| |
|
|
|
|
|
|
|
|
| |
when using structured exception handling (SEH) on Windows 64.
http://llvm-reviews.chandlerc.com/D2378
Patch by Jonathan Liu!
llvm-svn: 197483
|
| |
|
|
|
|
|
|
| |
Bader).
Added implementation of "truncate" from integer type (i64/i32/i16/i8) to i1.
llvm-svn: 197482
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r197469.
The sanitizer and dragonegg buildbots are failing, I think because of
this change. Reverting until I figure out why.
llvm-svn: 197481
|
| |
|
|
|
|
|
| |
Executable files do not use a string table, so section names longer than 8
characters are not permitted. Long section names should just be truncated.
llvm-svn: 197470
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The vastart_save_xmm_regs pseudo-instruction expands to a test and a
branch, so it modifies EFLAGS. Mark it so, or else the scheduler might
place it in the middle of another test+branch.
This fixes a bug exposed by r192750, which turned on the MI Scheduler
for X86.
<rdar://problem/15627766>
llvm-svn: 197469
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With llvm-config.exe --bindir --libdir --build-mode, on Visual Studio 2010,
In build tree:
(OBJ_ROOT)/bin/MinSizeRel
(OBJ_ROOT)/lib/MinSizeRel
MinSizeRel
In installed tree:
(INSTALL_PREFIX)/bin
(INSTALL_PREFIX)/lib
MinSizeRel
This is enhancements since r196283.
llvm-svn: 197467
|
| |
|
|
| |
llvm-svn: 197466
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
coalesces normal copies.
Without this, MachineCSE is powerless to handle redundant operations with truncated source operands.
This required fixing the 2-addr pass to handle tied subregisters. It isn't clear what combinations of subregisters can legally be tied, but the simple case of truncated source operands is now safely handled:
%vreg11<def> = COPY %vreg1:sub_32bit; GR32:%vreg11 GR64:%vreg1
%vreg12<def> = COPY %vreg2:sub_32bit; GR32:%vreg12 GR64:%vreg2
%vreg13<def,tied1> = ADD32rr %vreg11<tied0>, %vreg12<kill>, %EFLAGS<imp-def>
Test case: cse-add-with-overflow.ll.
This exposed an existing bug in
PPCInstrInfo::commuteInstruction. Thanks to Rafael for the test case:
PowerPC/crash.ll.
llvm-svn: 197465
|
| |
|
|
| |
llvm-svn: 197464
|
| |
|
|
| |
llvm-svn: 197462
|
| |
|
|
| |
llvm-svn: 197461
|
| |
|
|
|
|
|
|
|
| |
instead of LLVM_BINARY_DIR.
LLVM_BINARY_DIR points OBJROOT.
FIXME: llvm-config should show *real* bindir with --bindir.
llvm-svn: 197460
|
| |
|
|
|
|
| |
Standalone scripts shall be rewritten.
llvm-svn: 197459
|
| |
|
|
|
|
|
| |
Re-reading the comment I updated in previous commit, it's better to make
it more explicit and avoid ambiguity more effectively.
llvm-svn: 197458
|
| |
|
|
| |
llvm-svn: 197457
|
| |
|
|
|
|
|
| |
Make debugging ISel a bit easier by printing out a dump of the generated
code at the end.
llvm-svn: 197456
|
| |
|
|
|
|
|
|
| |
Tidy up built-in record creation to reduce code duplication.
Continuation of r197336.
llvm-svn: 197452
|
| |
|
|
|
|
| |
dependency at link time
llvm-svn: 197451
|
| |
|
|
| |
llvm-svn: 197450
|
| |
|
|
|
|
|
|
|
|
| |
A phi node operand or an instruction operand could be a constant expression that
can trap (division). Check that we don't vectorize such cases.
PR16729
radar://15653590
llvm-svn: 197449
|
| |
|
|
|
|
| |
conformance is inferred. // rdar://15515206
llvm-svn: 197448
|
| |
|
|
|
|
|
|
|
| |
DiagnosticPrinter.cpp.
These was creating a link time dependencies of IR on CodeGen and Analysis.
Part of <rdar://problem/15515174>
llvm-svn: 197447
|
| |
|
|
|
|
|
| |
I was testing a stale bin/llvm-lit, which now lives at bin/llvm-lit.py
on Windows.
llvm-svn: 197446
|
| |
|
|
|
|
|
| |
to determine if a move function is the std::move function. This allows functions
like std::__1::move to also be treated a the move function.
llvm-svn: 197445
|
| |
|
|
|
|
|
|
|
|
| |
This missing parameter was causing bin/llvm-lit to run the unittests
from my primary build directory instead of my self-hosting build
directory because llvm-config was on my PATH.
This more closely matches what 'make check' will pass to lit.py.
llvm-svn: 197444
|
| |
|
|
|
|
|
| |
This completes the cleanup/refactoring of DataLayout on the clang side. Next
is figuring out the differences between the llvm and clang produced strings
llvm-svn: 197442
|
| |
|
|
|
|
| |
staged yet.
llvm-svn: 197441
|
| |
|
|
| |
llvm-svn: 197440
|
| |
|
|
| |
llvm-svn: 197439
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The patch adds a new LLVMContext::diagnose that can be used to communicate to
the front-end, if any, that something of interest happened.
The diagnostics are supported by a new abstraction, the DiagnosticInfo class.
The base class contains the following information:
- The kind of the report: What this is about.
- The severity of the report: How bad this is.
This patch also adds 2 classes:
- DiagnosticInfoInlineAsm: For inline asm reporting. Basically, this diagnostic
will be used to switch to the new diagnostic API for LLVMContext::emitError.
- DiagnosticStackSize: For stack size reporting. Comes as a replacement of the
hard coded warning in PEI.
This patch also features dynamic diagnostic identifiers. In other words plugins
can use this infrastructure for their own diagnostics (for more details, see
getNextAvailablePluginDiagnosticKind).
This patch introduces a new DiagnosticHandlerTy and a new DiagnosticContext in
the LLVMContext that should be set by the front-end to be able to map these
diagnostics in its own system.
http://llvm-reviews.chandlerc.com/D2376
<rdar://problem/15515174>
llvm-svn: 197438
|
| |
|
|
| |
llvm-svn: 197437
|
| |
|
|
|
|
|
|
|
|
| |
of objc_bridge_related attribute; eliminate
unnecessary diagnostics which is issued elsewhere,
fixit now produces a valid AST tree per convention.
This results in some simplification in handling of
this attribute as well. // rdar://15499111
llvm-svn: 197436
|
| |
|
|
|
|
| |
I missed these in previous commits.
llvm-svn: 197435
|
| |
|
|
|
|
| |
'fmin/fmax'. Fix radar:15283121
llvm-svn: 197434
|
| |
|
|
|
|
|
| |
The f80:128:128 was followed by a f80:32:32 and so never used. Looks like this
was there since r91746.
llvm-svn: 197433
|
| |
|
|
|
|
|
|
|
| |
Outputs branch information for unconditional branches in addition to
conditional branches. -b option must be enabled.
Also updated tests.
llvm-svn: 197432
|
| |
|
|
|
|
|
|
|
| |
aligned arguments.
This allows the WebKit_JS calling convention to perform partial writes on a 4
byte granularity to stack slots.
llvm-svn: 197431
|
| |
|
|
| |
llvm-svn: 197430
|
| |
|
|
| |
llvm-svn: 197429
|