| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 98853
|
| |
|
|
| |
llvm-svn: 98852
|
| |
|
|
| |
llvm-svn: 98851
|
| |
|
|
| |
llvm-svn: 98850
|
| |
|
|
|
|
|
| |
RecyclingAllocator to allow client code to be simpler, and
simplify several clients.
llvm-svn: 98847
|
| |
|
|
|
|
|
| |
aligned storage, the capacity may be more than what is explicitly
requested.
llvm-svn: 98846
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
always create a new jump table. The intention was to avoid merging jump
tables in SelectionDAGBuilder, and to wait for the branch folding pass to
merge tables. Unfortunately, the same getJumpTableIndex() method is also
used to merge tables in branch folding, so as a result of this change
branch tables are never merged. Worse, the branch folding code is expecting
getJumpTableIndex to always return the index of an existing table, but with
this change, it never does so. In at least some cases, e.g., pr6543, this
creates references to non-existent tables.
I've fixed the problem by adding a new createJumpTableIndex function, which
will always create a new table, and I've changed getJumpTableIndex to only
look at existing tables.
llvm-svn: 98845
|
| |
|
|
|
|
|
| |
doesn't apply to the type, only to the variable, so subsequent uses
of U which expect it to be aligned weren't actually aligned.
llvm-svn: 98843
|
| |
|
|
| |
llvm-svn: 98840
|
| |
|
|
|
|
|
| |
files that produce special relocation types where the
linker changes movq's into lea's.
llvm-svn: 98839
|
| |
|
|
| |
llvm-svn: 98838
|
| |
|
|
| |
llvm-svn: 98835
|
| |
|
|
|
|
|
|
| |
intrinsics. The intrinsic lookup code assumes that this check has been done
and assumes the names are at least 6 characters long. Valgrind complained
about this. pr6638.
llvm-svn: 98831
|
| |
|
|
| |
llvm-svn: 98830
|
| |
|
|
|
|
|
|
|
|
|
|
| |
BumpPtrAllocator-allocated region to allow it to be stored in a more
compact form and to avoid the need for a non-trivial destructor call.
Use this new mechanism in ScalarEvolution instead of
FastFoldingSetNode to avoid leaking memory in the case where a
FoldingSetNodeID uses heap storage, and to reduce overall memory
usage.
llvm-svn: 98829
|
| |
|
|
| |
llvm-svn: 98824
|
| |
|
|
|
|
| |
Patch by Victor Zverovich!
llvm-svn: 98821
|
| |
|
|
| |
llvm-svn: 98820
|
| |
|
|
|
|
| |
format a size_t.
llvm-svn: 98819
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
under valgrind:
==19577== Invalid free() / delete / delete[]
==19577== at 0x4C9C866: free (vg_replace_malloc.c:325)
==19577== by 0x5121104: ??? (in /lib/libc-2.10.2.so)
==19577== by 0x4C97412: _vgnU_freeres (vg_preloaded.c:62)
==19577== by 0x5041486: __run_exit_handlers (exit.c:93)
==19577== by 0x50414FE: exit (exit.c:100)
==19577== by 0x5028B5C: (below main) (libc-start.c:254)
==19577== Address 0xffffffff is not stack'd, malloc'd or (recently) free'd
==19577==
Apparently this happens under certain versions of glibc, so valgrind provides
the --run-libc-freeres=no option to avoid calling freeres(). This may increase
the number of "still reachable" blocks valgrind reports, but we don't care
about those, while this error breaks the buildbots.
There are upstream bugs about this at
http://sourceware.org/bugzilla/show_bug.cgi?id=10610 and
http://bugs.kde.org/show_bug.cgi?id=167483, but they don't look likely to be
fixed.
llvm-svn: 98813
|
| |
|
|
| |
llvm-svn: 98810
|
| |
|
|
| |
llvm-svn: 98809
|
| |
|
|
| |
llvm-svn: 98793
|
| |
|
|
|
|
| |
need this for accessing to symbol modifiers.
llvm-svn: 98791
|
| |
|
|
| |
llvm-svn: 98790
|
| |
|
|
|
|
|
|
| |
symbol differences, basically whether the assembler should attempt to understand atoms when using scattered symbols.
Also, avoid some virtual call overhead.
llvm-svn: 98789
|
| |
|
|
|
|
| |
This reverts commit 98776. It broke the llvm-gcc boot strap.
llvm-svn: 98784
|
| |
|
|
|
|
| |
hack which require doing a RAUW. It may end up deleting some SDNode up stream. It should avoid referencing deleted nodes.
llvm-svn: 98780
|
| |
|
|
| |
llvm-svn: 98778
|
| |
|
|
|
|
| |
There is a better way coming up.
llvm-svn: 98777
|
| |
|
|
|
|
|
|
|
| |
Remove ugly hack that aborted the coalescer before using N^2 time.
This affects functions with very complicated live intervals for physical
registers, i.e. functions with thousands of function calls.
llvm-svn: 98776
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
matches that of Firstcond[0] and E means otherwise. The Firstcond[0] is also
tagged in the Mask to facilitate Asm printing. The disassembler also depends
on this arrangement. This is similar to what's described in A2.5.2 ITSTATE.
Ran:
utils/lit/lit.py test/CodeGen/ARM test/CodeGen/Thumb test/CodeGen/Thumb2
successfully.
llvm-svn: 98775
|
| |
|
|
|
|
|
|
|
| |
addressing modes to omit the '+' from the assembler syntax #+/-<imm> or +/-<Rm>.
This patch removes the impl of printT2AddrModeImm8s4OffsetOperand() from
ARMAsmPrinter.cpp. It is used by disassembler as of now.
llvm-svn: 98774
|
| |
|
|
|
|
|
| |
Mac OS X to match current install location. This has no
effect on other platforms.
llvm-svn: 98773
|
| |
|
|
| |
llvm-svn: 98771
|
| |
|
|
| |
llvm-svn: 98770
|
| |
|
|
| |
llvm-svn: 98769
|
| |
|
|
|
|
| |
in svn r74988 but the format field was never widened.
llvm-svn: 98768
|
| |
|
|
| |
llvm-svn: 98763
|
| |
|
|
| |
llvm-svn: 98762
|
| |
|
|
| |
llvm-svn: 98761
|
| |
|
|
|
|
|
|
|
|
| |
pointer and length, and allocate the arrays in ScalarEvolution's
BumpPtrAllocator, so that they get released when their owning
SCEV gets released. SCEVs are immutable, so they don't need to worry
about operand array resizing. This fixes a memory leak reported
in PR6637.
llvm-svn: 98755
|
| |
|
|
| |
llvm-svn: 98753
|
| |
|
|
| |
llvm-svn: 98752
|
| |
|
|
|
|
| |
Remove it from ARMAddressingModes.h.
llvm-svn: 98751
|
| |
|
|
| |
llvm-svn: 98748
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
instructions to help disassembly.
We also changed the output of the addressing modes to omit the '+' from the
assembler syntax #+/-<imm> or +/-<Rm>. See, for example, A8.6.57/58/60.
And modified test cases to not expect '+' in +reg or #+num. For example,
; CHECK: ldr.w r9, [r7, #28]
llvm-svn: 98745
|
| |
|
|
| |
llvm-svn: 98744
|
| |
|
|
|
|
| |
so isEH is always false. This was hiding until now from compilers because of default arguments. This was hiding from dwarf debug info users because for most of the platform isAbsoluteEHSectionOffsets() is same as isAbsoluteDebugSectionOffsets(). But Chris found it while updating dwarf printer to use MC*.
llvm-svn: 98743
|
| |
|
|
| |
llvm-svn: 98742
|