- Oct 10, 2012
-
-
Stepan Dyatkovskiy authored
SDNode for LDRB_POST_IMM is invalid: number of registers added to SDNode fewer that described in .td. 7 ops is needed, but SDNode with only 6 is created. In more details: In ARMInstrInfo.td, in multiclass AI2_ldridx, in definition _POST_IMM, offset operand is defined as am2offset_imm. am2offset_imm is complex parameter type, and actually it consists from dummy register and imm itself. As I understood trick with dummy reg was made for AsmParser. In ARMISelLowering.cpp, this dummy register was not added to SDNode, and it cause crash in Peephole Optimizer pass. The problem fixed by setting up additional dummy reg when emitting LDRB_POST_IMM instruction. llvm-svn: 165617
-
Stepan Dyatkovskiy authored
SchedulerDAGInstrs::buildSchedGraph ignores dependencies between FixedStack objects and byval parameters. So loading byval parameters from stack may be inserted *before* it will be stored, since these operations are treated as independent. Fix: Currently ARMTargetLowering::LowerFormalArguments saves byval registers with FixedStack MachinePointerInfo. To fix the problem we need to store byval registers with MachinePointerInfo referenced to first the "byval" parameter. Also commit adds two new fields to the InputArg structure: Function's argument index and InputArg's part offset in bytes relative to the start position of Function's argument. E.g.: If function's argument is 128 bit width and it was splitted onto 32 bit regs, then we got 4 InputArg structs with same arg index, but different offset values. llvm-svn: 165616
-
Chandler Carruth authored
The issue arises when coercing to/from types of different sizes. We need to be certain that the allocation on either end has sufficient room for the coerced type. When it doesn't, we need to make room, copy across, and then proceed. PR11905 handled the case of storing function arguments back into allocas in the function prolog, this patch handles the case of setting up the function arguments in a call expression. This is actually significantly simpler than the fix for PR11905. It ends up being a trivial change to create a temporary alloca when the source is too small and memcpy across. This should preserve the compile-time fast-isel benefits of doing gep+load sequences and avoiding FCAs. Reviewed by Benjamin and Evgeniy (who fixed PR11905). llvm-svn: 165615
-
Bill Wendling authored
llvm-svn: 165613
-
Bill Wendling authored
namespace. Use the attribute's enum value instead. No functionality change intended. llvm-svn: 165611
-
Bill Wendling authored
namespace. Use the attribute's enum value instead. No functionality change intended. llvm-svn: 165610
-
Logan Chien authored
AAPCS ABI Section 7.1.4 [1] specifies that va_list should be defined as struct __va_list { void *__ap;}; And in C++, it is defined in namespace std. [1] http://infocenter.arm.com/help/topic /com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf Patch by Weiming Zhao. llvm-svn: 165609
-
Lang Hames authored
checkRegMaskInterference only initializes the bitmask on the first interference. This fixes PR14027 and (re)fixes PR13945. llvm-svn: 165608
-
Bill Wendling authored
enums. These are then created via the correct Attributes creation method. llvm-svn: 165607
-
Andrew Trick authored
llvm-svn: 165606
-
Andrew Trick authored
llvm-svn: 165605
-
Andrew Trick authored
Consistently evaluate Aliases and Sequences recursively. llvm-svn: 165604
-
Andrew Trick authored
Allows the new machine model to be used for NumMicroOps and OutputLatency. Allows the HazardRecognizer to be disabled along with itineraries. llvm-svn: 165603
-
Andrew Trick authored
llvm-svn: 165602
-
Andrew Trick authored
llvm-svn: 165601
-
Bill Wendling authored
llvm-svn: 165600
-
Bill Wendling authored
llvm-svn: 165599
-
Jason Molenda authored
llvm-svn: 165597
-
Bill Wendling authored
Have 'addFnAttr' take the attribute enum value. Then have it build the attribute object and add it appropriately. No functionality change. llvm-svn: 165596
-
Bill Wendling authored
Have 'addFnAttr' take the attribute enum value. Then have it build the attribute object and add it appropriately. No functionality change. llvm-svn: 165595
-
Craig Topper authored
llvm-svn: 165594
-
Argyrios Kyrtzidis authored
and modules are not enabled. llvm-svn: 165593
-
Argyrios Kyrtzidis authored
an invalid location if the location points to the synthetic buffer for the module input. llvm-svn: 165592
-
Argyrios Kyrtzidis authored
This means the main file for modules will always be a virtual one. llvm-svn: 165591
-
Reed Kotler authored
llvm-svn: 165590
-
Andrew Kaylor authored
Patch committed on behalf of Kirill Uhanov llvm-svn: 165589
-
Andrew Kaylor authored
llvm-svn: 165588
-
Jason Molenda authored
API (to get the length of x86 instructions) to using the LLVM-MC disassembler. <rdar://problem/12411000> llvm-svn: 165587
-
Andrew Kaylor authored
This patch adds new functions to the SectionRef and ObjectFile interfaces to determine whether or not a section is meant to be read-only. These functions will be used by the MCJIT RuntimeDyld to give hints to the memory manager during the object loading process in a future patch. Patch by Ashok Thirumurthi. llvm-svn: 165586
-
Akira Hatanaka authored
Patch by Sasa Stankovic. llvm-svn: 165585
-
Richard Smith authored
llvm-svn: 165584
-
Richard Smith authored
llvm-svn: 165583
-
Richard Smith authored
llvm-svn: 165582
-
Richard Smith authored
llvm-svn: 165581
-
Greg Clayton authored
llvm-svn: 165580
-
Sean Callanan authored
over to simply update its cache and then look up the descriptor in the cache. This is fine because the cache now builds much faster (since descriptors are minimal). Metaclasses aren't in the cache, so I switched the Describe method for class descriptors from using GetClassDescriptor to manually creating an automatic ClassDescriptorV2. llvm-svn: 165579
-
Bob Wilson authored
This reverts commit 165428 in an attempt to get our buildbots going. llvm-svn: 165574
-
Bob Wilson authored
This reverts commit 165429 in an attempt to get our buildbots going. llvm-svn: 165573
-
Richard Smith authored
-fcatch-undefined-behavior: store the type name directly at the end of a type descriptor. 5% binary size reduction due to fewer relocations. llvm-svn: 165572
-
Richard Smith authored
-fcatch-undefined-behavior: store the type name directly at the end of a type descriptor. 5% binary size reduction due to fewer relocations. llvm-svn: 165571
-