- Jul 28, 2013
-
-
Elena Demikhovsky authored
Added 512-bit operands printing. Added instruction formats for KNL instructions. llvm-svn: 187324
-
- Jul 27, 2013
-
-
Rafael Espindola authored
llvm-svn: 187271
-
Rafael Espindola authored
llvm-svn: 187268
-
Rafael Espindola authored
This change makes test with RUN lines like RUN: opt ... | FileCheck fail if opt fails, even if it prints what FileCheck wants. Enabling this found some interesting cases of broken tests that were not being noticed because opt (or some other tool) was crashing late. Pipefail is used when the shell supports it or when using the internal python based tester. llvm-svn: 187261
-
- Jul 26, 2013
-
-
Aaron Ballman authored
Using a different loop induction variable than the enclosing scope. No functional changes intended. llvm-svn: 187159
-
- Jul 25, 2013
-
-
Justin Holewinski authored
Fix a bug in TableGen where the intrinsic function name recognizer could mis-identify names if one was a prefix substring of the other For two intrinsics 'llvm.nvvm.texsurf.handle' and 'llvm.nvvm.texsurf.handle.internal', TableGen was emitting matching code like: if (Name.startswith("llvm.nvvm.texsurf.handle")) ... if (Name.startswith("llvm.nvvm.texsurf.handle.internal")) ... We can never match "llvm.nvvm.texsurf.handle.internal" here because it will always be erroneously matched by the first condition. The fix is to sort the intrinsic names and emit them in reverse order. llvm-svn: 187119
-
Andrew Trick authored
This lets heuristics easily pick the most important set to follow. llvm-svn: 187108
-
- Jul 24, 2013
-
-
Craig Topper authored
This removes the need to store the asm variant in each row of the single table that existed before. Shaves ~16K off the size of X86AsmParser.o. llvm-svn: 187026
-
- Jul 23, 2013
-
-
Craig Topper authored
llvm-svn: 186929
-
Craig Topper authored
llvm-svn: 186928
-
- Jul 19, 2013
-
-
Nico Rieck authored
The current machinery using KeyboardInterrupt for canceling doesn't work with multiple threads on Windows as it just cancels the currently run tests but the runners continue. We install a handler for Ctrl-C which stops the provider from providing any more tests to the runners. Together with aborting all currently running tests, this brings lit to a halt. llvm-svn: 186695
-
- Jul 16, 2013
-
-
Rafael Espindola authored
This centralizes the handling of O_BINARY and opens the way for hiding more differences (like how open behaves with directories). llvm-svn: 186447
-
Vladimir Medic authored
This patch allows targets to define weather the instruction mnemonics in asm matcher tables will contain '.' character. llvm-svn: 186388
-
- Jul 15, 2013
-
-
Aaron Ballman authored
llvm-svn: 186330
-
Craig Topper authored
llvm-svn: 186312
-
- Jul 14, 2013
-
-
Craig Topper authored
llvm-svn: 186274
-
- Jul 12, 2013
-
-
Stephen Lin authored
CHECK-LABEL is meant to be used in place on CHECK on lines containing identifiers or other unique labels (they need not actually be labels in the source or output language, though.) This is used to break up the input stream into separate blocks delineated by CHECK-LABEL lines, each of which is checked independently. This greatly improves the accuracy of errors and fix-it hints in many cases, and allows for FileCheck to recover from errors in one block by continuing to subsequent blocks. Some tests will be converted to use this new directive in forthcoming patches. llvm-svn: 186162
-
Charles Davis authored
Summary: This patch adds explicit calling convention types for the Win64 and System V/x86-64 ABIs. This allows code to override the default, and use the Win64 convention on a target that wants to use SysV (and vice-versa). This is needed to implement the `ms_abi` and `sysv_abi` GNU attributes. Reviewers: CC: llvm-svn: 186144
-
- Jul 10, 2013
-
-
Duncan Sands authored
llvm-svn: 185987
-
- Jul 06, 2013
-
-
Nick Lewycky authored
functions. Make the function attributes pass add it to known library functions and when it can deduce it. llvm-svn: 185735
-
- Jul 05, 2013
-
-
Rafael Espindola authored
Now the two possible uses of not are * not cmd Will return true if cmd doesn't crash and returns false. * not --crash cmd Will return true if cmd crashes. It will be used/tested in a followup commit for the clang crash recovery testing. llvm-svn: 185678
-
- Jul 04, 2013
-
-
Craig Topper authored
Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. llvm-svn: 185606
-
- Jun 27, 2013
-
-
Chad Rosier authored
algorithm when assigning EnumValues to the synthesized registers. The current algorithm, LessRecord, uses the StringRef compare_numeric function. This function compares strings, while handling embedded numbers. For example, the R600 backend registers are sorted as follows: T1 T1_W T1_X T1_XYZW T1_Y T1_Z T2 T2_W T2_X T2_XYZW T2_Y T2_Z In this example, the 'scaling factor' is dEnum/dN = 6 because T0, T1, T2 have an EnumValue offset of 6 from one another. However, in other parts of the register bank, the scaling factors are different: dEnum/dN = 5: KC0_128_W KC0_128_X KC0_128_XYZW KC0_128_Y KC0_128_Z KC0_129_W KC0_129_X KC0_129_XYZW KC0_129_Y KC0_129_Z The diff lists do not work correctly because different kinds of registers have different 'scaling factors'. This new algorithm, LessRecordRegister, tries to enforce a scaling factor of 1. For example, the registers are now sorted as follows: T1 T2 T3 ... T0_W T1_W T2_W ... T0_X T1_X T2_X ... KC0_128_W KC0_129_W KC0_130_W ... For the Mips and R600 I see a 19% and 6% reduction in size, respectively. I did see a few small regressions, but the differences were on the order of a few bytes (e.g., AArch64 was 16 bytes). I suspect there will be even greater wins for targets with larger register files. Patch reviewed by Jakob. rdar://14006013 llvm-svn: 185094
-
- Jun 25, 2013
-
-
Tom Stellard authored
This patch modifies TableGen to generate a function in ${TARGET}GenInstrInfo.inc called getNamedOperandIdx(), which can be used to look up indices for operands based on their names. In order to activate this feature for an instruction, you must set the UseNamedOperandTable bit. For example, if you have an instruction like: def ADD : TargetInstr <(outs GPR:$dst), (ins GPR:$src0, GPR:$src1)>; You can look up the operand indices using the new function, like this: Target::getNamedOperandIdx(Target::ADD, Target::OpName::dst) => 0 Target::getNamedOperandIdx(Target::ADD, Target::OpName::src0) => 1 Target::getNamedOperandIdx(Target::ADD, Target::OpName::src1) => 2 The operand names are case sensitive, so $dst and $DST are considered different operands. This change is useful for R600 which has instructions with a large number of operands, many of which model single bit instruction configuration values. These configuration bits are common across most instructions, but may have a different operand index depending on the instruction type. It is useful to have a convenient way to look up the operand indices, so these bits can be generically set on any instruction. llvm-svn: 184879
-
Rafael Espindola authored
llvm-svn: 184826
-
- Jun 18, 2013
-
-
Stefanus Du Toit authored
For decoding, keep the current behavior of always decoding these as their REP versions. In the future, this could be improved to recognize the cases where these behave as XACQUIRE and XRELEASE and decode them as such. llvm-svn: 184207
-
-
- Jun 15, 2013
-
-
Andrew Trick authored
And add Sandybridge/Haswell resource buffers. llvm-svn: 184034
-
Andrew Trick authored
Replace the ill-defined MinLatency and ILPWindow properties with with straightforward buffer sizes: MCSchedMode::MicroOpBufferSize MCProcResourceDesc::BufferSize These can be used to more precisely model instruction execution if desired. Disabled some misched tests temporarily. They'll be reenabled in a few commits. llvm-svn: 184032
-
- Jun 13, 2013
-
-
Rafael Espindola authored
llvm-svn: 183941
-
Rafael Espindola authored
llvm-svn: 183940
-
Rafael Espindola authored
llvm-svn: 183928
-
- Jun 12, 2013
-
-
Rafael Espindola authored
It was only used to implement ExecuteAndWait and ExecuteNoWait. Expose just those two functions and make Execute and Wait implementations details. llvm-svn: 183864
-
- Jun 10, 2013
-
-
Benjamin Kramer authored
llvm-svn: 183690
-
- Jun 09, 2013
-
-
Benjamin Kramer authored
PR16281. llvm-svn: 183630
-
- Jun 07, 2013
-
-
Bill Wendling authored
llvm-svn: 183509
-
Bill Wendling authored
llvm-svn: 183508
-
Arnold Schwaighofer authored
llvm-svn: 183465
-
Arnold Schwaighofer authored
The element passed to push_back is not copied before the vector reallocates. The client needs to copy the element first before passing it to push_back. No test case, will be tested by follow-up swift scheduler model change (it segfaults without this change). llvm-svn: 183459
-
- Jun 06, 2013
-
-
Jakub Staszak authored
llvm-svn: 183426
-