aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-07-10Allow multiple -arm-enable-ehabi and -arm-enable-ehabi-descriptorsrelease_31Andrew Hsieh
Clang adds -arm-enable-ehabi and -arm-enable-ehabi-descriptors unconditionally for Android. This may fail when user also specify "-mllvm -arm-enable-ehabi" or "-mllvm -arm-enable-ehabi-descriptors" in the command line. Fix to allow multiple occurrences. Change-Id: I3860b22abdd8481ebb3068d5d3156436e27c7a57
2013-05-28Replace libgcc with compiler-rt in bc2native script.Lai Wei-Chih
Need to complete the missing functions in compiler-rt. Change-Id: Id5e1c6305bb8eefabb0d78e92f20b2aba1a7f15d
2013-05-16Fix LLVMWrap could not read string correctly.Lai Wei-Chih
Change-Id: I7b69b83722f09cf2d5d8455a9b830cf4f59a6071
2013-04-26Read ldflags from info file.Lai Wei-Chih
bc2native script will read *.info generated from le32-none-ndk-link. And generate the ldflags from it. Also fix ARMEH test fails: 1. Add default flags for llc arm: -arm-enable-ehabi -arm-enable-ehabi-descriptors -arm-ignore-has-ras 2. For ARM, generate assembly first and call the assembler to produce relocatables. Change-Id: Idb28eeed7c8e1f30dfaff76c6afff9c3a13c31b4
2013-04-25Find libraries in search paths.Lai Wei-Chih
Also dump LDFlags to <output-filename>.info Change-Id: I7b8f99d4bc5831855b0368074e6976682050d755
2013-04-24Add -disable-global-ctor-const-promotion flag.Logan Chien
Add a flag to disable the promotion of the global constant with constructors. Change-Id: Ib21dc56edaea5a0eae76e9643cc0338bd187391f
2013-04-17Script for bitcode to native binaries.Lai Wei-Chih
Change-Id: Id3cb313a332b2b46a4b9d9e0523b0010e27383fb
2013-04-01Bitcode translation tool for le32-none-ndk triple.Lai Wei-Chih
Translate le32-none-ndk bitcode to target bitcode. Change-Id: I1a82d0adab69de3a482db89aa6cfd483dfd2ed1d
2013-03-19Use correct operator [] on array deallocation.WenHan Gu
Change-Id: I97116bc417de8f5afcc258d860a3d4bc116ecdb1 Signed-off-by: WenHan Gu <Wenhan.gu@mediatek.com>
2013-03-07Bitcode strip tool for le32-none-ndk triple.Lai Wei-Chih
Change-Id: I0c33fa7d5da4c86c458d18e13d366470d7aa0798
2013-03-07Bitcode link tool for le32-none-ndk triple.Lai Wei-Chih
Change-Id: I71586bf3b88041798e207d01634cb7446d3a3129
2013-03-07Add 4 tags in LLVMWrap.Lai Wei-Chih
* kAndroidBitcodeType Generate this bitcode for shared object or executable. * kAndroidSOName Store DT_SONAME for this bitcode. * kAndroidDependLibrary Store list of dependent library for this bitcode. * kAndroidLDFlags Store linker flags for this bitcode. Change-Id: Ie202aadc35b764f45a84e70c248a0ffc8ca5110a
2013-03-06Pass -lLTO after gold-plugin.o.Logan Chien
We have to pass -lLTO after gold-plugin.o, otherwise it will be ignored when --as-needed is used as well. This is backported from the upstream r162652. ------------------------------------------------------------ commit a16c2e3493816472afd78521094f08bf2d26165e Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Mon Aug 27 03:03:07 2012 +0000 Pass -lLTO after gold-plugin.o so that it gets used in systems that default --as-needed. Patch by Felix Geyer. Fixes pr13262. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162652 91177308-0d3 ------------------------------------------------------------ Change-Id: I3d90a9cb51aa64b036026b71ddf544aa8d7b3768
2013-03-06Import Wrap library for bitcode wrapper.Lai Wei-Chih
source: https://android.googlesource.com/platform/frameworks/compile/libbcc/ commit: 25b7205e16e422469da74f88e74ad79e7c284ac7 libbcc/bcinfo libbcc/include/bcinfo Change-Id: I4fc071bdfb7332f8870012a08032761f76f367d7
2013-02-27Fix x86 stack realignment.Logan Chien
Due to the stack mis-alignment, it is possible for the test-stlport to raise SEGV while unwinding the stack. This CL should fix the problem. This CL is backported from upstream r160248, and fixes PR11468. ------------------------------------------------------------ commit 99a92f269d4ea6f13a9858bb883e13382d021120 Author: Alexey Samsonov <samsonov@google.com> Date: Mon Jul 16 06:54:09 2012 +0000 This CL changes the function prologue and epilogue emitted on X86 when stack It is intended to fix PR11468. Old prologue and epilogue looked like this: push %rbp mov %rsp, %rbp and $alignment, %rsp push %r14 push %r15 ... pop %r15 pop %r14 mov %rbp, %rsp pop %rbp The problem was to reference the locations of callee-saved registers in exce locations of callee-saved had to be re-calculated regarding the stack alignm take some effort to implement this in LLVM, as currently MachineLocation can "Register + Offset". Funciton prologue and epilogue are now changed to: push %rbp mov %rsp, %rbp push %14 push %15 and $alignment, %rsp ... lea -$size_of_saved_registers(%rbp), %rsp pop %r15 pop %r14 pop %rbp Reviewed by Chad Rosier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160248 91177308-0d3 ------------------------------------------------------------ Change-Id: I7ff338229dd6c3f4d14c2f0245287475214acb41
2013-01-17Fix canadian buildAndrew Hsieh
1. Add new flags CFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD and use it for $BUILD_CC Similiar to https://android-review.googlesource.com/#/c/50032 2. unset LDFLAGS for cross-compile-build-tools 3. ARCH can be set by env. var. Change-Id: I061aee782384ea14166043308490f31e48c6dd54
2013-01-16Skip single precision registers in .vsave directives.Logan Chien
In some cases, the code generator will emit s0-s31 in .vsave directives, and the assembler will refuse to assemble the code. This CL backports upstream r161301, which will skip implicitly defined s0-s31. ------------------------------------------------------------ commit ad62e92279bc0b14c54db94dd794082c8b8edd9e Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Aug 4 13:25:58 2012 +0000 Skip impdef regs during eabi save/restore list emission to workaround PR1190 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161301 91177308-0d3 ------------------------------------------------------------ Change-Id: I1de780922c78933051b6f274daa479b5fdc6e609
2013-01-11Alternative fix to disable autoconf run in cloog buildPavel Chupin
Another fix is here: https://android-review.googlesource.com/#/c/49393/ Change-Id: I7c041f5ee3c44282cfe7e3982eb65a2b7527b8a1 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-01-09Fix tMOVCC_pseudo for libpng -O0.Logan Chien
Previous fix to tMOVCC_pseudo will cause a regression on libpng when -O0 is specified. Some non live-ins physical registers will be splitted as well, so we should create virtual registers for them. This CL implements a complete live variable analysis to analyze the usage of physical registers among the splitted machine instructions. Change-Id: I1974111c3446f0b66e012cead7bdb5dffe4f8b3b
2013-01-03Fix LLVM error after loweriing thumb tMOVCCr_pseudo.Logan Chien
The physical register should not be used across the machine basic block, because the register allocator may spill or resue the register. The previous fix for test-libstlport by adding live-ins will not run correctly. This CL should address the issue. This reverts commit 95b8007dded354d15113cc0038f12ec62fa2b596.
2012-12-20Fix mingw compilationAndrew Hsieh
Replace pipe missing from i586-mingw32msvc with _pipe Also remove svn.log Change-Id: Iae0b61a13b3b69e97c877d292dd511d900a208b8
2012-12-18Fix llvm/polly build for --disable-sharedAndrew Hsieh
Fix POLLY_LIB when both gmp and cloog are built with --disable-shared. The reasons for --disable-shared are: 1. gmp can't be built in MacOSX without it 2. dynamic gmp and cloog libraries need user's explicit overriding LD_LIBRARY_PATH Change-Id: I2604011f08d1910d9e983f9a4002a71d07f2e1be
2012-12-17Add polly r150480 & its dependency cloogAndrew Hsieh
Add polly svn co http://llvm.org/svn/llvm-project/polly/trunk r150480, the most recent revision works with llvm 3.1. Also run "cd utils ; ./checkout_cloog.sh cloog_src" to get the cloog it depends See http://polly.llvm.org/ Change-Id: I3e99a7d1adda7d5601278acae4748446e9881333
2012-12-06Update the live-ins after lowering tMOVCCr_pseudo.Logan Chien
This CL fixes the build of test-stlport after we enables the exception support for gabi++. Change-Id: I534b0955e9a0aca24cdc12cf9b61c30347c8276c
2012-11-29Fix ARM EHABI exception type filter.Logan Chien
ARM has different layout for type information in LSDA. Thus, we should emit them in different way. This patch is backported from upstream r168325 by Anton Korobeynikov. Change-Id: I7779ed080de454621940bd8e0b63029e5409c126
2012-11-29Backport ARM EHABI support.Logan Chien
Although we have some EHABI support since f95e4ad7, however, there is some enhanced commits after we have submit the original CL back to upstream. Thus, we are reverting some part of f95e4ad7, and backport upstream r167633 and r167904. Change-Id: I3976b3a15410078803372b735bdaee27dc84a5e0
2012-11-29Add ARM TARGET2 relocation.Logan Chien
According to ARM EHABI, we should use TARGET2 as the relocation type for type info reference, so we have to add R_ARM_TARGET2 to MCExpr. This patch is backported from upstream r167633 by Anton Korobeynikov. Change-Id: I957fd1c43e0aec7c4b361ad29930fe4358ea610e
2012-11-29Add ARM ELF support to llvm-objdump.Logan Chien
Backported from upstream r163062.
2012-11-15Add an option to use global variable as the stack protector cookie.Logan Chien
Change-Id: I4b9d179b936aceace65b2fa46e81b9b7971ea59e
2012-11-05Add ndk triple for Android bitcode.Lai Wei-Chih
Change-Id: Iae73b39a08f33c28714538bd5693a0f9fc39abb5
2012-10-30Revert prev fix for stack protectorAndrew Hsieh
Revert fix "Use __stack_chk_guard as the cookie on Android X86" 9c463c361a62b76e1c752b068cf2cff60cc3c105 since bionic now supports per-thread TLS entry %gs:20 for x86 stack protector Related CL: https://android-review.googlesource.com/#/c/45416 https://android-review.googlesource.com/#/c/45784 Change-Id: I49bcbe1d084aad76e1d9ffac760b1004ba233b68
2012-10-15Use __stack_chk_guard as the cookie on Android X86Logan Chien
Due to some bug in bionic pthread, we can't use %gs:0x14 to store stack protector cookie. We should put the stack cookie in __stack_chk_guard global variable instead.
2012-10-15Fix MIPS exception personality relocation.Logan Chien
Some MIPS executable loaders prohibit the relocation in the read-only section. Thus, we have to use DW_EH_PE_indirect instead.
2012-10-15Fix ARM EHABI exception support.Logan Chien
2012-10-15Add flags to ignore FeatureHasRAS.Logan Chien
2012-10-15Backport .init_array/.fini_array work.Logan Chien
Android requires ".init_array" and ".fini_array" for X86/MIPS as well, regardless the gcc version. This patch is basing on following patches: commit d6b43a317e71246380db55a50b799b062b53cdce Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Tue Jun 19 00:48:28 2012 +0000 Move the support for using .init_array from ARM to the generic TargetLoweringObjectFileELF. Use this to support it on X86. Unlike ARM, on X86 it is not easy to find out if .init_array should be used or not, so the decision is made via TargetOptions and defaults to off. Add a command line option to llc that enables it. commit 8af669f2f1d92436fe6dc43144bb084a620e7516 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Tue Jun 19 01:26:10 2012 +0000 Add a -fuse-init-array option to cc1 and map to the UseInitArray target option. On the driver, check if we are using libraries from gcc 4.7 or newer and if so pass -fuse-init-array to the frontend. The crtbegin*.o files in gcc 4.7 no longer call the constructors listed in .ctors, so we have to use .init_array.
2012-10-15Rename ANDROIDEABI to ANDROID.Logan Chien
The code releted to ANDROIDEABI is not specific to ARM EABI. We need them in Intel and MIPS backend as well.
2012-10-12Add missing ARM fixup kind for ARMELFObjectWriter.Logan Chien
2012-05-15Merge in 156319 156837 156838.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156863 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-15Update.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156862 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-15Add some more release notes for ClangDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156799 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-13Update.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156734 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-11s/3.1svn/3.1/gBill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156640 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-08New Revision: 155749Bill Wendling
URL: http://llvm.org/viewvc/llvm-project?rev=155749&view=rev Log: Reapply 155668: Fix the SD scheduler to avoid gluing the same node twice. This time, also fix the caller of AddGlue to properly handle incomplete chains. AddGlue had failure modes, but shamefully hid them from its caller. It's luck ran out. Fixes rdar://11314175: BuildSchedUnits assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156376 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-02Merging r155984:Bill Wendling
------------------------------------------------------------------------ r155984 | void | 2012-05-02 02:59:45 -0700 (Wed, 02 May 2012) | 4 lines The value held in the vector may be RAUW'ed by some of the canonicalization methods. Use a weak value handle to keep up with this. PR12245 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155985 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-01Merging r155954:Bill Wendling
------------------------------------------------------------------------ r155954 | void | 2012-05-01 15:50:45 -0700 (Tue, 01 May 2012) | 3 lines Strip the pointer casts off of allocas so that the selection DAG can find them. PR10799 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155955 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-01Merging r155902:Bill Wendling
------------------------------------------------------------------------ r155902 | void | 2012-05-01 01:27:43 -0700 (Tue, 01 May 2012) | 7 lines Change the PassManager from a reference to a pointer. The TargetPassManager's default constructor wants to initialize the PassManager to 'null'. But it's illegal to bind a null reference to a null l-value. Make the ivar a pointer instead. PR12468 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155903 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-01Merging r155895:Bill Wendling
------------------------------------------------------------------------ r155895 | eliben | 2012-04-30 23:15:40 -0700 (Mon, 30 Apr 2012) | 4 lines Removed examples of stack frame inspection which no longer work for old JIT. Added an example of MCJIT-based debugging. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155901 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-30Merging r155844:Bill Wendling
------------------------------------------------------------------------ r155844 | spop | 2012-04-30 13:06:58 -0700 (Mon, 30 Apr 2012) | 8 lines fix typo Thanks to "Gabor Greif" <ggreif@gmail.com> for reporting this problem. The configure flag should be --with-default-sysroot as documented, and not --with-sysroot. The reason we don't want to define --with-sysroot is that GCC has a configure flag by that name and it has a different semantics. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155852 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-30Rename to match coding conventions.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155834 91177308-0d34-0410-b5e6-96231b3b80d8