- Jan 08, 2014
-
-
Chandler Carruth authored
having the include could cause weird layering problems between the IR and MC libraries. llvm-svn: 198796
-
Hal Finkel authored
MIsNeedChainEdge, which is used by -enable-aa-sched-mi (AA in misched), had an llvm_unreachable when -enable-aa-sched-mi is enabled and we reach an instruction with multiple MMOs. Instead, return a conservative answer. This allows testing -enable-aa-sched-mi on x86. Also, this moves the check above the isUnsafeMemoryObject checks. isUnsafeMemoryObject is currently correct only for instructions with one MMO (as noted in the comment in isUnsafeMemoryObject): // We purposefully do no check for hasOneMemOperand() here // in hope to trigger an assert downstream in order to // finish implementation. The problem with this is that, had the candidate edge passed the "!MIa->mayStore() && !MIb->mayStore()" check, the hoped-for assert would never happen (which could, in theory, lead to incorrect behavior if one of these secondary MMOs was volatile, for example). llvm-svn: 198795
-
Matt Arsenault authored
llvm-svn: 198794
-
Matt Arsenault authored
This matches std::set and allows using DenseSet with the functions in SetOperations.h llvm-svn: 198793
-
Rafael Espindola authored
ErrorOr is modeled after boost::optional which has a get method. llvm-svn: 198792
-
Ana Pazos authored
llvm-svn: 198791
-
Roman Divacky authored
resolution works. llvm-svn: 198780
-
David Woodhouse authored
It's not a real instruction any more and doesn't need encoding information. llvm-svn: 198778
-
Andrea Di Biagio authored
to the following two rules: 1) fold (vselect (build_vector AllOnes), A, B) -> A 2) fold (vselect (build_vector AllZeros), A, B) -> B llvm-svn: 198777
-
Rafael Espindola authored
No idea how this was compiling locally. Found by the bots. llvm-svn: 198775
-
Rafael Espindola authored
These private functions return pointers to the internal storage. llvm-svn: 198774
-
Lang Hames authored
llvm-svn: 198772
-
Nico Rieck authored
llvm-svn: 198771
-
Richard Sandiford authored
No functional change intended. llvm-svn: 198768
-
Alp Toker authored
Python doesn't do a good job at diagnosing string exec() so use execfile() where available. This should be a timesaver when trying to get to the bottom of build bot failures. Before: File "llvm/utils/lit/lit/TestingConfig.py", line 93, in load_from_path exec("exec data in cfg_globals") File "<string>", line 1, in <module> File "<string>", line 194, in <module> NameError: name 'typo' is not defined After: File "llvm/utils/lit/lit/TestingConfig.py", line 95, in load_from_path execfile(path, cfg_globals) File "clang/test/lit.cfg", line 194, in <module> typo ^~~~ NameError: name 'typo' is not defined llvm-svn: 198766
-
David Woodhouse authored
llvm-svn: 198763
-
David Woodhouse authored
Mark them as requiring 16-bit mode for now, since we don't yet have relaxation support for FK_Data_2. llvm-svn: 198762
-
David Woodhouse authored
They do *different* things to %esp, so they are not equivalent. Rename PUSHi8 to PUSH32i8 and add the missing PUSH16i8. llvm-svn: 198761
-
David Woodhouse authored
We can't do a perfect job here. We *have* to allow (%dx) even in 64-bit mode, for example, because it might be used for an unofficial form of the in/out instructions. We actually want to do a better job of validation *later*. Perhaps *instead* of doing it where we are at the moment. But for now, doing what validation we *can* do in the place that the code already has its validation, is an improvement. llvm-svn: 198760
-
David Woodhouse authored
It seems there is no separate instruction class for having AdSize *and* OpSize bits set, which is required in order to disambiguate between all these instructions. So add that to the disassembler. Hm, perhaps we do need an AdSize16 bit after all? llvm-svn: 198759
-
David Woodhouse authored
Where "where possible" means that it's an immediate value and it's below 0x10000. In fact GAS will either truncate or error with larger values, and will insist on using the addr32 prefix to get 32-bit addressing. So perhaps we should do that, in a later patch. llvm-svn: 198758
-
David Woodhouse authored
JCXZ should have the 0x67 prefix only if we're in 32-bit mode, so make that appropriately conditional. And JECXZ needs the prefix instead. llvm-svn: 198757
-
David Woodhouse authored
I couldn't see how to do this sanely without splitting RETQ from RETL. Eric says: "sad about the inability to roundtrip them now, but...". I have no idea what that means, but perhaps it wants preserving in the commit comment. llvm-svn: 198756
-
David Woodhouse authored
llvm-svn: 198755
-
David Woodhouse authored
llvm-svn: 198754
-
David Woodhouse authored
llvm-svn: 198753
-
David Woodhouse authored
This fixes the bulk of 16-bit output, and the corresponding test case x86-16.s now looks mostly like the x86-32.s test case that it was originally based on. A few irrelevant instructions have been dropped, and there are still some corner cases to be fixed in subsequent patches. llvm-svn: 198752
-
Rafael Espindola authored
With a current mingw (gcc 4.8.1) it looks like we hit some variation of http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40278 The end result is that off_t is not defined and the build fails without this patch. llvm-svn: 198749
-
Alp Toker authored
This is needed to support the addition of tests for clang loadable plugins. In clang, plugins are built as modules (bundles on OS X) rather than dynamic libraries (dylib) so the build system needs to inform lit of the actual file extension in use, typically '.so' on Unix and '.dll' on Windows. (LLVM itself should probably switch to this scheme to fix PR14903 once and for all.) No change in build output or functionality intended. llvm-svn: 198746
-
Elena Demikhovsky authored
llvm-svn: 198745
-
Iain Sandoe authored
Modern versions of OSX/Darwin's ld (ld64 > 97.17) have an optimisation present that allows the back end to omit relocations (and replace them with an absolute difference) for FDE some text section refs. This patch allows a backend to opt-in to this behaviour by setting "DwarfFDESymbolsUseAbsDiff". At present, this is only enabled for modern x86 OSX ports. test changes by David Fang. llvm-svn: 198744
-
Kevin Qin authored
when lower build_vector if result value type mismatch with operand value type. llvm-svn: 198743
-
Venkatraman Govindaraju authored
llvm-svn: 198740
-
Venkatraman Govindaraju authored
llvm-svn: 198739
-
Venkatraman Govindaraju authored
llvm-svn: 198738
-
Lang Hames authored
I believe the bot failures on linux systems were due to overestimating the alignment of object-files within archives, which are only guaranteed to be two-byte aligned. I have reduced the alignment in RuntimeDyldELF::createObjectImageFromFile accordingly. llvm-svn: 198737
-
Saleem Abdulrasool authored
Appease the buildbots for targets which do not build the ARM support by moving the ARM specific test into a subdirectory and use the lit configuration to disable them appropriately. Thanks to chapuni and thakis for explaining how to do this! llvm-svn: 198736
-
Saleem Abdulrasool authored
Operands which involved label arithemetic would previously fail to parse. This corrects that by adding the additional case for the shift operand validation. llvm-svn: 198735
-
Saleem Abdulrasool authored
This adds some preliminary support for decoding ARM EHABI unwinding information. The major functionality that remains from complete support is bytecode translation. Each Unwind Index Table is printed out as a separate entity along with its section index, name, offset, and entries. Each entry lists the function address, and if possible, the name, of the function to which it corresponds. The encoding model, personality routine or index, and byte code is also listed. llvm-svn: 198734
-
Hao Liu authored
Fix a bug about generating undef operand when optimising shuffle vector and insert element in instruction combine. llvm-svn: 198730
-