| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 101564
|
| |
|
|
| |
llvm-svn: 101531
|
| |
|
|
|
|
| |
can't be static.
llvm-svn: 101377
|
| |
|
|
| |
llvm-svn: 101376
|
| |
|
|
| |
llvm-svn: 101334
|
| |
|
|
|
|
| |
api and update clients to use MCContext instead.
llvm-svn: 100808
|
| |
|
|
|
|
| |
i32 store of immediates.
llvm-svn: 100751
|
| |
|
|
| |
llvm-svn: 100706
|
| |
|
|
|
|
| |
DBG_VALUE does not generate code.
llvm-svn: 100681
|
| |
|
|
| |
llvm-svn: 100415
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a target instruction wants to set target-specific flags, it should simply
set bits in the TSFlags bit vector defined in the Instruction TableGen class.
This works well because TableGen resolves member references late:
class I : Instruction {
AddrMode AM = AddrModeNone;
let TSFlags{3-0} = AM.Value;
}
let AM = AddrMode4 in
def ADD : I;
TSFlags gets the expected bits from AddrMode4 in this example.
llvm-svn: 100384
|
| |
|
|
| |
llvm-svn: 100377
|
| |
|
|
| |
llvm-svn: 100376
|
| |
|
|
|
|
|
|
|
| |
which is really a property of the section being referenced.
Add a predicate to MCSection to replace it.
Yay for reduction in magic.
llvm-svn: 100367
|
| |
|
|
| |
llvm-svn: 100352
|
| |
|
|
|
|
|
|
|
|
| |
"asm printering" happens through MCStreamer. This also
Streamerizes PIC16 debug info, which escaped my attention.
This removes a leak from LLVMTargetMachine of the 'legacy'
output stream.
llvm-svn: 100327
|
| |
|
|
| |
llvm-svn: 100321
|
| |
|
|
| |
llvm-svn: 100320
|
| |
|
|
|
|
| |
don't have mcstreamer support for yet.
llvm-svn: 100319
|
| |
|
|
|
|
|
| |
implementations to use EmitRawText instead of writing
directly to "O".
llvm-svn: 100318
|
| |
|
|
|
|
| |
raw_ostream to print to.
llvm-svn: 100313
|
| |
|
|
|
|
| |
member of AsmPrinter. Instead, pass it in explicitly.
llvm-svn: 100306
|
| |
|
|
|
|
|
| |
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
llvm-svn: 100304
|
| |
|
|
|
|
| |
of printOffset to pass in a stream to print to.
llvm-svn: 100296
|
| |
|
|
| |
llvm-svn: 100214
|
| |
|
|
| |
llvm-svn: 100208
|
| |
|
|
| |
llvm-svn: 100199
|
| |
|
|
|
|
|
| |
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
llvm-svn: 100191
|
| |
|
|
|
|
|
| |
folder to be tolerant of debug info following the
branch(es) at the end of a block.
llvm-svn: 100168
|
| |
|
|
| |
llvm-svn: 100132
|
| |
|
|
|
|
|
|
| |
zero.
- Do not try to infer GV alignment unless its type is sized. It's not possible to infer alignment if it has opaque type.
llvm-svn: 100118
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
1. Makes it possible to lower with floating point loads and stores.
2. Avoid unaligned loads / stores unless it's fast.
3. Fix some memcpy lowering logic bug related to when to optimize a
load from constant string into a constant.
4. Adjust x86 memcpy lowering threshold to make it more sane.
5. Fix x86 target hook so it uses vector and floating point memory
ops more effectively.
rdar://7774704
llvm-svn: 100090
|
| |
|
|
| |
llvm-svn: 100031
|
| |
|
|
| |
llvm-svn: 99948
|
| |
|
|
|
|
|
|
|
| |
memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
A update of langref will occur in a subsequent checkin.
llvm-svn: 99928
|
| |
|
|
|
|
|
|
|
| |
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.
This fixes rdar://7807601.
llvm-svn: 99902
|
| |
|
|
|
|
|
| |
makes calls a little bit more consistent and allows easy removal of the
specializations in the future. Convert all callers to the templated functions.
llvm-svn: 99838
|
| |
|
|
|
|
|
| |
patterns that would never match because of bitcast, and eliminating use
of vnot_conv.
llvm-svn: 99753
|
| |
|
|
| |
llvm-svn: 99097
|
| |
|
|
|
|
| |
need them.
llvm-svn: 98937
|
| |
|
|
|
|
| |
section, remove the target-specific code that performs this.
llvm-svn: 98580
|
| |
|
|
| |
llvm-svn: 98523
|
| |
|
|
|
|
| |
to get unique assembler temporary labels.
llvm-svn: 98489
|
| |
|
|
|
|
| |
contain an MCSymbol instead of a label index.
llvm-svn: 98482
|
| |
|
|
|
|
| |
with an MCSymbol instead of an immediate.
llvm-svn: 98481
|
| |
|
|
|
|
|
|
| |
an MCSymbol. Make the EH_LABEL MachineInstr hold its label
with an MCSymbol instead of ID. Fix a bug in MMI.cpp which
would return labels named "Label4" instead of "label4".
llvm-svn: 98463
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of label ID's. This cleans up and regularizes a bunch
of code and makes way for future progress.
Unfortunately, this pointed out to me that JITDwarfEmitter.cpp
is largely copy and paste from DwarfException/MachineModuleInfo
and other places. This is very sad and disturbing. :(
One major change here is that TidyLandingPads moved from being
called in DwarfException::BeginFunction to being called in
DwarfException::EndFunction. There should not be any
functionality change from doing this, but I'm not an EH expert.
llvm-svn: 98459
|
| |
|
|
| |
llvm-svn: 98451
|
| |
|
|
|
|
|
|
|
|
|
| |
and passing off ownership to AsmPrinter. Now MachineModuleInfo
creates it and owns it by value. This allows us to use MCSymbols
more consistently throughout the rest of the code generator, and
simplifies a bit of code. This also allows MachineFunction to
keep an MCContext reference handy, and cleans up the TargetRegistry
interfaces for AsmPrinters.
llvm-svn: 98450
|
| |
|
|
| |
llvm-svn: 98394
|