summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* [X86] Make fxsave64/fxrstor64/xsave64/xsrstor64/xsaveopt64 parseable in AT&T ↵Craig Topper2015-02-033-5/+11
| | | | | | syntax. Also make them the default output. llvm-svn: 227963
* [X86] Add Requires[In64BitMode] around MOVSX64rr32/MOVSX64rm32. This makes ↵Craig Topper2015-02-031-2/+2
| | | | | | it more strictly mutexed with the ARPL instruction 32-bit mode. Helps with some disassembler changes I'm experimenting with. Should be NFC. llvm-svn: 227962
* Only access TLOF via the TargetMachine, not TargetLowering.Eric Christopher2015-02-036-22/+20
| | | | llvm-svn: 227949
* Define a runOnMachineFunction for the Hexagon AsmPrinter andEric Christopher2015-02-032-3/+6
| | | | | | use it to initialize the subtarget. llvm-svn: 227948
* Migrate away from using a Subtarget except for the one place we wantEric Christopher2015-02-031-12/+7
| | | | | | | to use it. Use the triple to determine OS format bits at the module level. llvm-svn: 227947
* [PBQP Regalloc] Pre-spill vregs that have no legal physregs.Lang Hames2015-02-031-26/+57
| | | | | | | | | | | | | The PBQP::RegAlloc::MatrixMetadata class assumes that matrices have at least two rows/columns (for the spill option plus at least one physreg). This patch ensures that that invariant is met by pre-spilling vregs that have no physreg options so that no node (and no corresponding edges) need be added to the PBQP graph. This fixes a bug in an out-of-tree target that was identified by Jonas Paulsson. Thanks for tracking this down Jonas! llvm-svn: 227942
* Resurrect initializers for NumLoads and NumStores in ↵NAKAMURA Takumi2015-02-031-2/+3
| | | | | | | LoopVectorizationLegality to suppress undefined behavior. FIXME: Shall they be managed in LAA? llvm-svn: 227940
* Propagate a better error message to the C api.Rafael Espindola2015-02-031-3/+5
| | | | llvm-svn: 227934
* Use a non-fatal diag handler in the C API. FIxes PR22368.Rafael Espindola2015-02-031-2/+11
| | | | llvm-svn: 227903
* InstrProf: Simplify RawCoverageMappingReader's API slightlyJustin Bogner2015-02-031-7/+9
| | | | | | | | This is still kind of a weird API, but dropping the (partial) update of the passed in CoverageMappingRecord makes it a little easier to understand and use. llvm-svn: 227900
* InstrProf: Simplify some logic by using ArrayRef::slice (NFC)Justin Bogner2015-02-031-1/+1
| | | | llvm-svn: 227898
* Migrate to using the subtarget on the machine function and updateEric Christopher2015-02-021-7/+5
| | | | | | all uses. llvm-svn: 227891
* Use the function template getSubtarget off of the machine function,Eric Christopher2015-02-021-13/+10
| | | | | | and use it in all locations. llvm-svn: 227890
* Use the cached subtarget on the MachineFunction.Eric Christopher2015-02-021-1/+1
| | | | llvm-svn: 227885
* Remove dead header.Eric Christopher2015-02-021-149/+0
| | | | llvm-svn: 227884
* Remove dead code in the HexagonMCInst classes. This also fixesEric Christopher2015-02-021-4/+0
| | | | | | a layering violation in the port and removes calls to getSubtargetImpl. llvm-svn: 227883
* 80-col fixup.Eric Christopher2015-02-021-0/+4
| | | | llvm-svn: 227882
* Remove dead code in the HexagonMCInst classes. This also fixesEric Christopher2015-02-022-15/+0
| | | | | | a layering violation in the port and removes calls to getSubtargetImpl. llvm-svn: 227880
* 80-col fixup.Eric Christopher2015-02-021-1/+3
| | | | llvm-svn: 227879
* Remove unused class variables and update all callers/uses fromEric Christopher2015-02-023-12/+6
| | | | | | | the HexagonSplitTFRCondSet pass. Use the subtarget off the machine function at the same time. llvm-svn: 227878
* Migrate the HexagonSplitConst32AndConst64 pass from TargetMachineEric Christopher2015-02-023-17/+10
| | | | | | | based getSubtarget to the one cached on the MachineFunction. Remove unused class variables and update all callers/uses. llvm-svn: 227874
* Remove #if'd code and update comment.Eric Christopher2015-02-021-5/+2
| | | | llvm-svn: 227873
* Move HexagonMachineScheduler to use the subtarget off of theEric Christopher2015-02-022-14/+9
| | | | | | | MachineFunction and update all uses accordingly including VLIWResourceModel. llvm-svn: 227872
* Cache and use the subtarget that owns the target lowering.Eric Christopher2015-02-023-25/+20
| | | | llvm-svn: 227871
* bpf: Use the getSubtarget call off of the MachineFunction rather than the ↵Alexei Starovoitov2015-02-021-2/+1
| | | | | | | | | | | | | | | | | | | | TargetMachine Summary: Hi Eric, this patch cleans up the layering violation that you're fixing across backends. Anything else I need to fix on bpf backend side? Thanks Reviewers: echristo Reviewed By: echristo Differential Revision: http://reviews.llvm.org/D7355 llvm-svn: 227865
* Resurrect the assertion removed by r227717Jingyue Wu2015-02-023-11/+10
| | | | | | | | | | | | | | Summary: MSVC can compile "LoopID->getOperand(0) == LoopID" when LoopID is MDNode*. Test Plan: no regression Reviewers: mkuper Subscribers: jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D7327 llvm-svn: 227853
* Fix the -Werror build, NFCDuncan P. N. Exon Smith2015-02-021-0/+2
| | | | llvm-svn: 227849
* IR: Allow GenericDebugNode construction from MDStringDuncan P. N. Exon Smith2015-02-021-8/+12
| | | | | | | | | | | | | | | | Allow `GenericDebugNode` construction directly from `MDString`, rather than requiring `StringRef`s. I've refactored the `StringRef` constructors to use these. There's no real functionality change here, except for exposing the lower-level API. The purpose of this is to simplify construction of string operands when reading bitcode. It's unnecessarily indirect to parse an `MDString` ID, lookup the `MDString` in the bitcode reader list, get the `StringRef` out of that, and then have `GenericDebugNode::getImpl()` use `MDString::get()` to acquire the original `MDString`. Instead, this allows the bitcode reader to directly pass in the `MDString`. llvm-svn: 227848
* IR: Separate helpers for string operands, NFCDuncan P. N. Exon Smith2015-02-021-2/+8
| | | | llvm-svn: 227846
* [Orc] Make OrcMCJITReplacement::addObject calls transfer buffer ownership to theLang Hames2015-02-021-2/+7
| | | | | | | | | | | | | | | ObjectLinkingLayer. There are a two of overloads for addObject, one of which transfers ownership of the underlying buffer to OrcMCJITReplacement. This commit makes the ownership transfering version pass ownership down to the ObjectLinkingLayer in order to prevent the issue described in r227778. I think this commit will fix the sanitizer bot failures that necessitated the removal of the load-object-a.ll regression test in r227785, so I'm reinstating that test. llvm-svn: 227845
* Move simple case earlier and use a continue.Rafael Espindola2015-02-021-24/+25
| | | | llvm-svn: 227841
* Migrate HexagonISelDAGToDAG to setting a subtarget pointer duringEric Christopher2015-02-023-44/+43
| | | | | | runOnMachineFunction. Update all uses of the Subtarget accordingly. llvm-svn: 227840
* Use the getSubtarget call off of the MachineFunction rather thanEric Christopher2015-02-021-7/+5
| | | | | | the TargetMachine. llvm-svn: 227839
* Remove unused class variables and update calls to get the subtargetEric Christopher2015-02-021-11/+3
| | | | | | off of the machine function. llvm-svn: 227837
* Sink queries into asserts since the variable is unused otherwise.Eric Christopher2015-02-021-3/+2
| | | | llvm-svn: 227836
* IR: Split out DebugInfoMetadata.h, NFCDuncan P. N. Exon Smith2015-02-029-105/+154
| | | | | | | | | Move debug-info-centred `Metadata` subclasses into their own header/source file. A couple of private template functions are needed from both `Metadata.cpp` and `DebugInfoMetadata.cpp`, so I've moved them to `lib/IR/MetadataImpl.h`. llvm-svn: 227835
* Update CMake build for removed files.Eric Christopher2015-02-021-1/+0
| | | | llvm-svn: 227834
* Get TargetRegisterInfo and TargetInstrInfo off of the MachineFunctionEric Christopher2015-02-023-20/+12
| | | | | | and remove unnecessary class variables. llvm-svn: 227832
* Use the function template getSubtarget to remove an explicit cast.Eric Christopher2015-02-021-1/+1
| | | | llvm-svn: 227831
* Grab TargetInstrInfo off of the MachineFunction and removeEric Christopher2015-02-023-13/+8
| | | | | | unnecessary class variables. llvm-svn: 227830
* Remove unused files.Eric Christopher2015-02-022-393/+0
| | | | llvm-svn: 227829
* Debug Info: Relax assertion in isUnsignedDIType() to allow floats to beAdrian Prantl2015-02-021-0/+1
| | | | | | | | | | | | | | | described by integer constants. This is a bit ugly, but if the source language allows arbitrary type casting, the debug info must follow suit. For example: void foo() { float a; *(int *)&a = 0; } For the curious: SROA replaces the float alloca with an i32 alloca, which is then optimized away and described via dbg.value(i32 0, ...). llvm-svn: 227827
* Fix some file headers, NFCDuncan P. N. Exon Smith2015-02-021-1/+1
| | | | llvm-svn: 227826
* R600/SI: 64-bit and larger memory access must be at least 4-byte alignedTom Stellard2015-02-021-4/+4
| | | | | | | | This is true for SI only. CI+ supports unaligned memory accesses, but this requires driver support, so for now we disallow unaligned accesses for all GCN targets. llvm-svn: 227822
* [AArch64] Prefer DUP/MOV ("CPY") to INS for vector_extract.Ahmed Bougacha2015-02-021-14/+6
| | | | | | | | | This avoids a partial false dependency on the previous content of the upper lanes of the destination vector register. Differential Revision: http://reviews.llvm.org/D7307 llvm-svn: 227820
* Since TargetLowering is already subtarget dependent just passEric Christopher2015-02-023-12/+9
| | | | | | | in the subtarget and stash it in the class so that lookups are easier and safer. llvm-svn: 227819
* Use the function template getSubtarget on the MachineFunctionEric Christopher2015-02-021-6/+3
| | | | | | rather than a larger explicit cast. llvm-svn: 227818
* Remove unused class variable.Eric Christopher2015-02-021-3/+1
| | | | llvm-svn: 227817
* Remove unused class variable.Eric Christopher2015-02-021-3/+1
| | | | llvm-svn: 227816
* Reuse a bunch of cached subtargets and remove getSubtarget callsEric Christopher2015-02-0211-199/+147
| | | | | | without a Function argument. llvm-svn: 227814
OpenPOWER on IntegriCloud