- Jan 30, 2015
-
-
Reid Kleckner authored
In the large code model, we now put __chkstk in %r11 before calling it. Refactor the code so that we only do this once. Simplify things by using __chkstk_ms instead of __chkstk on cygming. We already use that symbol in the prolog emission, and it simplifies our logic. Second half of PR18582. llvm-svn: 227519
-
Filipe Cabecinhas authored
Summary: The PS4 defaults to -fno-rtti, and has to have rtti enabled when enabling exceptions. This commit makes clang add the -fno-rtti by default on the PS4, unless -frtti was passed in. It also diagnoses misuses for the PS4: - Exceptions need rtti. Warn and enable rtti if no rtti flag was passed, error if -fno-rtti was passed. I also added a more general warning for when -fno-rtti is the default (currently it's only on the PS4) and the vptr sanitizer is on. Fixed a few tests, due to different flag order when passing cc1 arguments. Reviewers: chandlerc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7250 llvm-svn: 227518
-
Eric Christopher authored
MSP430 backend. llvm-svn: 227517
-
Eric Christopher authored
llvm-svn: 227516
-
Sanjay Patel authored
llvm-svn: 227514
-
Eric Christopher authored
that's actually sitting on the target machine. llvm-svn: 227513
-
Eric Christopher authored
calls that don't take a Function argument from Mips. Notable exceptions: the AsmPrinter and MipsTargetObjectFile. The latter needs to be fixed, and the former will be fixed when the general AsmPrinter changes happen. llvm-svn: 227512
-
Chandler Carruth authored
between the linker's TLS optimizations and Clang's TLS code generation. For now, Clang has been changed to disable linker TLS optimizations until it (and LLVM more generally) are emitting TLS code sequences compatible with the old bugs found in the linkers. That's a better fix to handle bootstrapping on that platform. llvm-svn: 227511
-
Rui Ueyama authored
getAsInteger may partially update its result argument. We need to check function return value to handle errors reliably. llvm-svn: 227510
-
Kuba Brecka authored
[compiler-rt] OS X: Update the CMake and Make builds to explicitely use libc++, mmacosx-version-min and SDKs In both CMake and Makefiles, we are inconsistent about the use of libstdc++ vs. libc++, SDKs and minimum deployment targets for OS X. Let's fix the detection of SDKs, and let's explicitely set that we link against libc++ and mmacosx-version-min is 10.7. llvm-svn: 227509
-
Reid Kleckner authored
This is just an alias for CALL64pcrel32, and we can just use that opcode with explicit defs in the MI. No functionality change. llvm-svn: 227508
-
Kostya Serebryany authored
[fuzzer] add -use_full_coverage_set=1 which solves FullCoverageSetTest. This does not scale very well yet, but might be a good start. llvm-svn: 227507
-
- Jan 29, 2015
-
-
Chad Rosier authored
These are needed so this pass will produce output when e.g. -print-after-all is used. Phabricator Review: http://reviews.llvm.org/D7264 Patch by Geoff Berry <gberry@codeaurora.org>! llvm-svn: 227506
-
Rui Ueyama authored
No two atoms are allowed to have the same file and atom ordinals. If there's such atoms, there's a bug in the reader. llvm-svn: 227504
-
Reid Kleckner authored
win64: Call __chkstk through a register with the large code model Fixes half of PR18582. True dynamic allocas will still have a CALL64pcrel32 which will fail. Reviewers: majnemer Differential Revision: http://reviews.llvm.org/D7267 llvm-svn: 227503
-
Reid Kleckner authored
llvm-svn: 227502
-
Rui Ueyama authored
_runLayoutPass is always true. No way to set a new value to the member variable. llvm-svn: 227501
-
Rui Ueyama authored
The LayoutPass is one of the slowest pass. This change is to skip that pass. This change not only improve performance but also improve maintainability of the code because the LayoutPass is pretty complex. Previously we used the LayoutPass to sort all atoms in a specific way, and reorder them again for PE/COFF in GroupedSectionPass. I spent time on improving and fixing bugs in the LayoutPass (e.g. r193029), but the pass is still hard to understand and hard to use. It's better not to depend on that if we don't need. For PE/COFF, we just wanted to sort atoms in the same order as the file order in the command line. The feature we used in the LayoutPass is now simplified to compareByPosition function in OrderPass.cpp. The function is just 5 lines. This patch changes the order of final output because it changes the sort order a bit. The output is still correct, though. llvm-svn: 227500
-
James Molloy authored
The validation algorithm used an incremental approach, building each iteration's data structures temporarily, validating them, then adding them to a global set. This does not scale well to having multiple sets of Root nodes, as the set of instructions used in each iteration is the union over all the root nodes. Therefore, refactor the logic to create a single, simple container to which later logic then refers. This makes it simpler control-flow wise to make the creation of the container more complex with the addition of multiple root sets. llvm-svn: 227499
-
Colin LeMahieu authored
llvm-svn: 227498
-
Alexey Samsonov authored
llvm-svn: 227496
-
Colin LeMahieu authored
llvm-svn: 227495
-
Colin LeMahieu authored
llvm-svn: 227493
-
Sanjay Patel authored
In http://reviews.llvm.org/D6911, we allowed GVN to propagate FP equalities to allow some simple value range optimizations. But that introduced a bug when comparing to -0.0 or 0.0: these compare equal even though they are not bitwise identical. This patch disallows propagating zero constants in equality comparisons. Fixes: http://llvm.org/bugs/show_bug.cgi?id=22376 Differential Revision: http://reviews.llvm.org/D7257 llvm-svn: 227491
-
Aaron Ballman authored
All signal handlers are required to have C language linkage in C++. This does not fix all signal handlers, but does fix the most recent one. llvm-svn: 227490
-
David Blaikie authored
llvm-svn: 227489
-
David Blaikie authored
Matching ARM change for r227481: DebugInfo: Teach Fast ISel to respect the debug location of comparisons in jumps. llvm-svn: 227488
-
David Blaikie authored
llvm-svn: 227487
-
David Blaikie authored
llvm-svn: 227486
-
David Blaikie authored
llvm-svn: 227485
-
Matt Arsenault authored
Add tests for the various combines. This should always be at least cycle neutral on all subtargets for f64, and faster on some. For f32 we should prefer selecting v_mad_f32 over v_fma_f32. llvm-svn: 227484
-
Matt Arsenault authored
llvm-svn: 227483
-
Matt Arsenault authored
llvm-svn: 227482
-
David Blaikie authored
The use of the DbgLoc in FastISel is probably something we should fix. It's prone to leaking the wrong location into instructions - we should have a clear chain of custody from the debug location of an IR Instruction to that of a MachineInstr to avoid such leakage. llvm-svn: 227481
-
Ulrich Weigand authored
Work around a bug in GNU ld (and gold) linker versions up to 2.25 that may mis-optimize code generated by this version of clang/LLVM to access general-dynamic or local-dynamic TLS variables. Bug is fixed here: https://sourceware.org/ml/binutils/2015-01/msg00318.html llvm-svn: 227480
-
Zachary Turner authored
Certain aspects of llvm-pdbdump require language support only present in MSVC 2013 and higher. Since this is strictly a utility, and since we hope to drop support for MSVC 2012 soon, don't build this unless MSVC 2013 or higher. llvm-svn: 227479
-
Kostya Serebryany authored
llvm-svn: 227478
-
Rafael Espindola authored
Any code creating an MCSectionELF knows ELF and already provides the flags. SectionKind is an abstraction used by common code that uses a plain MCSection. Use the flags to compute the SectionKind. This removes a lot of guessing and boilerplate from the MCSectionELF construction. llvm-svn: 227476
-
Colin LeMahieu authored
llvm-svn: 227474
-
Evgeniy Stepanov authored
llvm-svn: 227473
-