- 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
-
Bill Wendling authored
llvm-svn: 165613
-
Bill Wendling authored
namespace. Use the attribute's enum value instead. No functionality change intended. llvm-svn: 165610
-
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: 165599
-
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
-
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
-
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
-
Bob Wilson authored
This reverts commit 165428 in an attempt to get our buildbots going. llvm-svn: 165574
-
Michael Liao authored
llvm-svn: 165569
-
-
Andrew Trick authored
llvm-svn: 165566
-
Andrew Trick authored
llvm-svn: 165565
-
Andrew Trick authored
misched: Allow flags to disable hasInstrSchedModel/hasInstrItineraries for external users of TargetSchedule. llvm-svn: 165564
-
Andrew Trick authored
This wasn't contributing anything significant to postRA heuristics except compile time (by my measurements) and will be replaced by a more general heuristic for cross-region dependencies within the scheduler itself. llvm-svn: 165563
-
Bill Wendling authored
Use the attribute builder to add attributes to call/invoke instruction. No functionality change intended. llvm-svn: 165562
-
Jack Carter authored
This patch provides initial implementation of load address macro instruction for Mips. We have implemented two kinds of expansions with their variations depending on the size of immediate operand: 1) load address with immediate value directly: * la d,j => addiu d,$zero,j (for -32768 <= j <= 65535) * la d,j => lui d,hi16(j) ori d,d,lo16(j) (for any other 32 bit value of j) 2) load load address with register offset value * la d,j(s) => addiu d,s,j (for -32768 <= j <= 65535) * la d,j(s) => lui d,hi16(j) (for any other 32 bit value of j) ori d,d,lo16(j) addu d,d,s This patch does not cover the case when the address is loaded from the value of the label or function. Contributer: Vladimir Medic llvm-svn: 165561
-
Douglas Gregor authored
llvm-svn: 165559
-
Micah Villmow authored
llvm-svn: 165554
-
- Oct 09, 2012
-
-
Bill Wendling authored
llvm-svn: 165551
-
Bill Wendling authored
llvm-svn: 165550
-
Bill Wendling authored
llvm-svn: 165548
-
Bill Wendling authored
llvm-svn: 165547
-
Sean Silva authored
llvm-svn: 165544
-
Bill Wendling authored
llvm-svn: 165543
-
Sean Silva authored
This keeps it out of the main flow of TableGenMain. llvm-svn: 165542
-
Bill Wendling authored
llvm-svn: 165541
-
Chad Rosier authored
llvm-svn: 165540
-