| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds an instruction itinerary to all x86 instructions, giving each a default latency of 1, using the InstrItinClass IIC_DEFAULT.
Sets specific latencies for Atom for the instructions in files X86InstrCMovSetCC.td, X86InstrArithmetic.td, X86InstrControl.td, and X86InstrShiftRotate.td. The Atom latencies for the remainder of the x86 instructions will be set in subsequent patches.
Adds a test to verify that the scheduler is working.
Also changes the scheduling preference to "Hybrid" for i386 Atom, while leaving x86_64 as ILP.
Patch by Preston Gurd!
llvm-svn: 149558
|
|
|
|
| |
llvm-svn: 149294
|
|
|
|
|
|
|
| |
Add a test that checks the stack alignment of a simple function for
Darwin, Linux and NetBSD for 32bit and 64bit mode.
llvm-svn: 147888
|
|
|
|
|
|
| |
Predicate functions have been altered to maintain previous names and behavior.
llvm-svn: 147770
|
|
|
|
|
|
| |
instructions that were added along with SSE instructions to check for AVX in addition to SSE level.
llvm-svn: 147762
|
|
|
|
| |
llvm-svn: 147348
|
|
|
|
|
|
|
|
|
|
|
|
| |
change, now you need a TargetOptions object to create a TargetMachine. Clang
patch to follow.
One small functionality change in PTX. PTX had commented out the machine
verifier parts in their copy of printAndVerify. That now calls the version in
LLVMTargetMachine. Users of PTX who need verification disabled should rely on
not passing the command-line flag to enable it.
llvm-svn: 145714
|
|
|
|
| |
llvm-svn: 145682
|
|
|
|
|
|
| |
add AVX2 feature flag.
llvm-svn: 143319
|
|
|
|
| |
llvm-svn: 142338
|
|
|
|
|
|
| |
that cpuid leaf 7 can't be queried on versions of Visual Studio earlier than VS 2008 SP1. Fixes PR11147.
llvm-svn: 142177
|
|
|
|
| |
llvm-svn: 142122
|
|
|
|
|
|
| |
function for accessing leafs with sub leafs specified in ECX. Also added code to keep track of the max cpuid level supported in both basic and extended leaves and qualified the existing cpuid calls and the new call to leaf 7.
llvm-svn: 142089
|
|
|
|
|
|
| |
processor which is gcc's name for Haswell.
llvm-svn: 141939
|
|
|
|
| |
llvm-svn: 141651
|
|
|
|
| |
llvm-svn: 141527
|
|
|
|
|
|
| |
disassembler.
llvm-svn: 141505
|
|
|
|
|
|
| |
disassembler. Includes feature flag checking, but no instrinsic support. Fixes PR10832, PR11026 and PR11027.
llvm-svn: 141007
|
|
|
|
|
|
| |
(not assert) early.
llvm-svn: 139233
|
|
|
|
|
|
|
| |
instructions are more aligned than the CPU requires, and adds some additional
directives, to follow in future patches. Patch by David Meyer!
llvm-svn: 139125
|
|
|
|
| |
llvm-svn: 138660
|
|
|
|
|
|
| |
registeration and creation code into XXXMCDesc libraries.
llvm-svn: 135184
|
|
|
|
|
|
|
|
|
|
|
|
| |
and MCSubtargetInfo.
- Added methods to update subtarget features (used when targets automatically
detect subtarget features or switch modes).
- Teach X86Subtarget to update MCSubtargetInfo features bits since the
MCSubtargetInfo layer can be shared with other modules.
- These fixes .code 16 / .code 32 support since mode switch is updated in
MCSubtargetInfo so MC code emitter can do the right thing.
llvm-svn: 134884
|
|
|
|
|
|
| |
unknown x86/non-x86 targets.
llvm-svn: 134773
|
|
|
|
|
|
| |
cmov for 64-bit targets.
llvm-svn: 134768
|
|
|
|
|
|
| |
specified.
llvm-svn: 134757
|
|
|
|
|
|
| |
Clean up all the other hacks which are now unnecessary.
llvm-svn: 134753
|
|
|
|
| |
llvm-svn: 134741
|
|
|
|
|
|
|
|
|
|
| |
- Each target asm parser now creates its own MCSubtatgetInfo (if needed).
- Changed AssemblerPredicate to take subtarget features which tablegen uses
to generate asm matcher subtarget feature queries. e.g.
"ModeThumb,FeatureThumb2" is translated to
"(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0".
llvm-svn: 134678
|
|
|
|
| |
llvm-svn: 134641
|
|
|
|
| |
llvm-svn: 134606
|
|
|
|
| |
llvm-svn: 134281
|
|
|
|
| |
llvm-svn: 134259
|
|
|
|
|
|
|
|
|
| |
itineraries.
- Refactor TargetSubtarget to be based on MCSubtargetInfo.
- Change tablegen generated subtarget info to initialize MCSubtargetInfo
and hide more details from targets.
llvm-svn: 134257
|
|
|
|
|
|
|
|
|
|
| |
be the first encoded as the first feature. It then uses the CPU name to look up
features / scheduling itineray even though clients know full well the CPU name
being used to query these properties.
The fix is to just have the clients explictly pass the CPU name!
llvm-svn: 134127
|
|
|
|
| |
llvm-svn: 133726
|
|
|
|
| |
llvm-svn: 131476
|
|
|
|
|
|
| |
triple component.
llvm-svn: 129838
|
|
|
|
| |
llvm-svn: 129813
|
|
|
|
| |
llvm-svn: 126226
|
|
|
|
| |
llvm-svn: 126130
|
|
|
|
|
|
| |
16 bytes for PR8969. Update all testcases accordingly.
llvm-svn: 123367
|
|
|
|
| |
llvm-svn: 121677
|
|
|
|
|
|
| |
the compiler's point of view. Per email discussion, we either want to always use VEX-prefixed instructions or never use them, and are taking "HasAVX" to mean "Always use VEX". Passing -mattr=-avx,+sse42 should serve to restore legacy SSE support when desirable.
llvm-svn: 121439
|
|
|
|
| |
llvm-svn: 120923
|
|
|
|
| |
llvm-svn: 120298
|
|
|
|
|
|
| |
defaults to small pic code model.
llvm-svn: 111741
|
|
|
|
| |
llvm-svn: 109206
|
|
|
|
| |
llvm-svn: 107625
|
|
|
|
|
|
|
|
|
|
|
| |
symbols as declarations in the X86 backend. This would manifest
on darwin x86-32 as errors like this with -fvisibility=hidden:
symbol '__ZNSbIcED1Ev' can not be undefined in a subtraction expression
This fixes PR7353.
llvm-svn: 105954
|