- Jun 27, 2009
-
-
Chris Lattner authored
implementation primarily differs from the former in that the asmprinter doesn't make a zillion decisions about whether or not something will be RIP relative or not. Instead, those decisions are made by isel lowering and propagated through to the asm printer. To achieve this, we: 1. Represent RIP relative addresses by setting the base of the X86 addr mode to X86::RIP. 2. When ISel Lowering decides that it is safe to use RIP, it lowers to X86ISD::WrapperRIP. When it is unsafe to use RIP, it lowers to X86ISD::Wrapper as before. 3. This removes isRIPRel from X86ISelAddressMode, representing it with a basereg of RIP instead. 4. The addressing mode matching logic in isel is greatly simplified. 5. The asmprinter is greatly simplified, notably the "NotRIPRel" predicate passed through various printoperand routines is gone now. 6. The various symbol printing routines in asmprinter now no longer infer when to emit (%rip), they just print the symbol. I think this is a big improvement over the previous situation. It does have two small caveats though: 1. I implemented a horrible "no-rip" modifier for the inline asm "P" constraint modifier. This is a short term hack, there is a much better, but more involved, solution. 2. I had to xfail an -aggressive-remat testcase because it isn't handling the use of RIP in the constant-pool reading instruction. This specific test is easy to fix without -aggressive-remat, which I intend to do next. llvm-svn: 74372
-
Chris Lattner authored
llvm-svn: 74366
-
David Greene authored
Add feature flags for AVX and FMA and fix some SSE4A feature flag initialization problems. llvm-svn: 74350
-
Evan Cheng authored
Add x86 support for 'n' inline asm modifier. This will be handled target independently as part of MC work. llvm-svn: 74336
-
- Jun 26, 2009
-
-
Chris Lattner authored
llvm-svn: 74334
-
Chris Lattner authored
llvm-svn: 74328
-
Chris Lattner authored
llvm-svn: 74327
-
Chris Lattner authored
llvm-svn: 74326
-
Chris Lattner authored
llvm-svn: 74316
-
Chris Lattner authored
llvm-svn: 74313
-
Chris Lattner authored
llvm-svn: 74310
-
Chris Lattner authored
llvm-svn: 74275
-
Chris Lattner authored
llvm-svn: 74272
-
Devang Patel authored
llvm-svn: 74255
-
Chris Lattner authored
llvm-svn: 74246
-
- Jun 25, 2009
-
-
Chris Lattner authored
llvm-svn: 74186
-
Chris Lattner authored
from the asmprinter. llvm-svn: 74184
-
Chris Lattner authored
llvm-svn: 74183
-
Douglas Gregor authored
llvm-svn: 74161
-
Chris Lattner authored
llvm-svn: 74154
-
Devang Patel authored
No need to code gen MDNodes llvm-svn: 74150
-
- Jun 24, 2009
-
-
Chris Lattner authored
picbase instead of inlining it. llvm-svn: 74111
-
Chris Lattner authored
llvm-svn: 74105
-
Chris Lattner authored
llvm-svn: 74101
-
Chris Lattner authored
llvm-svn: 74097
-
Chris Lattner authored
a bunch of code from all the targets, and eliminates nondeterministic ordering of directives being emitted in the output. llvm-svn: 74096
-
Chris Lattner authored
llvm-svn: 74094
-
Chris Lattner authored
gv and hiddengv stub printing. llvm-svn: 74093
-
Chris Lattner authored
llvm-svn: 74092
-
Chris Lattner authored
llvm-svn: 74091
-
Chris Lattner authored
decorateName like other stuff instead of special casing _. Also, stick it into GVStubs and let the normal stub printer print the stub instead of doing it manually. llvm-svn: 74090
-
Chris Lattner authored
llvm-svn: 74089
-
Chris Lattner authored
llvm-svn: 74067
-
Chris Lattner authored
llvm-svn: 74066
-
Bob Wilson authored
C bindings. Change all the backend "Initialize" functions to have C linkage. Change the "llvm/Config/Targets.def" header to use C-style comments to avoid compile warnings. llvm-svn: 74026
-
Sean Callanan authored
llvm-svn: 74022
-
- Jun 23, 2009
-
-
Bill Wendling authored
instructions, which implies that there is an explicit memory operand. There is (however) no explicit memory operand; although this is a store, the only memory operand is implicit, indicated by DS:EDI. This causes the table-generation code for the disassembler to report an error." Patch by Sean Callanan! llvm-svn: 73989
-
Douglas Gregor authored
cleans up the CMake-based build system a bit. Started by a patch from Xerxes Rånby. llvm-svn: 73969
-
- Jun 22, 2009
-
-
Bruno Cardoso Lopes authored
Support for .text relocations, implementing TargetELFWriter overloaded methods for x86/x86_64. Use a map to track global values to their symbol table indexes Code cleanup and small fixes llvm-svn: 73894
-
- Jun 21, 2009
-
-
Rafael Espindola authored
Handle FpSET_ST0_80 being used when ST0 is still alive. llvm-svn: 73850
-