Age | Commit message (Collapse) | Author |
|
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
|
|
Need to complete the missing functions in compiler-rt.
Change-Id: Id5e1c6305bb8eefabb0d78e92f20b2aba1a7f15d
|
|
Change-Id: I7b69b83722f09cf2d5d8455a9b830cf4f59a6071
|
|
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
|
|
Also dump LDFlags to <output-filename>.info
Change-Id: I7b8f99d4bc5831855b0368074e6976682050d755
|
|
Add a flag to disable the promotion of the global constant
with constructors.
Change-Id: Ib21dc56edaea5a0eae76e9643cc0338bd187391f
|
|
Change-Id: Id3cb313a332b2b46a4b9d9e0523b0010e27383fb
|
|
Translate le32-none-ndk bitcode to target bitcode.
Change-Id: I1a82d0adab69de3a482db89aa6cfd483dfd2ed1d
|
|
Change-Id: I97116bc417de8f5afcc258d860a3d4bc116ecdb1
Signed-off-by: WenHan Gu <Wenhan.gu@mediatek.com>
|
|
Change-Id: I0c33fa7d5da4c86c458d18e13d366470d7aa0798
|
|
Change-Id: I71586bf3b88041798e207d01634cb7446d3a3129
|
|
* 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
|
|
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
|
|
source:
https://android.googlesource.com/platform/frameworks/compile/libbcc/
commit: 25b7205e16e422469da74f88e74ad79e7c284ac7
libbcc/bcinfo
libbcc/include/bcinfo
Change-Id: I4fc071bdfb7332f8870012a08032761f76f367d7
|
|
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
|
|
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
|
|
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
|
|
Another fix is here: https://android-review.googlesource.com/#/c/49393/
Change-Id: I7c041f5ee3c44282cfe7e3982eb65a2b7527b8a1
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
|
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
|
|
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.
|
|
Replace pipe missing from i586-mingw32msvc with _pipe
Also remove svn.log
Change-Id: Iae0b61a13b3b69e97c877d292dd511d900a208b8
|
|
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
|
|
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
|
|
This CL fixes the build of test-stlport after we enables
the exception support for gabi++.
Change-Id: I534b0955e9a0aca24cdc12cf9b61c30347c8276c
|
|
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
|
|
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
|
|
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
|
|
Backported from upstream r163062.
|
|
Change-Id: I4b9d179b936aceace65b2fa46e81b9b7971ea59e
|
|
Change-Id: Iae73b39a08f33c28714538bd5693a0f9fc39abb5
|
|
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
|
|
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.
|
|
Some MIPS executable loaders prohibit the relocation
in the read-only section. Thus, we have to use
DW_EH_PE_indirect instead.
|
|
|
|
|
|
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.
|
|
The code releted to ANDROIDEABI is not specific to
ARM EABI. We need them in Intel and MIPS backend
as well.
|
|
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156863 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156862 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156799 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156734 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@156640 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
------------------------------------------------------------------------
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
|
|
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_31@155834 91177308-0d34-0410-b5e6-96231b3b80d8
|