| Commit message (Collapse) | Author | Age | Files | Lines | 
| ... |  | 
| | 
| 
| 
|  | 
llvm-svn: 153429
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Dump the hex representation to the comment stream as well as the float
value.
llvm-svn: 153346
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
metadata operand as an actual operand, leading to an assert. Error
out in this case.
rdar://11007633
llvm-svn: 153234
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
i128). In that case, we may not be able to print out the MCExpr as an
expression. For instance, we could have an MCExpr like this:
    0xBEEF0000BEEF0000 | (0xBEEF0000BEEF0000 << 64)
The MCExpr printer handles sizes up to 64-bits, but this expression would
require 128-bits. In this situation, try to evaluate the constant expression and
emit that as the value into 64-bit chunks.
<rdar://problem/11070338>
llvm-svn: 153081
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
the DECL information.
rdar://10855921
llvm-svn: 152876
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
out the DW_AT_name. Older gdbs unfortunately still use it to
disambiguate member functions in templated classes (gdb.cp/templates.exp).
rdar://11043421 (which is now deferred for a bit)
llvm-svn: 152782
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
output (we're emitting a specification already and the information
isn't changing).
Saves 1% on the debug information for a build of llvm.
Fixes rdar://11043421
llvm-svn: 152697
 | 
| | 
| 
| 
| 
| 
|  | 
stringmap, instead of using a highly inefficient std::map of a pair of std::strings.
llvm-svn: 152541
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
as well as completely defined classes.
This fixes rdar://10956070
llvm-svn: 152171
 | 
| | 
| 
| 
|  | 
llvm-svn: 152153
 | 
| | 
| 
| 
| 
| 
|  | 
static data size.
llvm-svn: 152016
 | 
| | 
| 
| 
|  | 
llvm-svn: 152001
 | 
| | 
| 
| 
|  | 
llvm-svn: 151875
 | 
| | 
| 
| 
|  | 
llvm-svn: 151874
 | 
| | 
| 
| 
| 
| 
|  | 
to the string table for the function name, not the function name.
llvm-svn: 151873
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
The inline table needs to be constructed ahead of time so that it doesn't try to
create new strings while we're emitting everything.
This reverts commit a8ff9bccb399183cdd5f1c3cec2bda763664b4b0.
llvm-svn: 151864
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
fixups that are being used to determine section offsets. Reduces
the total number of fixups by 50% for a non-trivial testcase.
Part of rdar://10413936
llvm-svn: 151852
 | 
| | 
| 
| 
|  | 
llvm-svn: 151849
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
The standard function epilog includes a .size directive, but ppc64 uses
an alternate local symbol to tag the actual start of each function.
Until recently, binutils accepted the .size directive as:
 .size	test1, .Ltmp0-test1
however, using this directive with recent binutils will result in the error:
 .size expression for XXX does not evaluate to a constant
so we must use the label which actually tags the start of the function.
llvm-svn: 151200
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Worth another 45k (1%) off of a large C++ testcase.
rdar://10909458
llvm-svn: 151144
 | 
| | 
| 
| 
|  | 
llvm-svn: 151143
 | 
| | 
| 
| 
|  | 
llvm-svn: 151142
 | 
| | 
| 
| 
| 
| 
|  | 
Part of rdar://10493979 where it reduces by about .5% (10k)
llvm-svn: 151097
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
method. This allows the target lowering code to not have to deal with MDNodes.
Also, avoid leaking memory like a sieve by not creating a global variable for
the image info section, but just emitting the code directly.
llvm-svn: 150624
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
The MachO back-end needs to emit the garbage collection flags specified in the
module flags. This is a WIP, so the front-end hasn't been modified to emit these
flags just yet. Documentation and front-end switching to occur soon.
llvm-svn: 150507
 | 
| | 
| 
| 
|  | 
llvm-svn: 150012
 | 
| | 
| 
| 
| 
| 
|  | 
an ivar.
llvm-svn: 149874
 | 
| | 
| 
| 
|  | 
llvm-svn: 149816
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
but with a critical fix to the SelectionDAG code that optimizes copies
from strings into immediate stores: the previous code was stopping reading
string data at the first nul.  Address this by adding a new argument to
llvm::getConstantStringInfo, preserving the behavior before the patch.
llvm-svn: 149800
 | 
| | 
| 
| 
|  | 
llvm-svn: 149737
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
needed to emit a 64-bit gp-relative relocation entry. Make changes necessary
for emitting jump tables which have entries with directive .gpdword. This patch
does not implement the parts needed for direct object emission or JIT.
llvm-svn: 149668
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
test to fail.
These are:
r149348
r149351
r149352
r149354
r149356
r149357
r149361
r149362
r149364
r149365
llvm-svn: 149470
 | 
| | 
| 
| 
| 
| 
|  | 
methods and constant fold the clients to false.
llvm-svn: 149362
 | 
| | 
| 
| 
| 
| 
|  | 
CodeGen/X86/global-sections.ll to fail with CDArray
llvm-svn: 149343
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
vectors of all one bits to be printed more cleverly in the AsmPrinter.
Unfortunately, the byte value for all one bits is the same with
-fsigned-char as the error return of '-1'. Force this to be the unsigned
byte value when returning it to avoid this problem, and update the test
case for the shiny new behavior.
Yay for building LLVM and Clang with -funsigned-char.
Chris, please review, and let me know if there is any reason to not
desire this change. It seems good on the surface, and certainly intended
based on the code written.
llvm-svn: 149299
 | 
| | 
| 
| 
| 
| 
|  | 
like normal integers.
llvm-svn: 149223
 | 
| | 
| 
| 
|  | 
llvm-svn: 149222
 | 
| | 
| 
| 
|  | 
llvm-svn: 149078
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
relocations applied to all C++ constructors and destructors.
This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against.
llvm-svn: 149057
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
and let linker handle the rest.
This finally fixes PR5329
llvm-svn: 148990
 | 
| | 
| 
| 
|  | 
llvm-svn: 148897
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
This change adds an new option --arm-enable-ehabi-descriptors that
enables emitting unwinding descriptors. This provides a mode with a
working backtrace() without the (currently broken) exception support.
llvm-svn: 148800
 | 
| | 
| 
| 
| 
| 
|  | 
16 bits are sufficient to store attributes, tags and forms.
llvm-svn: 148799
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Saves about 1.5% on debug info size.
rdar://10278198
llvm-svn: 148794
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
and clean up some other misc stuff.  Unlike ConstantArray, we will
prefer to emit .fill directives for "String" arrays that all have
the same value, since they are denser than emitting a .ascii
llvm-svn: 148793
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
violation -- MC cannot depend on CodeGen.
Specifically, the MCTargetDesc component of each target is actually
a subcomponent of the MC library. As such, it cannot depend on the
target-independent code generator, because MC itself cannot depend on
the target-independent code generator. This change moved a flag from the
ARM MCTargetDesc file ARMMCAsmInfo.cpp to the CodeGen layer in
ARMException.cpp, leaving behind an 'extern' to refer back to it. That
layering order isn't viable givin the constraints outlined above.
Commandline flags are designed to be static specifically to avoid these
types of bugs.
Fixing this is likely going to require some non-trivial refactoring.
llvm-svn: 148759
 | 
| | 
| 
| 
|  | 
llvm-svn: 148740
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
This change adds an new value to the --arm-enable-ehabi option that
disables emitting unwinding descriptors. This mode gives a working
backtrace() without the (currently broken) exception support.
llvm-svn: 148686
 | 
| | 
| 
| 
|  | 
llvm-svn: 148578
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
or clang bootstrap.
I will keep an eye on the bots.
Original message:
Only emit the Leh_func_endN symbol when needed.
llvm-svn: 148283
 |