- Feb 25, 2015
-
-
Zachary Turner authored
An OBJECT library is a special type of CMake library that produces no archive, has no link interface, and no link inputs. It is like a regular archive, just without the physical output. To link against an OBJECT library, you reference it in the *source* file list of a library using the special syntax $<TARGET_OBJECTS:lldbAPI>. This will cause every object file to be passed to the linker independently, as opposed to a single archive being passed to the linker. This is *extremely* important on Windows. lldbAPI exports all of the SB classes using __declspec(dllexport). Unfortunately for technical reasons it is not possible (well, extremely difficult) to get the linker to propagate a __declspec(dllexport) attribute from a symbol in an object file in an archive to a DLL that links against that archive. The solution to this is for the DLL to link the object files directly. So lldbAPI must be an OBJECT library. This fixes an issue that has been present since the duplicated lldbAPI file lists were removed, which would cause linker failures. As a side effect, this also makes LLDB_DISABLE_PYTHON=1 work again on Windows, which was previously totally broken. llvm-svn: 230380
-
Zachary Turner authored
This is generating problems when you have built both debug and release python. For now I just want to get CMake to work, I will work on a more robust fix later. In the meantime you may need to copy python27(_d).dll manually to ninja\bin after building. llvm-svn: 230379
-
Andrew Kaylor authored
llvm-svn: 230378
-
Richard Smith authored
constructs is not rejected by should be; that's PR22673. llvm-svn: 230370
-
Hans Wennborg authored
llvm-svn: 230363
-
Reid Kleckner authored
Summary: Fixes PR22671. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7863 llvm-svn: 230362
-
Arch D. Robison authored
llvm-svn: 230361
-
Jonathan Roelofs authored
TODO: The iwmmx register save & restore functions still need the same treatment. I didn't do that in this patch because the integrated assembler has a bug where it refuses to build them on -march=armv6-m, even with .march armv5t .arm in front of those functions. This should fix PR22384. http://reviews.llvm.org/D7258 llvm-svn: 230360 -
Philip Reames authored
In this change: - Put the getting started section first - Create a dedicated section to document the built in collector strategies - Move discuss of ShadowStack into new section - Add placeholders for erlang, ocaml, and statepoint-example collectors There will be many more changes following. I plan on full integrating the documentation for gc.statepoint and gc.root. I want to make it much clearer on how to get started and what users should expect in terms of effort. llvm-svn: 230359
-
Eric Christopher authored
Author: Simon Pilgrim <llvm-dev@redking.me.uk> Date: Mon Feb 23 23:04:28 2015 +0000 Fix based on post-commit comment on D7816 & rL230177 - BUILD_VECTOR operand truncation was using the the BV's output scalar type instead of the input type. and Author: Simon Pilgrim <llvm-dev@redking.me.uk> Date: Sun Feb 22 18:17:28 2015 +0000 [DagCombiner] Generalized BuildVector Vector Concatenation The CONCAT_VECTORS combiner pass can transform the concat of two BUILD_VECTOR nodes into a single BUILD_VECTOR node. This patch generalises this to support any number of BUILD_VECTOR nodes, and also permits UNDEF nodes to be included as well. This was noticed as AVX vec128 -> vec256 canonicalization sometimes creates a CONCAT_VECTOR with a real vec128 lower and an vec128 UNDEF upper. Differential Revision: http://reviews.llvm.org/D7816 as the root cause of PR22678 which is causing an assertion inside the DAG combiner. I'll follow up to the main thread as well. llvm-svn: 230358 -
Eric Christopher authored
llvm-svn: 230357
-
Kostya Serebryany authored
llvm-svn: 230356
-
Matthias Braun authored
The reason why these large shift sizes happen is because OpaqueConstants currently inhibit alot of DAG combining, but that has to be addressed in another commit (like the proposal in D6946). Differential Revision: http://reviews.llvm.org/D6940 llvm-svn: 230355
-
Matthias Braun authored
llvm-svn: 230354
-
Matthias Braun authored
llvm-svn: 230353
-
Tom Stellard authored
We legalize mubuf instructions post-instruction selection, so this code is no longer needed. llvm-svn: 230352
-
Ilia K authored
Add comment in MiSignalTestCase.test_lldbmi_stopped_when_stopatentry_local back and revert expecting string. llvm-svn: 230351
-
Tim Northover authored
The backend should now be able to handle all AAPCS rules based on argument type, which means Clang no longer has to duplicate the register-counting logic and the CodeGen can be significantly simplified. llvm-svn: 230349
-
Tim Northover authored
The logic is almost there already, with our special homogeneous aggregate handling. Tweaking it like this allows front-ends to emit AAPCS compliant code without ever having to count registers or add discarded padding arguments. Only arrays of i32 and i64 are needed to model AAPCS rules, but I decided to apply the logic to all integer arrays for more consistency. llvm-svn: 230348
-
Hafiz Abid Qadeer authored
llvm-svn: 230347
-
Hafiz Abid Qadeer authored
Summary: After recent changes, some code has become redundant. This revision tries to remove the un-used code and tidy up the rest. Following 4 files have been removed. I have updated CMake files and checked that it builds fine on Linux and Windows. Can somebody update the xcode related file accordingly? tools/lldb-mi/MICmnStreamStdinLinux.cpp tools/lldb-mi/MICmnStreamStdinLinux.h tools/lldb-mi/MICmnStreamStdinWindows.cpp tools/lldb-mi/MICmnStreamStdinWindows.h Reviewers: clayborg, ki.stfu Reviewed By: clayborg, ki.stfu Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D7834 llvm-svn: 230345
-
Timur Iskhodzhanov authored
llvm-svn: 230344
-
Tobias Grosser authored
This reverts commit r230062. Debian stable (wheezy) ships still with cmake 2.8.9. The commit broke my LLVM/Polly buildbot, to my knowledge our only Linux+cmake buildbot. llvm-svn: 230343
-
Sanjay Patel authored
llvm-svn: 230342
-
Hans Wennborg authored
This caused PR22674, failing this assert: Instructions.h:2281: llvm::Value* llvm::PHINode::getOperand(unsigned int) const: Assertion `i_nocapture < OperandTraits<PHINode>::operands(this) && "getOperand() out of range!"' failed. llvm-svn: 230341
-
Johannes Doerfert authored
This is the code generation for region statements that are created when non-affine control flow was present in the input. A new generator, similar to the block or vector generator, for regions is used to traverse and copy the region statement and to adjust the control flow inside the new region in the end. llvm-svn: 230340
-
Michael Kuperstein authored
This should have gone into r230334. llvm-svn: 230339
-
Sanjay Patel authored
llvm-svn: 230338
-
Johannes Doerfert authored
llvm-svn: 230337
-
Johannes Doerfert authored
llvm-svn: 230336
-
Johannes Doerfert authored
llvm-svn: 230335
-
- Feb 24, 2015
-
-
Michael Kuperstein authored
This fixes the original issue in PR22655, but not the secondary one. llvm-svn: 230334
-
Michael Wong authored
Commit patch for PR19649. Set the correct sign of wide character for literals based on underlying type of wchar_t. Reviewed: http://reviews.llvm.org/D7559 Patch by Rachel Craig; Test cases by Hubert Tong. llvm-svn: 230333
-
Hal Finkel authored
For almost all node types, if the target requested custom lowering, and LowerOperation returned its input, we'd treat the original node as legal. This did not work, however, for many loads and stores, because they follow slightly different code paths, and we did not account for the possibility of LowerOperation returning its input at those call sites. I think that we now handle this consistently everywhere. At the call sites in LegalizeDAG, we used to assert in this case, so there's no functional change for any existing code there. For the call sites in LegalizeVectorOps, this really only affects whether or not we set Changed = true, but I think makes the semantics clearer. No test case here, but it will be covered by an upcoming PowerPC commit adding QPX support. llvm-svn: 230332
-
Alexey Bataev authored
__kmpc_omp_flush() runtime library now has only one argument and is not a vararg anymore. This update makes the codegen compatible with these changes. llvm-svn: 230331
-
Marshall Clow authored
Make the forward declaration for array swap have the same inline/visibility attributes as the definition. Thanks to Steven Wu for the catch. llvm-svn: 230330
-
Johannes Doerfert authored
This allows us to model non-affine regions in the SCoP representation. SCoP statements can now describe either basic blocks or non-affine regions. In the latter case all accesses in the region are accumulated for the statement and write accesses, except in the entry, have to be marked as may-write. Differential Revision: http://reviews.llvm.org/D7846 llvm-svn: 230329
-
Johannes Doerfert authored
llvm-svn: 230328
-
Toma Tabacu authored
Summary: Separated some instruction and pseudo-instruction definitions from InstAlias definitions, added banner for pseudo-instructions and removed a redundant whitespace from a pseudo-instruction definition. No functional change. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7552 llvm-svn: 230327
-
Johannes Doerfert authored
llvm-svn: 230326
-