- Oct 10, 2012
-
-
Sean Silva authored
llvm-svn: 165652
-
Sean Silva authored
TableGen no longer needs RTTI! llvm-svn: 165651
-
Sean Silva authored
Also, some minor cleanup. llvm-svn: 165647
-
Sean Silva authored
Some of these dyn_cast<>'s would be better phrased as isa<> or cast<>. That will happen in a future patch. There are also two dyn_cast_or_null<>'s slipped in instead of dyn_cast<>'s, since they were causing crashes with just dyn_cast<>. llvm-svn: 165646
-
Michael Liao authored
- Due to the current matching vector elements constraints in ISD::FP_ROUND, rounding from v2f64 to v4f32 (after legalization from v2f32) is scalarized. Add a customized v2f32 widening to convert it into a target-specific X86ISD::VFPROUND to work around this constraints. llvm-svn: 165631
-
Michael Liao authored
- Due to the current matching vector elements constraints in ISD::FP_EXTEND, rounding from v2f32 to v2f64 is scalarized. Add a customized v2f32 widening to convert it into a target-specific X86ISD::VFPEXT to work around this constraints. This patch also reverts a previous attempt to fix this issue by recovering the scalarized ISD::FP_EXTEND pattern and thus significantly reduces the overhead of supporting non-power-2 vector FP extend. llvm-svn: 165625
-
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
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: 165601
-
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
-
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
-
-
Andrew Trick authored
llvm-svn: 165566
-
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
-
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
-
- 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
-
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
-
Bill Wendling authored
llvm-svn: 165539
-
Rafael Espindola authored
the test. llvm-svn: 165535
-
Bill Wendling authored
llvm-svn: 165530
-
Sean Silva authored
llvm-svn: 165511
-
Michael Ilseman authored
Update EarlyCSE's SimpleValues to use Hashing.h for their hashes. Expanded the hashing and equality to allow for equality modulo commutativity for binary ops, and comparisons with swapping of predicates. llvm-svn: 165509
-
David Chisnall authored
- Teach it about dadd[i] instructions and move pseudo-instruction - Make it parse the register names correctly (for N32 / N64) llvm-svn: 165506
-