- Dec 30, 2011
-
-
Craig Topper authored
llvm-svn: 147368
-
Craig Topper authored
llvm-svn: 147367
-
Craig Topper authored
Separate the concept of having memory access in operand 4 from the concept of having the W bit set for XOP instructons. Removes ORing W-bits in the encoder and will similarly simplify the disassembler implementation. llvm-svn: 147366
-
Craig Topper authored
llvm-svn: 147365
-
Craig Topper authored
llvm-svn: 147364
-
Rafael Espindola authored
llvm-svn: 147363
-
Rafael Espindola authored
llvm-svn: 147362
-
Craig Topper authored
Change FMA4 memory forms to use memopv* instead of alignedloadv*. No need to force alignment on these instructions. Add a couple testcases for memory forms. llvm-svn: 147361
-
Craig Topper authored
Fix load size for FMA4 SS/SD instructions. They need to use f32 and f64 size, but with the special handling to be compatible with the intrinsic expecting a vector. Similar handling is already used elsewhere. llvm-svn: 147360
-
Hal Finkel authored
1. The ST*UX instructions that store and update the stack pointer did not set define/kill on R1. This became a problem when I activated post-RA scheduling (and had incorrectly adjusted the Frames-large test). 2. eliminateFrameIndex did not kill its scavenged temporary register, and this could cause the scavenger to exhaust all available registers (and its emergency spill slot) when there were a lot of CR values to spill. The 2010-02-12-saveCR test has been adjusted to check for this. llvm-svn: 147359
-
rdar://problem/10368163Greg Clayton authored
Watch for empty symbol tables by doing a lot more error checking on all mach-o symbol table load command values and data that is obtained. This avoids a crash that was happening when there was no string table. llvm-svn: 147358
-
- Dec 29, 2011
-
-
Richard Smith authored
'is an extension'. The former is inappropriate and confusing when building with -Werror/-pedantic-errors. llvm-svn: 147357
-
Rafael Espindola authored
llvm-svn: 147356
-
Richard Smith authored
llvm-svn: 147355
-
Rafael Espindola authored
llvm-svn: 147354
-
Craig Topper authored
llvm-svn: 147353
-
Rafael Espindola authored
llvm-svn: 147352
-
Craig Topper authored
llvm-svn: 147351
-
rdar://problem/10551280Greg Clayton authored
Fixed a crasher that can occur when parsing invalid DWARF. llvm-svn: 147350
-
Craig Topper authored
Make FMA3 imply AVX needs to be enabled. Particularly because 256-bit types aren't valid unless AVX is enabled. llvm-svn: 147349
-
Craig Topper authored
llvm-svn: 147348
-
Craig Topper authored
llvm-svn: 147347
-
Alexis Hunt authored
pointing this out. llvm-svn: 147346
-
Craig Topper authored
Mark non-VEX forms of PCLMUL instructions as requiring SSE2 to be enabled along with CLMUL. That's required for the XMM registers to be valid for integer data. Doesn't change any behavior since the CLMUL instructions don't have patterns yet. llvm-svn: 147345
-
Craig Topper authored
Mark non-VEX forms of AES instructions as requiring SSE2 to be enabled along with AES. Since that's required for the XMM registers to be valid for integer data. Doesn't change any behavior though since you can't use an intrinsic with an illegal type anyway. Just makes it consistent with the VEX forms. llvm-svn: 147344
-
Howard Hinnant authored
The exception recovery mechanism for the uninitialized_* algorithms did not work for iterators into discontiguous memory. llvm-svn: 147343
-
Craig Topper authored
Remove the separate explicit AES instruction patterns. They are equivalent to the patterns specified by the instructions. Also remove unnecessary bitconverts from the AES patterns. llvm-svn: 147342
-
Kostya Serebryany authored
llvm-svn: 147341
-
Craig Topper authored
Add popcnt feature flag to match gcc. This flag is implied when sse42 is enabled, but can be disabled separately. Move popcnt intrinsics to popcntintrin.h to match gcc. llvm-svn: 147340
-
Craig Topper authored
Make SSE42 and SSE4A not imply POPCNT. POPCNT should be able to be disabled on its own without disabling SSE4.2 or SSE4A. llvm-svn: 147339
-
Rafael Espindola authored
llvm-svn: 147338
-
Craig Topper authored
llvm-svn: 147337
-
Craig Topper authored
llvm-svn: 147336
-
Craig Topper authored
Remove trailing spaces. Fix an assert to use && instead of || before string. Add same assert on similar code path. llvm-svn: 147335
-
rdar://problem/10568905Greg Clayton authored
Fixed an issue where our new accelerator tables could cause a crash when we got a full 32 bit hash match, yet a C string mismatch. We had a member variable in DWARFMappedHash::Prologue named "min_hash_data_byte_size" the would compute the byte size of HashData so we could skip hash data efficiently. It started out with a byte size value of 4. When we read the table in from disk, we would clear the atom array and read it from disk, and the byte size would still be set to 4. We would then, as we read each atom from disk, increment this count. So the byte size of the HashData was off, which means when we get a lookup whose 32 bit hash does matches, but the C string does NOT match (which is very very rare), then we try and skip the data for that hash and we would add an incorrect offset and get off in our parsing of the hash data and cause this crash. To fix this I added a few safeguards: 1 - I now correctly clear the hash data size when we reset the atom array using the new DWARFMappedHash::Prologue::ClearAtoms() function. 2 - I now correctly always let the AppendAtom() calculate the byte size of the hash (before we were doing things manually some times, which was correct, but not good) 3 - I also track if the size of each HashData is a fixed byte size or not, and "do the right thing" when we need to skip the data. 4 - If we do get off in the weeds, then I make sure to return an error and stop any further parsing from happening. llvm-svn: 147334
-
Rafael Espindola authored
llvm-svn: 147333
-
rdar://problem/10546739Greg Clayton authored
Fixed SBValue::GetValueAsUnsigned() and SBValue::GetValueAsSigned() calls to work for bitfields. llvm-svn: 147332
-
DeLesley Hutchins authored
llvm-svn: 147331
-
Greg Clayton authored
llvm-svn: 147330
-
Kostya Serebryany authored
llvm-svn: 147329
-